DeepSeek-R1可基于OpenAPI 3.0文档自动生成Python调用代码,但需手动补全Bearer鉴权、环境变量读取及自动重登录逻辑,并封装为支持token刷新的Client类。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要把一份OpenAPI 3.0格式的接口文档(比如swagger.json或yaml文件)喂给DeepSeek,让它生成可运行的Python调用代码,而不是手动逐行翻译字段和请求逻辑。
准备接口文档文件
确保你手头有一份结构完整的OpenAPI 3.0规范文档,扩展名是.json或.yaml。如果是网页版Swagger UI,点击右上角「Download spec」按钮下载原始JSON——【不能直接复制浏览器里渲染后的HTML页面】,否则DeepSeek无法解析路径、参数和响应结构。
把文件重命名为api_spec.json,放在当前工作目录下。
用DeepSeek-R1生成基础调用代码
打开DeepSeek官网或本地部署的R1模型界面,在对话框中粘贴以下提示词:
“你是一名Python后端工程师。请根据我提供的OpenAPI 3.0 JSON文档,生成一个完整、可直接运行的requests调用示例。要求:①自动识别/auth/login路径的POST请求;②提取所有必需的path、query、body参数并设为变量;③对required字段加注释说明是否必填;④在代码开头写明依赖库和使用方式。”
接着上传api_spec.json文件,点击发送。
检查并修正生成的代码
DeepSeek通常会生成类似这样的片段:
```python
import requests
url = "https://api.example.com/v1/auth/login"
headers = {"Content-Type": "application/json"}
data = {"username": "admin", "password": "123456"}
response = requests.post(url, headers=headers, json=data)
```
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
但这里有个关键问题:如果文档中定义了securitySchemes为Bearer Token,而DeepSeek没生成鉴权逻辑,【你必须手动补上Authorization头,否则401错误无法绕过】。检查spec中components → securitySchemes → bearerAuth → scheme字段,确认是bearer后,追加这行:
headers["Authorization"] = f"Bearer {token}"
删掉硬编码的密码字符串,改用os.getenv("API_PASSWORD")读取环境变量。
封装成可复用的Client类
第一步:新建client.py文件,定义BaseClient类,初始化时接收base_url和access_token。
第二步:在__init__中保存self.base_url和self._token,同时设置默认headers包含Accept: application/json和Authorization。
第三步:实现_login方法,调用POST /auth/login,传入username/password,从响应JSON中提取token并更新self._token。
第四步:实现_get方法,自动注入Bearer Token,并对401响应触发重新登录逻辑——这步DeepSeek几乎从不自动生成,必须手写。
第五步:为每个业务接口(如GET /users/{id})单独写一个方法,用f-string拼接path参数,用params字典处理query参数,返回response.json()。


















