写作目的:为积极响应戴鸿君老师对项目实训内容的建设性意见,特写本系列个人纪实,记录团队在项目实训的工作中个人的贡献。
本文旨在探索如何在python中使用通用的chat模型,并智能化地将通用模型应用在法律领域,这也许可以用更小的代价实现模型的微调工作。或许进一步可以免除模型微调的工作,调用更加智能的模型实现法律文本的分析。
KimiAi基本信息:KimiAi擅长中英文对话,能够阅读和理解多种文件格式,包括TXT、PDF、Word文档、PPT幻灯片和Excel电子表格。
主要功能:
- 回答各种问题,从一般知识到专业咨询。
- 阅读和解析你提供的文件内容。
- 结合互联网搜索结果来提供更加全面的回答。
- 理解和解释编程概念,帮助你解决技术问题。
- 提供教育和学习资源,辅助你的个人发展。
Kimi的一些限制,比如不能创建或提供下载链接、电子邮件附件等。
KimiAI入门使用:python脚本版
from openai import OpenAI
client = OpenAI(
api_key = "$MOONSHOT_API_KEY",
base_url = "https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
model = "moonshot-v1-8k",
messages = [
{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
],
temperature = 0.3,
)
print(completion.choices[0].message.content)
KimiAI工具使用,我们可以利用下面的代码,对于Kimi进行工具测试,考虑
from openai import OpenAI
client = OpenAI(
api_key = "$MOONSHOT_API_KEY",
base_url = "https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
model = "moonshot-v1-8k",
messages = [
{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
{"role": "user", "content": "编程判断 3214567 是否是素数。"}
],
tools = [{
"type": "function",
"function": {
"name": "CodeRunner",
"description": "代码执行器,支持运行 python 和 javascript 代码",
"parameters": {
"properties": {
"language": {
"type": "string",
"enum": ["python", "javascript"]
},
"code": {
"type": "string",
"description": "代码写在这里"
}
},
"type": "object"
}
}
}],
temperature = 0.3,
)
print(completion.choices[0].message)
创建对话窗口:
# 创建主窗口
root = tk.Tk()
root.geometry("800x800") # 例如设置为 500 像素宽,300 像素高
root.title("法律问答机器人")
# 创建一个文本输入框
entry = tk.Entry(root, width=200)
entry.pack()
# 创建一个按钮,点击时调用on_button_click函数
button = tk.Button(root, text="提交", command=on_button_click)
button.pack()
#创建一个文本输出区域
text_area = tk.Text(root, height=100, width=500)
text_area.pack()
# 运行主循环
root.mainloop()
执行效果如下图:在上面的输入框中输入自己想要咨询的问题,点击提交即可在下面显示