使用python调用deepseek 多轮对话,详细讲解
以下代码实现在python中与deepseek实现多轮对话。
Messages参数是对话历史和上下文的核心载体。
- 数据结构:
• 必须是包含消息对象的数组
• 每个消息对象必须包含:
o role:发言者身份(system/user/assistant)
o content:具体内容 - 角色说明:
• system:系统级指令(首个消息)
o ✅ 设定AI的回复风格(如"用emoji表情回复")
o ✅ 定义专业领域(如"作为历史学家回答")
o ❌ 不应放置普通对话内容
• user:用户的输入内容
• assistant:AI之前的回复(用于多轮对话)
from openai import OpenAIclient = 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.contentmessages.append({"role": "assistant", "content": history})print("\n============\n"+str(messages)+"\n============\n")return historyif __name__ == "__main__":while True:user_input = input("\n用户:")if user_input.lower() == "exit":breakresponse = chat_round(user_input)print(response)