OpenAI的模型参数与响应
请求说明
| 参数 | 是否必填 | 说明 |
|---|---|---|
| messages | 是 | 一个包含消息历史记录的列表 |
| model | 是 | 模型的名字,常见的值包括 gpt-3.5-turbo 或 gpt-4 |
| frequency_penalty | 频率惩罚,用于控制生成内容的重复性,值越高,模型越倾向于避免重复之前生成的内容,取值范围在-2到2之间 | |
| logit_bias | 一个字典,允许对特定的词应用偏差,key 为词汇的编码(Token ID),值是应用的偏差(从-100到100),这个参数可以用于鼓励或抑制模型生成特定的词汇。 | |
| logprobs | 是否返回输出标记的概率,如果为真,则在消息内容中返回每个输出标记的概率。 | |
| max_tokens | 指定生成文本的最大长度(以 token 计算)。默认值和最大值取决于具体的模型限制 | |
| n | 指定生成的响应数据。如果需要模型生成多个响应,可以设置这个参数,默认值为 1。 | |
| presence_penalty | 存在惩罚,控制模型生成内容的多样性。值越高,模型越倾向于 生成新的主题,而不是重复之间的内容。取值范围一般在 -2 到 2 之间。 | |
| response_format | 响应格式,类型为字典,支持普通文本或 json 格式响应 | |
| seed | 随机种子,类型为整数。该功能目前处于测试阶段,如果指定了 数据,则系统会尽最大努力进行确定性采样,以便使用相同的种 子和参数的重复请求应返回相同的结果,但是确定性无法保证 | |
| stream | 布尔值,代表是否启用流式响应。如果为 true,API 将逐步返回 消息,而不是一次性返回完整的响应 | |
| stream_options | 流式响应配置,当 stream 为 true 时,可以传递对应的配置信 息,让每次流式响应返回 token 的使用计数情况。 | |
| temperature | 温度,用于控制生成文本的随机性。值在0~2之间,值越高生成 的内容越随机,值越低生成的内容越确定,默认值为 1。 | |
| top_p | 使用核采样来控制输出。值在0到1之间,表示生成概率最高的前 p%的词汇。和 temperature 一起使用时, top_p 也是一种控制 输出多样性的手段。默认值通常为1 | |
| tools | 模型可能调用的工具列表。目前仅支持将函数作为工具,使用使 功能可以提供一个函数列表,模型可以为这些函数生成 JSON 输 入,最多支持 128 个函数 | |
| tool_choice | 用于控制模型调用的工具,none 表示模型不会调用任何工具, 而是生成一条消息。 auto 表示模型可以在生成消息或调用一个或多个工具之间进行选 择。 required 表示模型必须调用一个或者多个工具,通过 {"type": "function", "function": {"name": "my_function"}} 可以 让模型调用特定的工具 | |
| user | 终端用户标识,用于帮助 OpenAI 进行监控和检测滥用行为 |
响应说明
OpenAI 的大模型响应分为整体响应(一次性将生成内容)和流式响应(每生成一点返回一点),两个响
应结构上是比较接近的,响应参数如下
| 字段 | 说明 |
|---|---|
| id | 每次响应内容的唯一 ID。 |
| choices | 类型为数组字典,用于存储生成的内容。 |
| |-- finish_reason | 模型停止生成 token 的原因。 如果模型遇到自然停止或者提供的停止词序列,则为 stop 。 如果达到了请求中的最大令牌数,则为 length 。 如果由于内容被审核过滤,则为 content_filter 。 如果模型调用了工具,则为 tool_calls 。 |
| |-- index | 一次性生成多条消息时返回的索引 |
| | -- message | 有模型生成的消息,类型为字典。内部包含 content、tool 、 等 _calls role 字段。 |
| | -- logprobs | 记录 token 生成的概率信息,如果请求参数设置了 loggrobs 的话。 |
| created | 生成记录对应的时间戳,时间以秒为单位。 |
| model | 使用的模型 |
| system_fingerprint | 系统指纹,该指纹表示模型运行时使用的后端配置。可以和 seed 请求参数 结合使用,以了解合适进行了可能影响确定性的后端更改 |
| object | 对象类型,该值固定为 chat.complement |
| usage | 统计模型的 token 使用信息。涵盖 completion_tokens、 prompt_tokens 和 total_tokens |
