【AI大模型接入SDK】ChatGPT API

作者:艾莉丝努力练剑日期:2026/9/12

🎬 个人主页艾莉丝努力练剑

专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录
Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬 艾莉丝的简介:


文章目录

  • 1 ~> OpenAI API 体系与版本演进
    • 1.1 两套核心 API 定位
    • 1.2 核心能力对比
    • 1.3 官方选型建议
  • 2 ~> Chat Completions API(传统聊天接口)
    • 2.1 接口基础信息
    • 2.2 请求参数详解
      • 2.2.1 核心必填参数
        • 2.2.2 常用可选参数
        • 2.2.3 消息角色(Role)定义
    • 2.3 请求头规范
    • 2.4 响应体结构(非流式)
    • 2.5 会话上下文机制
  • 3 ~> Responses API(新一代多模态接口)
    • 3.1 接口基础信息
    • 3.2 核心请求参数
      • 3.2.1 核心输入参数
        • 3.2.2 常用控制参数
        • 3.2.3 高级参数
    • 3.3 请求头规范
    • 3.4 全量响应结构(非流式)
    • 3.5 流式响应与事件驱动机制
      • 3.5.1 流式开启方式
        • 3.5.2 标准事件类型
        • 3.5.3 流式数据解析要点
    • 3.6 多模态能力支持
  • 4 ~> Apifox 接口测试实操流程
    • 4.1 环境与密钥配置
      • 4.1.1 环境变量配置
        • 4.1.2 全局前置 URL 配置
    • 4.2 接口创建与参数配置
    • 4.3 网络代理配置
    • 4.4 非流式响应测试与解析
    • 4.5 流式响应测试与事件解析
  • 结尾


1 ~> OpenAI API 体系与版本演进

1.1 两套核心 API 定位

OpenAI 对外提供两代聊天交互 API,分别面向不同场景与技术架构:

  • Chat Completions API:传统文本聊天接口,架构简单,仅面向文本交互场景
  • Responses API:新一代事件驱动型接口,原生支持多模态,官方推荐新项目优先使用

1.2 核心能力对比

对比维度Chat Completions APIResponses API
产品定位对话生成场景(聊天机器人、客服问答、简单 FAQ)多模态智能助手(文本、语音、图像、函数调用等复杂交互)
输入格式聊天消息数组 messages:[{role, content}]统一输入字段 input,支持文本、音频、图像、文件等多类型
输出形式完整文本回复,支持文本流式输出基于语义事件流输出,包含文本增量、音频增量、工具调用、完成事件等
流式能力仅支持文本逐 token 流式返回支持多模态细粒度流式输出,包含文本、语音、工具调用状态
多模态支持部分模型支持图像输入,能力有限原生全链路支持多模态,可同步输出文本与语音
交互可控性一次请求对应一次完整回复,生成过程不可干预支持生成中动态打断、分支跳转、工具函数调用
典型应用简单对话机器人、文本补全、问答系统智能办公助手、语音对话机器人、多模态应用、Agent 系统

1.3 官方选型建议

  • 新项目优先采用 Responses API,以适配 OpenAI 平台最新特性与多模态能力
  • 存量简单文本对话项目可继续使用 Chat Completions API,具备广泛的模型兼容性

2 ~> Chat Completions API(传统聊天接口)

2.1 接口基础信息

2.2 请求参数详解

2.2.1 核心必填参数

参数名称参数类型必填参数说明
modelstring模型名称,如 gpt-4o-mini、gpt-4.1
messagesarray对话历史数组,每条消息包含 role 与 content 字段

2.2.2 常用可选参数

参数名称参数类型默认值参数说明
temperaturenumber1采样温度,取值范围 0~2;值越高输出随机性越强,值越低输出越确定
top_pnumber1核心采样阈值,与 temperature 二选一,不可同时设置;0.1 表示仅考虑概率前 10% 的 token
streambooleanfalse是否开启流式响应,开启后以增量数据形式返回
stopstring / arraynone停止词,最多支持 4 个,模型生成到对应字符时终止输出
max_tokensinteger-生成内容的最大 token 数;OpenAI 官方已不推荐使用,但多数模型仍兼容
max_completion_tokensinteger-生成 token 数上限,包含可见输出 token 与推理 token
presence_penaltynumber0重复惩罚,取值 - 2.0~2.0;正值降低重复概率,负值增加重复概率
frequency_penaltynumber0频率惩罚,取值 - 2.0~2.0;根据 token 出现频率惩罚,减少重复内容
ninteger1单次请求生成的回复结果数量
seedinteger-随机种子,指定后相同参数与种子的请求将返回确定性结果
toolsarray-工具调用列表,仅支持函数类型工具,用于实现 Function Calling 能力

2.2.3 消息角色(Role)定义

  • system:系统提示词,用于给模型设定角色与行为规范;新版模型推荐使用developer替代
  • developer:开发者指令,优先级高于历史消息,用于注入模型必须遵循的规则
  • user:用户输入消息,即终端用户向模型提交的提问与内容
  • assistant:助手回复消息,即模型生成的回答内容
  • tool:工具调用结果,用于将外部工具执行结果返回给模型

2.3 请求头规范

字段名称字段值说明
Content-Typeapplication/json请求体格式为 JSON
AuthorizationBearer ${API_KEY}认证方式为 Bearer Token,值为 OpenAI API 密钥

2.4 响应体结构(非流式)

1{
2  "id": "chatcmpl-B9MBs8CjcvOU2jLnn5755qMJKT",
3  "object": "chat.completion",
4  "created": 1741569952,
5  "model": "gpt-4.1-2025-04-14",
6  "choices": [
7    {
8      "index": 0,
9      "message": {
10        "role": "assistant",
11        "content": "Hello! How can I assist you today?",
12        "refusal": null,
13        "annotations": []
14      },
15      "logprobs": null,
16      "finish_reason": "stop"
17    }
18  ],
19  "usage": {
20    "prompt_tokens": 19,
21    "completion_tokens": 10,
22    "total_tokens": 29,
23    "prompt_tokens_details": {
24      "cached_tokens": 0,
25      "audio_tokens": 0
26    },
27    "completion_tokens_details": {
28      "reasoning_tokens": 0,
29      "audio_tokens": 0,
30      "accepted_prediction_tokens": 0,
31      "rejected_prediction_tokens": 0
32    }
33  },
34  "service_tier": "default"
35}
36
  • 核心字段说明:
    • choices[0].message.content:模型生成的完整文本回复
    • finish_reason:生成终止原因,常见值:stop(正常结束)、length(达到 token 上限)
    • usage:token 消耗统计,用于计费与用量监控

2.5 会话上下文机制

  • OpenAI API 本身为无状态设计,不具备会话记忆能力
  • 实现多轮对话必须将完整历史对话通过messages数组全部提交给模型
  • 官方已推出记忆功能,但仅面向 C 端用户,API 调用仍需开发者自行维护上下文

3 ~> Responses API(新一代多模态接口)

3.1 接口基础信息

3.2 核心请求参数

3.2.1 核心输入参数

参数名称参数类型必填参数说明
modelstring模型名称,如 gpt-4o-mini、gpt-4.1
inputstring / array多模态输入,支持文本、图像、文件等多种格式;替代 Chat Completions 的messages字段

3.2.2 常用控制参数

参数名称参数类型默认值参数说明
instructionsstring-系统 / 开发者指令,作用等同于 system 消息;与previous_response_id联用时不会继承历史指令
max_output_tokensinteger-生成 token 上限,替代原max_tokens,包含可见输出与推理 token
temperaturenumber1.0采样温度,作用与 Chat Completions 一致
top_pnumber1.0核心采样阈值,作用与 Chat Completions 一致
streambooleanfalse是否开启流式响应
max_tool_callsinteger-单次响应中内置工具的最大调用次数
tool_choicestringauto工具调用策略,可选值:auto、none、指定工具
storebooleantrue是否存储该对话,用于后续会话继承
previous_response_idstringnull上一条响应 ID,用于实现多轮会话上下文继承

3.2.3 高级参数

  • background:布尔值,是否后台运行模型响应,适用于长耗时任务
  • conversation:会话 ID 或会话对象,用于关联多轮对话,响应完成后自动追加内容
  • include:数组,指定额外输出数据,支持:
    • 网页搜索来源、代码解释器输出、文件搜索结果
    • 输入图片 URL、输出文本 logprobs、推理加密内容

3.3 请求头规范

与 Chat Completions API 完全一致:

字段名称字段值说明
Content-Typeapplication/json请求体格式为 JSON
AuthorizationBearer ${API_KEY}Bearer Token 认证

3.4 全量响应结构(非流式)

1{
2  "id": "resp_67ccd2bed1ec819b14f964abc54267bb6a6b4523795b",
3  "object": "response",
4  "created_at": 1741476542,
5  "status": "completed",
6  "error": null,
7  "incomplete_details": null,
8  "instructions": null,
9  "max_output_tokens": null,
10  "model": "gpt-4.1-2025-04-14",
11  "output": [
12    {
13      "type": "message",
14      "id": "msg_67ccd2bf17f81981f3bb3cf658e6bb6a6b4523d3795b",
15      "status": "completed",
16      "role": "assistant",
17      "content": [
18        {
19          "type": "output_text",
20          "text": "In a peaceful grove beneath a silver",
21          "annotations": []
22        }
23      ]
24    }
25  ],
26  "parallel_tool_calls": true,
27  "previous_response_id": null,
28  "reasoning": {
29    "effort": null,
30    "summary": null
31  },
32  "temperature": 1.0,
33  "text": {
34    "format": {
35      "type": "text"
36    },
37    "verbosity": "medium"
38  },
39  "tool_choice": "auto",
40  "tools": [],
41  "top_p": 1.0,
42  "truncation": "disabled",
43  "usage": {
44    "input_tokens": 36,
45    "input_tokens_details": {
46      "cached_tokens": 2
47    },
48    "output_tokens": 22,
49    "output_tokens_details": {
50      "reasoning_tokens": 0
51    },
52    "total_tokens": 58
53  }
54}
55
  • 核心提取字段:output[0].content[0].text 为模型生成的完整文本内容

3.5 流式响应与事件驱动机制

3.5.1 流式开启方式

请求体中设置 "stream": true 即可开启流式响应,响应以 Server-Sent Events(SSE)事件流形式返回

3.5.2 标准事件类型

事件类型触发时机携带数据
response.created响应对象创建完成,模型开始处理前响应基础信息
response.in_progress模型开始生成内容进度状态
response.output_text.delta文本增量输出,每生成一段文本触发一次增量文本内容delta
response.output_text.completed单个文本输出块生成完成完整文本块
response.output_item.added新增输出项(如工具调用、音频等)输出项信息
response.content_part.added新增内容分片内容分片信息
response.completed整个响应生成结束最终完整响应与用量统计

3.5.3 流式数据解析要点

  • 核心文本数据通过连续的 response.output_text.delta 事件返回,每个事件携带一段增量文本
  • 客户端需按顺序拼接所有delta字段,得到完整回复
  • 最终通过 response.completed 事件确认响应结束,并获取最终 token 用量
  • 与 DeepSeek 等模型不同,OpenAI 流式响应的结束事件同时携带完整结果

3.6 多模态能力支持

Responses API 原生支持多模态输入输出:

  • 输入侧:文本、图片、文件、音频
  • 输出侧:文本、音频、结构化数据、工具调用结果
  • 内置工具:网页搜索、文件搜索、代码解释器、计算机调用

4 ~> Apifox 接口测试实操流程

4.1 环境与密钥配置

4.1.1 环境变量配置

在 Apifox 环境管理中配置全局环境变量,用于密钥管理:

变量名类型说明
CHATGPT_APIKEY秘密ChatGPT 官方 API 密钥
DEEPSEEK_APIKEY秘密DeepSeek API 密钥
GEMINI_APIKEY秘密Gemini API 密钥

4.1.2 全局前置 URL 配置

  • ChatGPT 官方接口基础地址:https://api.openai.com
  • 所有接口继承全局前置 URL,避免重复填写域名

4.2 接口创建与参数配置

  1. 新建接口,请求方法选择POST,路径填写/v1/responses
  2. 请求头配置
    1. Content-Type: application/json
    2. Authorization: Bearer {{CHATGPT_APIKEY}}
  3. 请求体(Body)配置
    1. 选择 JSON 格式,填写核心参数:modelinputstream
    2. 示例:

4.3 网络代理配置

由于 OpenAI 接口为外网服务,需配置请求代理:

  • 代理模式:自定义代理
  • 代理服务器:127.0.0.1
  • 代理端口:7890(本地代理工具默认端口)
  • 生效范围:仅应用于发送接口请求,不影响 Apifox 服务器连接

4.4 非流式响应测试与解析

  1. 发送请求,响应状态码为200 OK表示请求成功
  2. Apifox 自动反序列化 JSON 响应体,展示结构化数据
  3. 核心数据提取路径:output[0].content[0].text,即为模型返回的文本内容
  4. 可通过usage字段查看本次请求的 token 消耗情况

4.5 流式响应测试与事件解析

  1. 请求体设置"stream": true,发送请求
  2. Apifox 控制台实时展示事件流,按时间顺序输出所有事件
  3. 解析要点:
    1. 忽略初始的创建、进度事件,聚焦response.output_text.delta事件
    2. 每个 delta 事件携带一段增量文本,按顺序拼接得到完整内容
    3. 最终通过response.completed事件确认响应结束
  4. 代码实现时,需使用 SSE 解析器逐事件处理,实现打字机效果

结尾

uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!

艾莉丝努力练剑 C/C++ & Linux 底层探索者 | 一个正在努力练剑的技术博主 👀 【关注】 跟随我一起深耕技术领域,见证每一次成长。 ❤️ 【点赞】 让优质内容被更多人看见,让知识传递更有力量。 ⭐ 【收藏】 把核心知识点存好,在需要时随时查、随时用。 💬 【评论】 分享你的经验或疑问,评论区一起交流避坑! **不要忘记给博主“一键四连”哦! “今日练剑达成!” “技术之路难免有困惑,但同行的人会让前进更有方向。”

结语:希望对学习Linux相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

**往期回顾:

【AI大模型接入SDK】ChatGPT 模型接入

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა


【AI大模型接入SDK】ChatGPT API》 是转载文章,点击查看原文


相关推荐


最新大数据毕业设计选题推荐-基于大数据的电商与本地服务消费评论数据可视化分析-大数据-Spark-Hadoop-Bigdata
IT研究室2026/9/4

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python项目 安卓项目 微信小程序项目 文章目录 一、前言二、开发环境三、系统界面展示四、代码参考五、系统视频结语 一、前言 系统介绍 本系统《基于大数据的电商与本地服务消费评论数据可视化分析》以Hadoop分布式文件系


MySQL DQL全面解析:从入门到精通
渣渣盟2026/8/27

​ 在数据库的广阔天地中,MySQL 凭借其开源、高效、易用等特性,成为了众多开发者的首选。而在 MySQL 的众多功能中,数据查询语言(Data Query Language,简称 DQL)无疑是最为常用且强大的部分之一。通过 DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理。本文将深入探讨 MySQL DQL 的各个方面,帮助你全面掌握这一重要技能。 一、DQL 基础:SELECT 语句入门 DQL 的核心是 SELECT 语句,它的基本语法如下: SELECT co


我做了一个软著 Skill,可以一键生成申请材料
IvanCodes2026/8/19

Hello,大家好,我是Ivan。 大家做完一个项目以后,可能会遇到一个问题,需要申请软著。这时候,申请表、操作手册和代码材料就都需要重新整理一遍,很麻烦,浪费时间。 所以,我把这部分做成了一个软著 Skill,名字叫 software-certificate-skill。把项目交给它以后,它会读取项目里的代码、页面和接口,然后生成申请表信息、操作手册和代码材料。 skill已经开源了,github链接是 https://github.com/IvanCodesDev/software-c


鸿蒙应用开发:V1与V2版本数据持久化实战教程
程序员黑豆2026/8/6

这是一个使用鸿蒙技术开发的本地原生记账应用,非常适合大家用来练手。相关源码已上传至 Github,点击此处查看项目。欢迎大家交流、指正,也欢迎提交 PR。 一、引言 在鸿蒙应用开发中,数据持久化是构建完整应用体验的关键一环。无论是保存用户的登录状态、个人偏好,还是缓存应用的核心数据,都需要一套可靠且高效的持久化方案。随着HarmonyOS版本的演进,数据持久化能力也从V1版本进化到了V2版本,带来了更强大的功能和更灵活的使用方式。 本文将深入对比V1(PersistentStorage + A


上线一个人静态网站需要多少钱,难不难?
五阳2026/7/28

不难,有合法身份证就能办,只需要花费 10 元,就能发布一个网站。 但是有门槛,先说门槛,如果你的网站需要中国大陆访问,那么必须要域名备案,不同省份等待时间不同。不过最多两周,最少 1 周也能审核完成。 有人问域名不备案就访问不通吗?不是的,我在阿里云申请的域名还没来得及备案,据我观察,大约有 2-3 周时间内,是允许中国大陆用户访问的,但是三周以后如果你还没有备案,那么就会被封掉,但是海外用户还能访问。 这是上线一个网站最困难和煎熬的环节了。 注意:国内个人用户备案域名,只能备案个人博客用途,


Agentic RAG 入门:从固定检索到自主决策
copyer_xyf2026/7/20

普通 RAG 的思路很直接:用户提出问题,系统从知识库检索相关片段,再让大模型根据这些片段生成回答。 这条链路解决了一个重要问题:模型不必只依赖训练时记住的知识,而是可以在回答前读取企业文档、产品手册、业务数据等外部资料,再根据资料组织答案。 但传统 RAG 的执行流程通常是固定的。这里的“固定”,不是说每次召回的文档都相同,而是说无论用户问什么、检索结果质量如何,程序都会按照上图展示的同一条路径执行。它不会在运行过程中重新判断,也不会主动改变检索策略。 但是,这种固定流程会遇到几个实际问题:


AEO 答案引擎优化:从“被搜索”到“被引用”的 AI 营销下一站
A亨日记2026/7/11

一、AI 正在改写“搜索”的默认行为 过去二十年,用户打开百度、Google 的第一件事是输入关键词,然后在十条蓝色链接里选择。但今天,越来越多的人直接向 DeepSeek、豆包、Kimi、ChatGPT 提问,并期待得到一个“直接可用”的答案。 这意味着企业的营销目标正在发生根本转移: SEO 时代:争取搜索结果页的前十排名;GEO 时代:争取被生成式引擎在回答中主动引用;AIO 时代:用结构化数据与反馈闭环持续优化 AI 对企业的“认知”;AEO 时代:直接为答案引擎生产“可被引用的高置信度


解决方案十八-企业级发音评测技术使用
Liu202605172026/7/3

在人工智能与教育深度融合的今天,语音评测技术(Speech Evaluation)已成为语言学习、在线教育、智能客服等领域的核心基础设施。无论是英语四六级口语考试、普通话水平测试,还是儿童语言启蒙应用,都离不开稳定、精准的语音评测能力。 然而,对于许多前端开发者而言,语音评测似乎总隔着一层“黑盒”——如何从前端采集音频?如何与云端AI服务建立稳定连接?如何处理流式数据并实时展示评测结果?这些问题往往让人望而却步。 本文将带你从零开始,基于Vue.js和WebSocket协议,构建一个完整的语


Claude Code上手指南:安装、部署、接入大模型
小此方2026/6/25

◆ 博主名称: 晓此方-CSDN博客 大家好,欢迎来到晓此方的博客。 ⭐️现代AI系列个人专栏: 【别传】AI应用与开发 ⭐️ “当AI能力被内化,智能就不再是成本,而是生产力。”——李彦宏 概要&序論    Hello,大家好,我是此方。 本文将带大家从零开始,完整走通 Claude Code 的安装、配置与部署流程。 一,让你的 Claude Code 动起来 1.1 安装前置软件 1


K-Means 聚类的目标函数:簇内误差平方和
F_D_Z2026/6/16

1. 什么是 K-Means? K-Means 是一种无监督、迭代式的聚类算法: 给定数据集 {x₁, x₂, …, xₙ} 与预设簇数 K,算法把样本划分为 K 个不相交的簇 C₁, C₂, …, Cₖ,使得同一簇内样本尽可能相似,不同簇间样本尽可能远离。 核心思想: > “让簇内‘抱团’,让簇间‘疏远’。” 2. 目标函数 J:簇内误差平方和(WCSS) K-Means 用几何距离衡量相似性,目标函数 J 定义为: J=∑k=1K∑x∈Ck∥x−μk∥2 J = \sum_{k=1}^{K

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读