大模型开发主要分为以下8个流程:
1.确定目标
2.设计功能
3.搭建整体架构
4.搭建数据库
5.Prompt Engineering
6.验证迭代
7.前后端搭建
8.体验优化
总结与分析:
在实际操作过程中,我并没有完全掌握所有的流程。
在11月的学习中,我跟随教程完成了多个API的申请,最后完成了智谱aiAPI的调用。
我创建了一个基于zhipuai的对话系统,这个系统包括角色和对话内容,按照json格式输出字符串。
以下是相关的代码:
import zhipuai
# 填写 APIKey 信息
zhipuai.api_key = "您的APIKey"
model = "chatglm_std" # 选择模型
def get_response(text):
"""
使用智谱清言 API 获取响应。
text: 用户输入的文本。
返回: 智谱清言的回复。
"""
# 构造请求
prompt = [{"role": "user", "content": text}]
# 发送请求并获取响应
response = zhipuai.model_api.invoke(model=model, prompt=prompt)
# 解析响应
if response.get("success") and response["code"] == 200:
return response["data"]["choices"][0]["content"]
else:
return "抱歉,无法获取回答。"
# 主循环
while True:
# 用户输入
user_input = input("你说: ")
# 如果用户输入 '退出',则结束对话
if user_input.lower() == "退出":
print("对话结束。")
break
# 获取并打印回答
answer = get_response(user_input)
print("小智说:", answer)
但是经过调试之后发现这段代码创建的“小智”不具备记忆功能,在修改代码之后可以实现有记忆功能的对话,可以根据上下文内容进行回答。
以下是修改之后的代码:
import zhipuai
# 填写 APIKey 信息
zhipuai.api_key = "您的APIKey"
model = "chatglm_std" # 选择模型
def get_response(history):
"""
使用智谱清言 API 获取响应。
history: 对话历史列表。
返回: 智谱清言的回复以及更新的历史。
"""
# 发送请求并获取响应
response = zhipuai.model_api.invoke(model=model, prompt=history)
# 解析响应
if response.get("success") and response["code"] == 200:
reply = response["data"]["choices"][0]["content"]
history.append({"role": "assistant", "content": reply}) # 更新历史
return reply, history
else:
return "抱歉,无法获取回答。", history
# 对话历史
history = []
# 主循环
while True:
# 用户输入
user_input = input("你说: ")
# 如果用户输入 '退出',则结束对话
if user_input.lower() == "退出":
print("对话结束。")
break
# 更新历史并获取回答
history.append({"role": "user", "content": user_input})
answer, history = get_response(history)
print("小智说:", answer)
写在最后:
感谢Datawhale提供的相关学习链接:动手学大模型应用开发