自学教程

AI API 开发

从网页聊天到代码调用:一文读懂AI API开发入门

很多人每天在网页上用AI聊天、写文案,觉得挺方便,但很少往下一步想:能不能让AI直接在自己的产品、脚本、工作流里自动干活?

比如电商网站自动为每件商品生成描述文案,笔记应用自动总结用户输入的长文档,客服系统自动分类和回复用户咨询……这些都不用手动复制粘贴,通过 AI API 就能实现。

简单说,API就是应用之间通信的桥梁。有了它,你的代码可以直接向AI模型发请求、拿结果,把AI能力真正嵌入到自己的业务里。

一、先搞懂三个基础概念

不用上来就写代码,先把最核心的三个概念搞明白。

1. API:封装复杂,只留接口

用餐厅打比方最容易懂:

  • 菜单就是API文档,告诉你能点什么、怎么点;
  • 你跟服务员说“一份宫保鸡丁,少辣”,就是发送API请求;
  • 厨房做好菜端上来,就是返回API响应。

你不用进厨房、不用知道菜怎么做,就能拿到结果——这就是API的价值:把复杂的内部逻辑封装起来,只对外暴露简单的接口。

2. REST API:用HTTP方式通信

REST是目前最主流的API设计风格,简单说就是用HTTP协议的不同方法做不同的事:

  • POST:提交内容,比如发送聊天请求、生成图片,AI API绝大多数都是POST;
  • GET:获取信息,比如查询有哪些模型、查账单;
  • DELETE:删除资源,比如删除对话历史。

3. JSON:API之间的通用语言

JSON是API通信最常用的数据格式,本质就是“键值对”的组合,比如你发给AI的请求长这样:

{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "你好"}],
    "temperature": 0.7
}

规则很简单:对象用大括号、数组用中括号、字符串用双引号、键值对用冒号分隔。它和Python字典很像,但语法更严格,写代码的时候注意区分。

二、开发环境准备:三步搞定

工欲善其事,必先利其器。准备好基础环境,后面写代码才顺畅。

1. Python:调用AI的首选语言

Python是AI开发最常用的语言,库多、生态完善,上手也简单。推荐3.9及以上版本,终端输入python --version就能检查有没有安装。

2. pip:安装第三方库的工具

pip是Python的包管理器,用来安装AI SDK之类的第三方库。建议先升级到最新版,国内用户可以配置清华镜像源,下载速度会快很多。

3. 代码编辑器

  • 大多数人选 VS Code:免费、插件多、轻量够用;
  • 想让AI帮忙写代码可以用 Cursor:内置AI辅助,生成代码很方便;
  • 专业Python开发者可选 PyCharm:功能最全,对Python支持最好。

三、第一次调用AI API:三步跑通

我们以最经典的OpenAI格式为例,很多国内厂商(比如DeepSeek)也兼容这个格式,学会一套就能通用。

第一步:拿到API Key

API Key就是你的身份凭证,相当于调用API的“钥匙”。一般去对应平台的开发者后台创建,比如OpenAI的platform.openai.com,DeepSeek的platform.deepseek.com。

⚠️ 重要提醒:

  1. Key只显示一次,创建完立刻保存;
  2. 永远不要把Key硬编码到代码里、提交到公开仓库,一旦泄露别人会用你的额度产生费用;
  3. 正式项目一定要从环境变量读取Key。

第二步:安装官方SDK

不用自己手写HTTP请求,官方已经封装好了SDK,一行命令安装:

pip install openai

第三步:写第一个调用程序

核心逻辑就三步:初始化客户端→发送请求→提取回复。

from openai import OpenAI# 初始化客户端,正式项目用环境变量读key
client = OpenAI(api_key="你的API Key") # 发送聊天请求
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "请用一句话介绍菜鸟教程"}]
)
# 提取AI的回复
print(response.choices[0].message.content)

运行这段代码,能看到AI返回的文字,就说明调用成功了。

小技巧:国内模型兼容OpenAI格式的,只要多加一个base_url参数,换成对应厂商的接口地址就行,其他代码几乎不用改。

四、常用参数详解:调对参数,输出才对味

API请求里有很多参数可以调,最常用的就几个,掌握了就能控制输出风格。

参数作用取值建议
model选择用哪个模型根据需求选,简单任务用便宜的小模型
messages对话历史消息列表必传,多轮对话就往里面加消息
temperature控制随机性,0-2之间写代码用0.1-0.4,日常用0.7,创意用1.2+
max_tokens最大输出长度设合理上限,避免AI说太多浪费钱
top_p核采样参数一般保持默认1.0就行

其中temperature是最常用的旋钮:越接近0,输出越稳定、每次都差不多;越接近2,输出越随机、越有创意。

五、多轮对话:让AI记住上下文

单轮对话很简单,但真实场景大多需要多轮聊天,让AI记住之前说过什么。

核心原理:历史全量发送

思路非常朴素:用一个列表保存所有对话记录,每次发请求的时候,把完整历史一起发给AI。

  • 用户说一句话,加到列表里;
  • AI回复一句话,也加到列表里;
  • 下次请求带上整个列表,AI就能看懂上下文。

消息严格按照user→assistant→user→assistant的顺序交替,不能乱。

上下文太长了怎么办?

每个模型都有上下文窗口限制,比如16k、32k,聊太久就会超限报错。三种常用处理策略:

策略做法优点缺点
保留最近N条只保留最近的几条消息简单快速可能丢失早期重要信息
AI总结历史用AI把之前的对话压缩成摘要保留关键语义多花一次API费用
滑动窗口保留最近的完整对话段平衡效果和复杂度实现稍麻烦

普通闲聊用“保留最近N条”就够了,重要信息多的长对话可以用“总结历史”的方案。

六、流式输出:实现打字机效果

网页上用AI聊天的时候,文字一个字一个字蹦出来,不用等全部生成完才显示,这就是流式输出

为什么要用流式?

普通模式是AI生成完所有内容一次性返回,长内容可能要等好几秒,用户体验很差;流式模式是生成一个token就发一个,用户能立刻看到进度,感知上会快很多。

技术上用的是SSE(服务器推送事件)协议,服务端持续往客户端推数据。实现也很简单,请求里加个stream=True,然后循环读取每一段内容,实时打印就行。

体验建议:只要不是必须等完整结果的场景,优先用流式输出,用户体验提升非常明显。

七、API费用:怎么算、怎么省

AI API是按用量计费的,用得越多花得越多。懂计费规则和优化技巧,能省不少钱。

Token:计费的基本单位

API不是按字数、按次收费,是按Token算。Token是AI处理文本的最小单位:

  • 英文大约1个Token=0.75个单词;
  • 中文大约1个Token=1-2个汉字。

费用分两部分:你发给AI的叫Prompt Tokens,AI返回你的叫Completion Tokens,加起来就是总消耗。不同模型价格差很多,比如GPT-4就比3.5贵十几倍。

五个省钱实用技巧

  1. 选合适的模型:简单任务用小模型、便宜的模型,不用强上最贵的,能省90%以上;
  2. 限制max_tokens:设合理的输出上限,避免AI废话连篇;
  3. 裁剪上下文:只保留必要的对话历史,没用的就清掉;
  4. 提示简洁:系统提示不要写得又臭又长,说清楚就行;
  5. 结果缓存:相同的问题直接返回缓存结果,不用重复调用。

八、健壮性:错误处理与重试

网络请求总会出错,API也不例外。健壮的代码必须会处理异常。

常见的错误类型

错误状态码原因怎么办
认证失败401API Key错了或者过期了检查Key是否正确
额度不足402账户没钱了充值或者换账号
请求超限429发太快或者额度用完了等一会儿再试
服务器错误5xx服务端出问题了重试

指数退避重试

遇到429、5xx这类临时错误,最标准的做法是指数退避

  • 第一次失败,等1秒重试;
  • 第二次失败,等2秒重试;
  • 第三次失败,等4秒重试;
  • 每次等待时间翻倍,给服务端恢复的机会。

一般重试3次差不多就行,不用无限重试。也可以用tenacity这类第三方库,几行代码就能实现重试逻辑。

九、实战:做一个完整的命令行聊天工具

把上面的知识点整合起来,就能做一个功能完整的命令行AI聊天工具,一般包含这些核心功能:

  • 多轮对话,自动维护历史;
  • 支持流式输出,打字机效果;
  • 统计Token用量和估算费用;
  • 内置命令:清空历史、查看统计、保存对话、切换模型、调整温度;
  • 配置文件管理,不用硬编码Key。

这个小工具做下来,API开发的核心知识点基本就都练到了。

写在最后

从网页上用AI,到用代码调用AI,是从“使用者”到“开发者”的第一步。
不用一开始就做很复杂的项目,从最简单的单轮调用开始,慢慢加多轮对话、流式输出、错误处理,逐步迭代,你会发现把AI能力集成到自己的产品里,其实没那么难。

核心思路永远是:先跑通,再优化;先能用,再好用。

0 条笔记