以下代码实现在python中与deepseek实现多轮对话。
Messages参数是对话历史和上下文的核心载体。
- 数据结构:
• 必须是包含消息对象的数组
• 每个消息对象必须包含:
o role:发言者身份(system/user/assistant)
o content:具体内容 - 角色说明:
• system:系统级指令(首个消息)
o ✅ 设定AI的回复风格(如"用emoji表情回复")
o ✅ 定义专业领域(如"作为历史学家回答")
o ❌ 不应放置普通对话内容
• user:用户的输入内容
• assistant:AI之前的回复(用于多轮对话)
from openai import OpenAI
client = OpenAI(api_key="", base_url="https://api.deepseek.com")
messages = [
{"role": "system", "content": "你是一个智能健康助手,规划饮食家"},
]
def chat_round(user_input):
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
stream=False
)
history = response.choices[0].message.content
messages.append({"role": "assistant", "content": history})
print("\n============\n"+str(messages)+"\n============\n")
return history
if __name__ == "__main__":
while True:
user_input = input("\n用户:")
if user_input.lower() == "exit":
break
response = chat_round(user_input)
print(response)