如何调用大模型 API 完成第一次对话
很多人学大模型卡在第一步:道理都懂,就是没亲手跑通过一次真实的 API 调用。这篇教程带你从零开始,用最少的步骤完成第一次对话,再逐步加上流式输出和多轮上下文。全程使用 OpenAI 兼容接口(国内外大多数服务都适用),语言为 Python。
前置准备
开始前确认三件事:
- 一个 Python 3.8+ 环境,命令行输入
python --version检查 - 一个大模型服务的 API Key(如 OpenAI、DeepSeek、通义千问、Kimi 等)
- 能正常访问该服务的网络
整体流程
一次 API 对话的完整链路如下,理解它能帮你看清后面每一步在做什么:
sequenceDiagram
participant U as 你的程序
participant A as API 服务
participant M as 大模型
U->>A: 1. 发送请求 模型名+消息+参数
A->>M: 2. 转发推理
M-->>A: 3. 返回生成结果
A-->>U: 4. 返回 JSON 响应
U->>U: 5. 解析出文本
步骤一:获取并保存 API Key
- 登录所选服务商的控制台
- 找到「API Keys / 密钥管理」页面
- 点击「创建」,复制生成的 key(通常以
sk-开头) - 不要把 key 硬编码进代码或提交到 Git,用环境变量保存:
# Windows CMD |
设置后需要重开一个终端,环境变量才会生效。
步骤二:安装 SDK
官方 SDK 封装了 HTTP 细节,安装只需一行:
pip install openai |
如果调用的是兼容 OpenAI 协议的国产服务(如 DeepSeek),同样用这个库,后面只需改一个 base_url。
步骤三:发起第一次请求
新建文件 chat.py,写入以下代码:
import os |
在命令行运行:
python chat.py |
预期输出类似:「大模型是用海量文本训练、能理解并生成自然语言的深度神经网络。」
步骤四:读懂响应结构
返回的 resp 是一个 JSON 对象,关键字段:
choices[0].message.content:模型回复的正文choices[0].message.role:固定为assistantusage.prompt_tokens/completion_tokens:本次消耗的 token 数,用于估算费用model:实际使用的模型名
步骤五:开启流式输出
默认要等全部生成完才返回,体验像”卡住”。加上 stream=True 可逐字返回:
stream = client.chat.completions.create( |
步骤六:实现多轮对话
大模型本身是无状态的,多轮对话靠把历史消息一起传进去实现:
messages = [{"role": "system", "content": "你是一个助手"}] |
它的循环逻辑是:
graph LR
A[用户输入] --> B[追加到历史]
B --> C[整体发给 API]
C --> D[模型回复]
D --> E[回复存入历史]
E --> A
常见问题排查
- 401 报错:API Key 无效或环境变量没生效,重开终端再试
- 连接超时:检查 base_url 是否正确、网络能否访问该服务
- 回复被截断:调大
max_tokens参数 - 费用偏高:关注
usage里的 token 数,长上下文很烧钱
小结
跑通第一次调用的关键就三步:拿到 key、装好 SDK、按 messages 格式发请求。掌握流式输出与多轮对话的拼接方式后,你就具备了接入大模型的全部基础——后续的 RAG、Agent、微调,都建立在这套调用之上。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 非鱼小站!
评论
WalineDisqus








