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

Python AI 实战(14/20):用 Python 调用大模型 API 教程:OpenAI、DeepSeek、通义接入

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

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

Python AI 实战问答速查手册 · 第 14/20 问

所属板块:大模型与 LLM

统一认知:一些服务商提供 OpenAI 兼容接口,但模型名、参数、工具调用和流式事件可能不同;迁移前要按服务商文档验证。

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

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

pip install openai
import os
from openai import OpenAI

# 先设置三个环境变量;地址、模型名和密钥必须来自同一服务商。
client = OpenAI(
  api_key=os.environ["LLM_API_KEY"],
  base_url=os.environ["LLM_BASE_URL"],
  timeout=30.0,
)
model_name = os.environ["LLM_MODEL"]
messages = [{"role": "user", "content": "用一个例子解释 Python 闭包"}]
resp = client.chat.completions.create(model=model_name, messages=messages)
print(resp.choices[0].message.content)

2. 配置核对

  • OpenAI、DeepSeek、通义等服务的地址和模型以各自官方文档及账号权限为准。

  • 示例使用 Chat Completions 兼容接口;确认目标模型支持该接口后再运行。

  • 不同模型对 temperature、输出长度和 tools 的支持不同,不要直接照搬参数。

3. 进阶用法

  • 流式输出(边生成边显示):
stream = client.chat.completions.create(
  model=model_name, messages=messages, stream=True,
)
for chunk in stream:
  if chunk.choices:
    print(chunk.choices[0].delta.content or "", end="", flush=True)
  • 函数调用(Function Calling):声明 tools 参数,让模型按 JSON 格式调用你的函数,这是做 Agent 的基础。

  • 重试与限流:API 返回 429/超时,先区分速率限制与额度不足;可重试错误采用有次数上限的退避,并考虑 SDK 自带重试,避免叠加重试。

注意事项:

  • Key 安全:放环境变量或 .env 文件,绝不要提交到 GitHub(会被爬虫盗用扣费)。

  • 计费:按 token 计费,长上下文和输出 token 都花钱,先估预算;以当前计价规则估算,并配置调用限额。

  • 用之前先读各家官方文档,确认模型名和兼容端点,模型名写错是最常见报错(404/400)。

教程
REPLIES

回复

0 条回复
暂无回复。