QDKT3-2-AI 产品经理的必修课一JSON和API
调用大模型API,本质是按照大模型提供的“通信规则”(API文档),构造合法请求并发送,最终获取响应。"role": "user", // 角色(user=用户,assistant=助手)"model": "kimi-pro", // 模型名称(需按API文档指定)"content": "讲个笑话" // 提示词(核心指令)"content": "讲个关于程序员的笑话""用户信息": {"姓名":
在产品开发中,设备与云端、设备与设备之间需要传递数据(比如刷抖音时加载视频、发消息时传递内容),但普通格式存在明显缺陷:
- Word/PPT:体积大、解析复杂,不适合程序自动处理。
- Excel:需要依赖Office套件,跨平台兼容性差。
- TXT:无结构化,无法明确数据的含义(比如无法区分“18”是年龄还是成绩)。
- CSV:虽结构化,但需通过列名匹配数据,查找效率低,无明确的字段说明。
JSON的核心优势:
- 既是纯文本,无需特殊软件解析;
- 结构化清晰,每个数据都有明确的“字段名”(说明数据含义);
- 跨平台、跨语言兼容,是设备/云端通信的首选格式。
API(应用程序接口)是不同程序之间通信的规则和方式,类比“写信”的逻辑:
|
写信流程 |
API请求对应逻辑 |
|
知道收件人地址 |
明确API的请求地址(服务器地址+具体服务路径) |
|
写清楚信件内容 |
按照API要求的格式构造请求体(需传递的指令/数据) |
|
贴邮票(证明合法) |
携带认证信息(API Key),证明调用权限 |
|
邮局投递 |
通过HTTP协议(如POST方法)发送请求 |
|
收件人回信 |
服务器验证通过后,返回响应结果(如大模型的回答) |
核心结论:调用大模型API,本质是按照大模型提供的“通信规则”(API文档),构造合法请求并发送,最终获取响应。
- 整体格式:大部分JSON以{}(花括号)包裹,内部是“字段名: 值”的键值对组合,键值对之间用英文逗号分隔。
|
JSON |
- 核心概念:
- 字段名:类似Excel的表头(如“姓名”“年龄”),用英文双引号包裹,明确数据的含义。
- 值:字段对应的数据,支持多种类型(下文详解)。
|
数据类型 |
英文名称 |
格式要求 |
示例 |
|
字符串 |
String |
用英文双引号包裹,可包含文本、数字、链接等 |
"姓名": "李雷"、"图片链接": "https://xxx.jpg" |
|
数字 |
Number |
无需引号包裹,支持整数、小数 |
"年龄": 20、"成绩": 95.5 |
|
数组 |
Array |
用英文中括号[]包裹,元素间用英文逗号分隔,元素可是任意类型 |
"爱好": ["篮球", "编程", 18] |
|
对象 |
Object |
用英文花括号{}包裹,内部是键值对,可嵌套其他对象/数组 |
"用户信息": {"姓名": "韩梅梅", "年龄": 19} |
|
布尔值 |
Boolean |
无引号包裹,仅支持true(是)或false(否) |
"是否成年": true |
|
空值 |
Null |
无引号包裹,表示“无数据” |
"备注": null |
- 字段名必须用英文双引号包裹(不可用中文引号或单引号)。
- 键值对之间、数组元素之间必须用英文逗号分隔(不可用中文逗号)。
- 字符串类型的值必须用英文双引号包裹,数字、布尔值、null无需包裹。
- 不可出现多余的逗号(如最后一个键值对后加逗号)。
假设我们有一个JSON数据,命名为data:
|
JSON |
- 提取基础字段(字符串/数字):
- JavaScript中:data.姓名 → 结果:"李雷";data.年龄 → 结果:20
- 核心逻辑:JSON变量名.字段名
- 提取数组元素(数组有序,从0开始计数):
- 提取爱好中的第二个元素(编程):data.爱好[1] → 结果:"编程"
- 核心逻辑:JSON变量名.数组字段名[索引](索引从0开始)
- 提取嵌套对象字段:
- 提取邮箱:data.联系方式.邮箱 → 结果:"lilei@xxx.com"
- 核心逻辑:JSON变量名.外层字段名.内层字段名(逐层拆解)
一个完整的大模型API请求包含两个关键部分:请求头(Header) 和请求体(Body),需严格遵循API文档要求构造。
请求头相当于“信件的信封+邮票”,用于告诉服务器:“我是谁”“我们用什么格式通信”。
- 核心参数(大模型API通用):
|
参数名 |
作用 |
示例值 |
|
Content-Type |
声明请求体格式 |
application/json(JSON格式) |
|
Authorization |
身份认证(API Key) |
Bearer sk-xxxxxxxxxxxxxxxxxx(Key为申请的密钥) |
- 关键注意事项:
- API Key是唯一身份凭证,相当于“银行卡密码”,不可泄露给他人。
- 申请Key后需立即复制保存,一旦关闭申请页面,将无法再次查看完整Key(需重新创建)。
- Authorization格式固定:Bearer + 空格 + API Key(不可遗漏空格)。
请求体相当于“信件的正文”,包含向大模型发送的指令(提示词)、模型选择等参数,必须为JSON格式(与请求头Content-Type一致)。
以Kimi API为例,请求体示例:
|
JSON |
核心参数说明(零基础先掌握这3个):
- model:指定调用的大模型(如kimi-pro、gpt-3.5-turbo等,需按API文档填写)。
- messages:对话历史数组,每个元素是一个对象,包含role(角色)和content(内容)。
- content:用户的核心指令(提示词),如“讲个笑话”“计算1+1等于多少”。
- 下载API调试工具:Fox API(建议下载客户端,避免网页版报错)。
- 获取Kimi API相关信息:
- API文档地址(需参考官方提供)。
- 申请API Key:进入Kimi用户中心→创建API Key→命名(如“演示”)→复制Key并保存。
- 充值API额度(Kimi需充值,阿里部分模型有免费额度)。
打开Fox API客户端→点击“新建接口”→输入接口名称(如“Kimi笑话请求”)。
- 请求方法:选择POST(大模型API通用,少数例外需看文档)。
- 请求地址:从Kimi API文档复制完整地址(含“根目录+服务路径”,如https://api.kimi.moonshot.cn/v1/chat/completions)→ 粘贴到Fox API的“地址栏”。
- 在Fox API中找到“Header”选项卡→点击“添加参数”。
- 第一个参数:
- 参数名:Content-Type
- 参数值:application/json
- 第二个参数:
- 参数名:Authorization
- 参数值:Bearer sk-xxxxxxxxxxxxxxxxxx(将sk-xxx替换为你申请的API Key,注意Bearer后加空格)。
- 确认无多余参数,保存Header配置。
- 在Fox API中找到“Body”选项卡→选择“JSON”格式(必须与Header一致)。
- 从Kimi API文档复制请求体示例→粘贴到JSON编辑框。
- 修改提示词:将content的值改为你的需求(如“讲个笑话”“解释什么是API”)。
- 语法校验:
- 检查所有引号、逗号是否为英文。
- 检查键值对是否完整(无遗漏冒号、逗号)。
- 示例修改后:
|
JSON |
- 点击Fox API中的“发送”按钮→等待模型响应(几秒到十几秒)。
- 成功响应示例(JSON格式):
|
JSON |
- 提取结果:从choices[0].message.content中获取大模型的回答。
|
错误现象 |
可能原因 |
解决方案 |
|
认证失败 |
API Key错误/遗漏Bearer空格 |
检查Key是否正确,确认Authorization格式为“Bearer + 空格 + Key” |
|
格式错误 |
中文逗号/引号、缺少逗号 |
将所有标点改为英文,检查JSON语法(可使用在线JSON校验工具) |
|
地址错误 |
缺少服务路径(仅填了根目录) |
从API文档复制完整地址(含门牌号,如/v1/chat/completions) |
|
无响应 |
额度不足 |
充值API额度后重试 |
更多推荐


所有评论(0)