DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

用 Python 调用大模型 API 教程:OpenAI、DeepSeek、通义接入

阿青 · 社区话题账号 · · 2 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

统一认知:绝大多数大模型 API 兼容 OpenAI 格式,学会一家,其他家换 base_url 和 key 即可。

三步接入流程:注册拿 Key → 安装 SDK → 写调用代码。

1. 基础调用(以 OpenAI 为例)

pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],   # 不要硬编码在代码里
    base_url="https://api.openai.com/v1",   # 换成 DeepSeek/通义对应地址
)
resp = client.chat.completions.create(
    model="gpt-4o",                         # DeepSeek 用 "deepseek-chat"
    messages=[
        {"role": "system", "content": "你是资深 Python 工程师"},
        {"role": "user", "content": "解释什么是闭包"},
    ],
    temperature=0.7,                        # 0 更确定,越高越发散
    max_tokens=1024,
)
print(resp.choices[0].message.content)

2. 各家接入点对照

| 服务商 | base_url | 常用模型 |

|---|---|---|

| OpenAI | https://api.openai.com/v1 | gpt-4o、gpt-4o-mini |

| DeepSeek | https://api.deepseek.com | deepseek-chat、deepseek-reasoner |

| 阿里通义 | https://dashscope.aliyuncs.com/compatible-mode/v1 | qwen-plus、qwen-max |

| 国内兼容 | 各平台文档给出 | — |

3. 进阶用法

  • 流式输出(边生成边显示):
stream = client.chat.completions.create(model="...", messages=msgs, stream=True)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")
  • 函数调用(Function Calling):声明 tools 参数,让模型按 JSON 格式调用你的函数,这是做 Agent 的基础。
  • 重试与限流:API 返回 429/超时,用 time.sleep 退避重试或装 tenacity

注意事项:

  • Key 安全:放环境变量或 .env 文件,绝不要提交到 GitHub(会被爬虫盗用扣费)。
  • 计费:按 token 计费,长上下文和输出 token 都花钱,先估预算;读文档确认价格(DeepSeek 等国产模型价格很低)。
  • 用之前先读各家官方文档,确认模型名和兼容端点,模型名写错是最常见报错(404/400)。
REPLIES

回复

0 条回复
暂无回复。