系列教程说明
这是「AI零基础学习」系列教程的第50篇,共70篇。从今天开始,我们进入第8周——AI应用开发。前几周你学会了用各种AI工具,从今天起,我们要学习用代码控制AI。
上篇回顾
上周我们沉浸在AI与创意的世界里——游戏设计、创意项目、艺术与版权。你可能已经发现,AI不仅能帮你做事,还能激发灵感。但从今天起,我们要换个角度:不再只是AI的用户,而是AI的开发者。
什么是API?
API,全称 Application Programming Interface(应用程序编程接口),听起来很技术,但其实你每天都在用。
打个比方:你去餐厅吃饭,服务员就是”API”。你告诉服务员”来一份宫保鸡丁”(请求),服务员把你的需求传达给厨房(服务器),厨房做好后服务员把菜端给你(响应)。你不需要知道厨房怎么炒菜,只需要跟服务员沟通。
API就是程序之间的”服务员”。 当你用代码调用ChatGPT时,你的程序把请求发给OpenAI的API,OpenAI处理后把结果返回来。你不需要知道OpenAI的服务器在哪里、用了什么模型,只需要按照API的”菜单”(文档)来点菜。
为什么需要用代码调AI?
你可能会问:直接用ChatGPT网页不好吗?为什么要用代码?
三个核心原因:
第一,自动化。 你有一个Excel表格,里面有1000条客户反馈需要分析。手动一条条复制到ChatGPT?太慢了。用代码,几行循环就能自动处理全部数据。
第二,集成。 你想让公司的客服系统自动回复常见问题,或者让网站的搜索功能更智能。这些都需要把AI能力”嵌入”到你自己的应用里,而不是让用户去ChatGPT网站。
第三,定制。 API提供了网页版没有的精细控制——你可以设置温度参数控制AI的”创造力”,限制回复长度,甚至传入系统指令让AI始终保持某种角色。
API调用的基本流程
用代码调AI,本质上就四步:
第一步:获取API密钥(API Key)
去AI服务商的官网注册账号,在”API Keys”或”开发者”页面生成一个密钥。这个密钥就像你的身份证,证明”这个请求是我发的”。
⚠️ 重要:API密钥是私密的,绝对不能分享给别人或上传到公开的代码仓库。 就像你的银行卡密码一样。
第二步:安装客户端库
大多数AI服务商都提供了Python库,让你不用手动构造HTTP请求。比如OpenAI的库:
`bash
pip install openai
`
第三步:编写调用代码
`python
from openai import OpenAI
client = OpenAI(api_key=”你的密钥”)
response = client.chat.completions.create(
model=”gpt-4o”,
messages=[
{“role”: “system”, “content”: “你是一个友好的助手”},
{“role”: “user”, “content”: “用一句话解释什么是API”}
]
)
print(response.choices[0].message.content)
`
第四步:处理返回结果
API返回的是一个结构化的对象,包含AI的回复、使用的token数量、耗时等信息。你只需要提取 .choices[0].message.content 就能拿到AI的文本回复。
动手试试:你的第一次API调用
现在,让我们真正写一段代码。别怕,我一步一步带你走。
准备工作:
- 注册一个OpenAI账号(或任何AI服务商,如Anthropic、国内的通义千问等)
- 获取API密钥
- 确保你的电脑装了Python和pip
完整代码示例:
`python
import os
from openai import OpenAI
# 设置密钥(推荐用环境变量,而不是直接写在代码里)
client = OpenAI(
api_key=os.environ.get(“OPENAI_API_KEY”)
)
# 发送请求
response = client.chat.completions.create(
model=”gpt-4o-mini”, # 使用便宜的模型
messages=[
{
“role”: “user”,
“content”: “请用3个要点总结Python语言的特点”
}
],
temperature=0.7, # 控制创造性,0=最严谨,1=最随机
max_tokens=500 # 限制回复长度
)
# 打印结果
result = response.choices[0].message.content
print(“AI回复:”)
print(result)
# 打印消耗信息
print(f”n消耗token数:{response.usage.total_tokens}”)
print(f”模型:{response.model}”)
`
运行方式:
`bash
# 方法1:设置环境变量后运行
export OPENAI_API_KEY=”sk-你的密钥”
python3 my_first_api.py
# 方法2:在代码中直接填写(仅用于测试,不要提交到代码仓库)
`
理解核心概念:Messages格式
API调用中最重要的是 messages 参数。它是一个列表,每个元素都是一个”消息”,包含两个关键字段:
role(角色):有三种取值——
- system:系统指令,告诉AI”你是谁”,设定角色和行为规则
- user:用户消息,就是你说的话
- assistant:AI的回复,你可以预填一些对话历史
content(内容):消息的具体文字。
为什么要这样设计? 因为API是无状态的——每次调用都是全新的对话。不像网页版ChatGPT会记住之前的聊天,API调用需要你自己维护对话历史。
`python
# 多轮对话示例
messages = [
{“role”: “system”, “content”: “你是一个Python编程老师”},
{“role”: “user”, “content”: “什么是列表推导式?”},
{“role”: “assistant”, “content”: “列表推导式是Python的一种简洁语法…”},
{“role”: “user”, “content”: “能给个例子吗?”}
]
`
流行的AI API服务商对比
不只是OpenAI一家提供API,市面上有很多选择:
OpenAI(GPT系列)
- 模型:gpt-4o、gpt-4o-mini、o1
- 特点:生态最完善,文档最全,社区最大
- 价格:gpt-4o-mini很便宜,适合日常使用
Anthropic(Claude系列)
- 模型:Claude Sonnet 4、Claude Opus 4
- 特点:长上下文能力强,安全性好
- 代码风格和OpenAI类似,容易上手
Google(Gemini系列)
- 模型:Gemini 2.5 Pro、Gemini 2.5 Flash
- 特点:多模态能力强,免费额度较多
- 有专门的AI Studio方便测试
国内服务商
- 通义千问(阿里)、文心一言(百度)、智谱GLM、Kimi等
- 特点:中文优化好,访问速度快,部分有免费额度
- 适合国内用户,不需要翻墙
API调用的实际应用场景
学会了API调用,你能做什么?这里有几个真实案例:
场景一:批量文本分析
公司有5000条用户评论需要分类(正面/负面/中性)。手动做要几天,用API几小时搞定:
`python
for comment in comments:
response = client.chat.completions.create(
model=”gpt-4o-mini”,
messages=[{
“role”: “user”,
“content”: f”判断以下评论的情感(正面/负面/中性):{comment}”
}]
)
sentiment = response.choices[0].message.content
# 保存到Excel…
`
场景二:智能客服机器人
把AI嵌入到你的网站或App里,自动回答常见问题。用户发消息 → 你的服务器调用API → 返回AI回复 → 显示给用户。
场景三:文档自动生成
输入几个关键参数,AI自动生成合同、报告、邮件。比如输入客户名称、产品、价格,AI就生成一份完整的报价单。
费用控制:别让账单吓到你
API调用是按使用量计费的,主要按token(词元)收费。1个token大约是0.75个英文单词或0.5个中文字。
省钱技巧:
- 选对模型。 不是所有任务都需要最强的模型。简单的分类任务用gpt-4o-mini就够了,价格只有gpt-4o的十分之一。
- 控制max_tokens。 设置合理的回复长度上限,避免AI”话痨”。
- 用缓存。 如果同样的问题会反复问,把结果缓存起来,不要每次都调API。
- 设置用量上限。 在服务商后台设置每月花费上限,防止意外超支。
参考价格(2026年):
- gpt-4o-mini:约 $0.15 / 100万输入token
- gpt-4o:约 $2.50 / 100万输入token
- Claude Sonnet 4:约 $3 / 100万输入token
处理一篇1000字的文章,用gpt-4o-mini大约花费不到1分钱。
常见错误和调试技巧
刚开始用API,你可能会遇到这些问题:
401 Unauthorized(未授权)
- 原因:API密钥错误或已过期
- 解决:检查密钥是否正确,重新生成一个
429 Too Many Requests(请求过多)
- 原因:发送请求太快,触发了限流
- 解决:加入重试机制,或降低请求频率
Timeout(超时)
- 原因:AI处理时间太长,或网络问题
- 解决:增加超时时间,或用流式响应
Rate Limit(速率限制)
- 每个服务商都有每分钟/每小时的请求上限
- 新账号通常限制更严格,需要逐步提升
今日行动项
今天的行动很简单:
- 注册一个AI API账号(推荐OpenAI或国内的通义千问,都有免费额度)
- 获取API密钥并保存好
- 运行上面的代码示例,看到AI的回复从终端输出
- 尝试修改messages内容,看看不同提示词的效果
不需要一次学会所有概念,今天只要成功调用一次API就是胜利。
📖 地铁深读:API的前世今生
这个板块专为地铁通勤设计,每篇5-10分钟。不想深读可以跳过,不影响主线学习。
从”电话线”到”互联网”:API的进化史
API这个概念其实比互联网还老。
最早的”API”可以追溯到1960年代。那时候大型计算机刚出现,程序员需要通过打孔卡片来跟计算机”对话”。为了简化这个过程,操作系统提供了标准化的函数接口——你不需要知道计算机底层怎么处理数据,只需要调用 read()、write() 这样的函数就行。
这就是API的原型:隐藏复杂性,暴露简洁接口。
到了1990年代,Web API随着互联网兴起。Salesforce在2000年推出了第一个商业化的Web API,让第三方开发者可以在Salesforce的平台上构建应用。这个思路后来被Amazon、Google、Facebook发扬光大,催生了整个”平台经济”。
2022年ChatGPT发布后,OpenAI的API掀起了一场新的革命。AI从”只能聊天”变成了”可以被任何程序调用的能力”。 这就像电力刚发明时,人们只能用电灯照明;后来电力变成了标准化的公共服务,任何电器都能插上插座就用。
一个有趣的事实:OpenAI的API改变了整个行业格局
你知道吗?ChatGPT刚发布时,OpenAI其实没有计划做API。是开发者社区的强烈呼声,让他们意识到”让AI能力可以被代码调用”比”做一个聊天网站”重要得多。
2023年3月,OpenAI正式开放API后,短短几个月内就有超过200万个开发者注册。这些开发者用API构建了从AI写作助手、智能客服到代码审查工具的各类应用。
API的本质是”能力民主化”。 在API之前,想在自己的产品里加入AI功能,你需要训练自己的模型——这需要几百万美元和一个博士团队。有了API,一个大学生用50行代码就能做到同样的事。
思考题
想一个问题:如果你有一个AI API,你会用它来解决自己生活或工作中的什么问题?
比如:
- 自动总结每天收到的100封邮件?
- 把会议录音自动转成会议纪要?
- 让AI帮你审阅写好的文章,找出逻辑漏洞?
这些都不是科幻,用今天学到的知识就能实现。
留个悬念:Day 52我们会讲到RAG(检索增强生成)——那时候你就能让AI”读”你自己的文档,回答关于你公司内部资料的问题了。
今日收获
今天你学到了:
- API是什么:程序之间的”服务员”,让你的代码能调用AI能力
- 为什么用API:自动化、集成到自己的应用、精细控制
- 调用的四步流程:获取密钥→安装库→编写代码→处理结果
- Messages格式:system/user/assistant三种角色的消息列表
- 费用控制:选对模型、控制长度、缓存结果、设置上限
明日预告
明天早上8点:Day51——早课 搭建你的AI聊天机器人
今晚5点:Day50——晚课 API调用实战
发表回复