Views
No views yet
| 评估维度 | 评分 | 详细说明 |
|---|---|---|
| 法律知识准确性 | ⭐⭐⭐⭐⭐ (5/5) | 基础法律概念理解准确,能够提供符合中国法律体系的专业回答,在测试集上准确率达92% |
| 回答专业性 | ⭐⭐⭐⭐☆ (4.5/5) | 回答专业性强,善于使用编号和分点说明,逻辑清晰,但偶尔存在过度解释现象 |
| 训练充分性 | ⭐⭐⭐⭐⭐ (5/5) | 损失曲线显示模型训练充分,验证损失稳定,无过拟合迹象 |
| 通用对话能力 | ⭐⭐⭐☆☆ (3.5/5) | 作为法律专用模型表现良好,专注于法律领域,通用能力有所取舍 |
| 实用性 | ⭐⭐⭐⭐☆ (4/5) | 适合作为法律咨询辅助工具,具备实际应用价值,响应时间控制在1-3秒内 |
1# 基础依赖
2pip install transformers torch accelerate
3
4# 可选:用于更高效推理
5pip install bitsandbytes1from transformers import AutoTokenizer, AutoModelForCausalLM
2import torch
3
4# 加载模型
5tokenizer = AutoTokenizer.from_pretrained(
6 "GuoLai806/GuoLai-Law-Model",
7 trust_remote_code=True
8)
9model = AutoModelForCausalLM.from_pretrained(
10 "GuoLai806/GuoLai-Law-Model",
11 torch_dtype=torch.float16,
12 device_map="auto"
13)
14
15# 法律咨询函数
16def legal_consultation(question):
17 """专业的法律咨询函数"""
18 system_prompt = """你是一个专业的法律顾问助手,由GuoLai开发。
19你的特点:
20- 专业知识:熟悉中国法律体系,能够提供专业的法律咨询
21- 回答风格:详细、准确、有条理,提供完整的法律分析
22- 法律依据:引用相关法律条文,提供具体的法律建议
23
24当用户咨询法律问题时,你应该:
251. 首先理解用户的问题和情境
262. 分析涉及的法律领域和可能的法律条文
273. 提供清晰、准确的法律建议
284. 必要时分点说明,确保回答的条理性"""
29
30 messages = [
31 {"role": "system", "content": system_prompt},
32 {"role": "user", "content": question}
33 ]
34
35 # 应用聊天模板
36 inputs = tokenizer.apply_chat_template(
37 messages,
38 tokenize=False,
39 add_generation_prompt=True
40 )
41
42 inputs = tokenizer(inputs, return_tensors="pt").to(model.device)
43
44 # 生成回答
45 with torch.no_grad():
46 outputs = model.generate(
47 **inputs,
48 max_new_tokens=512,
49 temperature=0.7,
50 do_sample=True,
51 pad_token_id=tokenizer.eos_token_id
52 )
53
54 response = tokenizer.decode(outputs[0], skip_special_tokens=True)
55 # 提取模型回答部分
56 return response.split("assistant\n")[-1] if "assistant\n" in response else response
57
58# 使用示例
59question = "民法典是什么?请详细说明其内容和意义。"
60answer = legal_consultation(question)
61print("问题:", question)
62print("回答:", answer)1from transformers import TextStreamer
2
3# 创建流式输出器
4streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
5
6def stream_legal_consultation(question):
7 """流式法律咨询"""
8 messages = [
9 {"role": "system", "content": "你是一个专业的法律顾问助手。"},
10 {"role": "user", "content": question}
11 ]
12
13 inputs = tokenizer.apply_chat_template(
14 messages, tokenize=False, add_generation_prompt=True
15 )
16 inputs = tokenizer(inputs, return_tensors="pt").to(model.device)
17
18 _ = model.generate(
19 **inputs,
20 max_new_tokens=512,
21 streamer=streamer,
22 temperature=0.7
23 )1# 最低配置要求:8GB GPU内存或16GB CPU内存
2model = AutoModelForCausalLM.from_pretrained(
3 "GuoLai806/GuoLai-Law-Model",
4 torch_dtype=torch.float16,
5 device_map="auto"
6)1from transformers import BitsAndBytesConfig
2
3quantization_config = BitsAndBytesConfig(
4 load_in_4bit=True,
5 bnb_4bit_quant_type="nf4",
6 bnb_4bit_compute_dtype=torch.float16
7)
8
9model = AutoModelForCausalLM.from_pretrained(
10 "GuoLai806/GuoLai-Law-Model",
11 quantization_config=quantization_config,
12 device_map="auto"
13)1from fastapi import FastAPI
2from pydantic import BaseModel
3
4app = FastAPI(title="GuoLai法律顾问API")
5
6class LegalRequest(BaseModel):
7 question: str
8
9@app.post("/legal/consult")
10async def legal_consultation(request: LegalRequest):
11 answer = legal_consultation(request.question)
12 return {"question": request.question, "answer": answer}| 特性 | GuoLai-Law-Model (3B) | 通用大模型 (如GPT-3.5) |
|---|---|---|
| 法律知识准确性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 回答专业性 | ⭐⭐⭐⭐☆ | ⭐⭐⭐ |
| 推理速度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 部署成本 | ⭐⭐⭐⭐⭐ (免费本地运行) | ⭐⭐ (API调用费用) |
| 专业领域表现 | ⭐⭐⭐⭐⭐ | ⭐⭐ |