[智能体-1]:通过openAI API与deepseek对话的代码示例

发布时间:2026/5/22 1:10:20

[智能体-1]:通过openAI API与deepseek对话的代码示例 一、前置准备安装依赖包bash运行pip install openai python-dotenv获取 API KeyOpenAI Key从 OpenAI Platform 获取DeepSeek Key从 DeepSeek 开放平台 获取二、OpenAIGPT对话代码支持单轮 / 多轮对话、流式输出像官网一样逐字返回python运行from openai import OpenAI import os from dotenv import load_dotenv # 加载环境变量推荐把密钥存在 .env 文件中 load_dotenv() # 初始化 OpenAI 客户端 client OpenAI( api_keyos.getenv(OPENAI_API_KEY), # 也可以直接写字符串: api_key你的key # base_urlhttps://api.openai.com/v1 # 默认地址国内需使用代理/中转 ) def chat_with_openai(message, historyNone): 与 OpenAI 对话 :param message: 用户当前问题 :param history: 历史对话列表 [{role: user, content: xxx}, ...] :return: 助手回答 # 初始化对话历史 if history is None: history [] # 添加用户当前消息 history.append({role: user, content: message}) # 调用 API response client.chat.completions.create( modelgpt-3.5-turbo, # 可替换 gpt-4o/gpt-4 messageshistory, streamTrue, # 流式输出逐字打印 temperature0.7 # 随机性0最严谨1最有创意 ) print(\n GPT: , end) full_answer # 处理流式返回 for chunk in response: if chunk.choices[0].delta.content: content chunk.choices[0].delta.content full_answer content print(content, end, flushTrue) # 把助手回答加入历史 history.append({role: assistant, content: full_answer}) print(\n) return full_answer, history # 测试 if __name__ __main__: print( 开始与 GPT 对话输入 exit 退出) chat_history [] while True: user_input input( 你: ) if user_input.lower() exit: print(结束对话) break answer, chat_history chat_with_openai(user_input, chat_history)三、DeepSeek 对话代码接口格式和 OpenAI 完全兼容只需要改base_url和api_key、model即可python运行from openai import OpenAI import os from dotenv import load_dotenv load_dotenv() # 初始化 DeepSeek 客户端 client OpenAI( api_keyos.getenv(DEEPSEEK_API_KEY), base_urlhttps://api.deepseek.com/v1 # 关键DeepSeek 官方地址 ) def chat_with_deepseek(message, historyNone): 与 DeepSeek 对话兼容 OpenAI 格式 if history is None: history [] history.append({role: user, content: message}) response client.chat.completions.create( modeldeepseek-chat, # DeepSeek 主模型 messageshistory, streamTrue, temperature0.7 ) print(\n DeepSeek: , end) full_answer for chunk in response: if chunk.choices[0].delta.content: content chunk.choices[0].delta.content full_answer content print(content, end, flushTrue) history.append({role: assistant, content: full_answer}) print(\n) return full_answer, history # 测试 if __name__ __main__: print( 开始与 DeepSeek 对话输入 exit 退出) chat_history [] while True: user_input input( 你: ) if user_input.lower() exit: print(结束对话) break answer, chat_history chat_with_deepseek(user_input, chat_history)四、使用 .env 文件管理密钥推荐在项目根目录新建.env文件env# OpenAI OPENAI_API_KEY你的OpenAI密钥 # DeepSeek DEEPSEEK_API_KEY你的DeepSeek密钥这样不会把密钥硬编码在代码里更安全。五、核心说明非常重要为什么 DeepSeek 能用 OpenAI SDKDeepSeek 完全兼容 OpenAI 的 API 格式所以不需要安装新包直接改配置即可。可用模型OpenAIgpt-3.5-turbo、gpt-4o、gpt-4DeepSeekdeepseek-chat对话、deepseek-coder代码非流式输出一次性返回把streamTrue改为streamFalse然后直接取值python运行answer response.choices[0].message.content总结两套代码开箱即用支持多轮对话、流式输出DeepSeek 与 OpenAI 接口100% 兼容仅需修改地址、密钥、模型名推荐使用.env管理密钥避免泄露国内使用 OpenAI 需要配置代理 / 中转服务DeepSeek 可直接访问

相关新闻