运行Python脚本可自动调用DeepSeek API:安装openai包,用API密钥和base_url="https://api.deepseek.com"初始化客户端,通过chat.completions.create发送含system/user角色的中文消息,打印响应内容,注意密钥保密、角色完整及错误排查。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想用Python脚本把一句“今天天气怎么样”发给DeepSeek模型并拿到回复,不需要网页界面、不用手动复制粘贴,只要运行代码就自动完成对话请求。
准备API密钥和基础环境
登录 DeepSeek官网 → 点击右上角“API开放平台” → 进入后左侧菜单点“API keys” → 点击“创建API KEY” → 输入名称(如“test-cli”)→ 点击创建 → 【必须立刻点击复制按钮,关掉页面就再也看不到这个密钥】。
打开终端,执行:pip install openai。这一步不能跳过,DeepSeek的Python SDK完全兼容OpenAI接口,但底层依赖openai包。
构造最简可用的聊天请求
新建一个chat.py文件,写入以下内容:
```python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
base_url="https://api.deepseek.com"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "今天天气怎么样"}]
)
print(response.choices[0].message.content)
```
把sk-xxxxxxxx...替换成你刚复制的密钥。注意:base_url必须是https://api.deepseek.com,填错会返回404或连接超时。
发送带系统角色的结构化消息
第一步:在messages列表开头插入一条system消息,告诉模型它该扮演什么角色。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
第二步:把原始user消息拆成两段——先设身份,再提问题。例如:
```python
messages = [
{"role": "system", "content": "你是一个气象助手,只回答天气相关问题,不聊其他话题"},
{"role": "user", "content": "北京明天最高气温多少度?"}
]
```
这一步很关键:没有system消息时,模型可能自由发挥;加了之后,它会严格按指令响应,避免答非所问。如果你发现回复跑题,八成是漏写了system角色。
处理中文乱码与空响应
方法一:在print()前加response.choices[0].message.content.encode('utf-8').decode('utf-8')——多数情况没必要,仅当终端显示符号时才启用。
方法二:检查response是否含error字段。如果打印出{'error': 'Invalid API key'},说明密钥错了或已过期,需重新生成。
方法三:确认messages里每个字典都有"role"和"content"两个键,缺一个就会触发ValidationError异常。


















