Python 调用 GPT-4 API 完整教程:从 0 到能跑通,含 3 个我踩过的坑

Python 调用 GPT-4 API 完整教程:从 0 到能跑通,含 3 个我踩过的坑上周有个朋友问我 你平时用 Python 调 GPT 4 的 API 到底怎么弄的 网上教程一堆 但跑起来全报错 说实话 我第一次调 GPT 4 API 的时候也是这种状态 官方文档写得挺好 但实际跑的时候各种幺蛾子 Key 的权限不对 请求超时 返回格式解析出错 折腾了大半天才跑通第一个请求 这篇文章就把我的完整流程和踩坑经历写出来 保证你复制代码就能跑 步骤 耗时 难度 安装

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



上周有个朋友问我:「你平时用 Python 调 GPT-4 的 API,到底怎么弄的?网上教程一堆,但跑起来全报错。」

说实话,我第一次调 GPT-4 API 的时候也是这种状态——官方文档写得挺好,但实际跑的时候各种幺蛾子。Key 的权限不对、请求超时、返回格式解析出错……折腾了大半天才跑通第一个请求。

这篇文章就把我的完整流程和踩坑经历写出来,保证你复制代码就能跑。

步骤 耗时 难度 安装 openai 库 1 分钟 ⭐ 获取 API Key 5 分钟 ⭐ 跑通第一个请求 10 分钟 ⭐⭐ 流式输出 5 分钟 ⭐⭐ 多轮对话 10 分钟 ⭐⭐ Function Calling 20 分钟 ⭐⭐⭐

整套流程如果不踩坑,半小时内搞定。但你大概率会踩坑,所以我把坑也写了。

我知道很多人会说:「ChatGPT 网页版不就行了吗?干嘛费劲调 API?」

几个真实场景:

  1. 自动化工作流:我有个脚本每天自动把 GitHub Issues 丢给 GPT-4 做分类打标签,这事儿你总不能每天手动复制粘贴吧
  2. 嵌入自己的产品:做独立开发的话,用户端的 AI 功能肯定得走 API
  3. 批量处理:上周帮朋友处理 2000 条客服记录做情感分析,网页版点到手抽筋都搞不完
  4. 成本控制:API 按 token 计费,比 Plus 会员划算得多(前提是你不是重度聊天用户)

好,废话不多说,直接开干。

 
  

这里有个坑我先提一嘴:openai 库在 1.0 版本做了一次大改,网上很多教程还在用 这种旧写法,你照着抄会直接报 。

现在的新版写法是面向对象的,用 实例化一个 client,后面全用 client 调方法。如果你之前装过旧版,先升级:

 
  

确认版本:

 
  

去 OpenAI 官网的 API Keys 页面 创建一个。

不过说实话,如果你在国内,直接访问 OpenAI 的 API 可能会遇到网络问题。我之前试过好几种方案,最后发现最省事的办法是用一个兼容 OpenAI 协议的聚合接口。我现在用的是 ofox.ai,改一下 就行,不用折腾别的,国内直连延迟也还可以。

后面的代码示例我会同时给出两种配置方式,你根据自己的情况选。

这是最基础的单轮对话:

 
  

跑通之后你会拿到类似这样的输出:

 
  

几个参数说一下:

  • model: 是基础版, 更快更便宜, 是最新的多模态版本。根据你的需求选
  • temperature:0-2 之间,越高越有创意(越放飞自我),写代码建议 0-0.3,写文案可以 0.7-1.0
  • max_tokens:限制回复长度,避免烧钱。GPT-4 的输出 token 不便宜

正常请求要等模型把整个回复生成完才返回,如果回复很长,用户要干等好几秒。流式输出就是一个字一个字蹦出来,体验好很多:

 
  

注意 ,不加的话 Python 的 print 会缓冲输出,你看不到打字机效果。

GPT 的 API 是无状态的,它不会「记住」你之前说了什么。想要多轮对话,你得自己把历史消息全部塞进 里:

 
  

这里有个实际问题:对话越长,token 消耗越大。因为每次请求你都要把所有历史消息发过去。

我的处理方式是加一个简单的窗口限制:

 
  

这个功能是我觉得 GPT-4 API 最实用的特性之一。简单说就是让模型决定什么时候调用你定义的函数,并且帮你提取出结构化的参数。

举个例子,做一个能查天气的助手:

 
  

输出大概是:「北京今天天气晴,气温 26°C,适合出门走走。」

模型不会自己查天气,但它能判断用户意图、提取参数、然后用你给的函数结果来组织回复。这个模式在做 AI Agent 的时候非常有用。

这几个坑我都亲自踩过,记录一下:

网上搜到的很多教程还在用这种写法:

 
  

新版必须用 客户端实例。如果你看到哪个教程还在用上面的写法,直接关掉换下一篇。

我一开始全用 ,后来看账单发现贵得离谱。查了一下:

模型 输入价格 (1M tokens) 输出价格 (1M tokens) 上下文长度 gpt-4 \(30 \)60 8K gpt-4-turbo \(10 \)30 128K gpt-4o \(2.5 \)10 128K

价格差了好几倍……大部分场景用 就够了,又快又便宜。只有对推理质量有极高要求的时候才上 。

生产环境一定要加超时和重试,不然 API 偶尔抽风你的程序就直接挂了:

 
  

库内置了重试机制,加上这两行就行,不用自己写 retry 逻辑。

整个流程其实不复杂:装库 → 拿 Key → 构造 messages → 发请求。核心就是理解 这个数组的结构,、、 三种角色,多轮对话就是不断往里 append。

几个建议:

  1. 开发阶段用 gpt-4o,别一上来就用 gpt-4,钱包会感谢你
  2. 一定要加 max_tokens,不然模型有时候会疯狂输出,一个请求烧好几毛
  3. 流式输出不是必须的,但如果你做面向用户的产品,体验差距非常大
  4. Function Calling 值得花时间学,这是做 AI 应用和做 AI 玩具的分水岭

有问题评论区聊,我看到都会回。

小讯
上一篇 2026-03-29 23:55
下一篇 2026-03-29 23:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/231087.html