微信扫码
添加专属顾问
我要投稿
用代码编程打造企业级AI法律顾问,强大灵活,轻松实现专业法律咨询。核心内容:1. 提示词工程与大模型的结合应用2. 重要概念补充:系统提示词、用户提示词、助理提示词3. 具体实现步骤:准备工作、单次对话效果测试
Hello,大家好呀。
上一篇介绍了如何使用提示词工程,直接用大模型和AI开发平台(RAGFlow/coze/dify等)开发一个“专业法律咨询顾问”应用,但更适合个人。
这一篇将介绍,如何使用代码编程,实现同样的功能。更强大、更灵活,更适合企业使用。
1.Prompt是大模型的编程语言,提示词工程本质上还是调用大模型的能力,做了一层包装,能够完成特定的任务。
2.可以在调用大模型能力之前,以及大模型返回之后且返回用户之前,做一些特殊处理,让大模型更具针对性或者完成特殊功能。
3.对于大模型而言,提示词分为三类:
System Prompt(系统提示词):设定好之后,不会变化,每次提问,都会带上这个提示词,例如人设、步骤、要求。
User Prompt(用户提示词):每次用户提问时候给的提示词。
Assistant Prompt (助理提示词):大模型每次返回的提示词。
4.大模型本身没有记忆,所以多轮对话,都需要把每次对话的历史,以及当前用户的提问拼接在一起,组装成新的提示词给到大模型,大模型才会联系上下文进行回答。
import os
from config.load_key import load_key
# 加载 API Key
load_key()
print(f'''你配置的 API Key 是:{os.environ["DASHSCOPE_API_KEY"][:5]+"*"*5}''')
from openai import OpenAI
import os
client = OpenAI(
base_url = "https://api.siliconflow.cn/v1",
api_key = os.getenv("DASHSCOPE_API_KEY"),
)
prompt = '''
民事执行程序中,被执行人名下的房屋二拍仍然流拍,申请人以流拍价购买。人民法院裁定房屋归申请人所有后,经历多年才由人民法院交付。执行程序依法终结后,申请人主张自裁定生效之日到实际交付之日的损失,人民法院是否应当受理?被执行人是否应当损失承担赔偿责任?
'''
completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1",
messages=[{"role":"user","content":prompt}],
temperature=0.6,
top_p=0.7,
max_tokens=4096,
stream = True # 是否流式输出
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
from openai import OpenAI
import os
client = OpenAI(
base_url = "https://api.siliconflow.cn/v1",
api_key = os.getenv("DASHSCOPE_API_KEY"),
)
system_prompt = '''
# 角色
你是资深大律师
你的目标是针对用户给出的法律问题,一步一的思考,进行深度的回答,提出最细粒度的主张、法律依据、事实依据和可执行的步骤
## 工作步骤
1.针对用户给出的案例背景和问题,进行第一次的分析,列出可能的主张、法律依据、事实依据和用户下一步可执行的操作。如果用户没有提供足够的事实依据,可提供过往同类型案例事实依据作为参考。
2.针对第一步中的每一个步骤,进行进一步的拆解,作为子主张,分别再给出法律依据、事实依据和下一步可执行的操作。如果用户没有提供足够的事实依据,可提供过往同类型案例事实依据作为参考。
3. 重复第二步,直到无法再进一步分解或者具体可执行为止。
通过这样的对话,你可以做一个整体总结,按具体操作步骤,给客一个整体结论。
'''
def get_completion(prompt):
completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1",
messages=[
{"role":"system", "content":system_prompt},
{"role":"user","content":prompt}
],
temperature=0.6,
top_p=0.7,
max_tokens=4096,
stream = True # 是否流式输出
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
yield chunk.choices[0].delta.content
user_prompt = '''
民事执行程序中,被执行人名下的房屋二拍仍然流拍,申请人以流拍价购买。人民法院裁定房屋归申请人所有后,经历多年才由人民法院交付。执行程序依法终结后,申请人主张自裁定生效之日到实际交付之日的损失,人民法院是否应当受理?被执行人是否应当损失承担赔偿责任?
'''
for result in get_completion(user_prompt):
print(result, end="")
from openai import OpenAI
import os
client = OpenAI(
base_url = "https://api.siliconflow.cn/v1",
api_key = os.getenv("DASHSCOPE_API_KEY"),
)
system_prompt = '''
# 角色
你是资深大律师
你的目标是针对用户给出的法律问题,一步一的思考,进行深度的回答,提出最细粒度的主张、法律依据、事实依据和可执行的步骤
## 工作步骤
1.针对用户给出的案例背景和问题,进行第一次的分析,列出可能的主张、法律依据、事实依据和用户下一步可执行的操作。如果用户没有提供足够的事实依据,可提供过往同类型案例事实依据作为参考。
2.针对第一步中的每一个步骤,进行进一步的拆解,作为子主张,分别再给出法律依据、事实依据和下一步可执行的操作。如果用户没有提供足够的事实依据,可提供过往同类型案例事实依据作为参考。
3. 重复第二步,直到无法再进一步分解或者具体可执行为止。
通过这样的对话,你可以做一个整体总结,按具体操作步骤,给客一个整体结论。
'''
session = [
{
"role": "system",
"content": system_prompt
}
]
def get_completion(prompt):
session.append({"role":"user","content":prompt})
completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1",
messages=session,
temperature=0.6,
top_p=0.7,
max_tokens=4096,
stream = True # 是否流式输出
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
yield chunk.choices[0].delta.content
# 把历史信息添加到session中
session.append({"role":"assistant","content":chunk.choices[0].delta.content})
print("-----------第一轮对话-----------")
user_prompt1 = '''
民事执行程序中,被执行人名下的房屋二拍仍然流拍,申请人以流拍价购买。人民法院裁定房屋归申请人所有后,经历多年才由人民法院交付。执行程序依法终结后,申请人主张自裁定生效之日到实际交付之日的损失,人民法院是否应当受理?被执行人是否应当损失承担赔偿责任?
'''
for result in get_completion(user_prompt1):
print(result, end="")
print("-----------第二轮对话-----------")
user_prompt2 = '''请根据上述对话,总结一下你的结论'''
for result in get_completion(user_prompt2):
print(result, end="")
print("-----------第三轮对话-----------")
user_prompt3 = '''请把最终结果,以markdown的形式输出'''
for result in get_completion(user_prompt2):
print(result, end="")
下一篇见啦。
同时我们也在号召使用Obsidian和AI的小伙伴,如果你有学习ob+AI的需求,欢迎加入学习群,我们一同探索实用工具的高效方法。(进群方法可以加微信)
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-20
2024-06-29
2023-06-08
2024-09-17
2024-06-27
2024-06-26
2024-07-09
2024-07-12
2024-09-16
2024-06-14
2025-04-20
2025-04-16
2025-04-11
2025-02-25
2025-02-21
2025-01-05
2025-01-04
2024-12-15