Skip to content

OpenAI 接口

1.聊天(Chat)

接口功能:为指定的聊天对话创建一个模型响应。 接口协议:HTTP 传输格式:JSON 请求方式:POST 请求地址:http://{IP地址}:{端口}/v1/chat/completions 请求数据格式:

Headers参数:

参数参数类型参数值
Content-Typestringapplication/json
AuthorizationstringBearer {Your API Key} 例如:Bearer sk-hw_H5Tr3lZukGZmwcteQIYVIEzAGojzWXjJ0Fl3RBcuvJ7tYQw-1IH4LqvBeTgcZ

Body参数:

参数参数类型可选描述
modelstring必选用于聊天完成的模型
promptstring/array可选生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。
messagesarray必选对话所包含的消息列表
rolestring必选指定角色
contentstring必选问答内容
temperatureinteger可选采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。
top_logprobsinteger可选一个介于0到20之间的整数,指定在每个令牌位置最可能返回的令牌数量,每个令牌都有一个相关的日志概率。使用此参数时,Logprobs必须设置为true。
top_pinteger可选温度抽样的另一种选择,核采样,其中模型考虑具有top_p概率质量的令牌的结果。所以0.1意味着只考虑包含前10%概率质量的标记。
ninteger可选为每个输入消息生成多少个聊天完成选项。注:将根据在所有选项中生成的令牌数量收费。保持n为1以最小化成本。
streamboolean可选默认为 false 如果设置,则像在 ChatGPT 中一样会发送部分消息增量。标记将以仅数据的服务器发送事件的形式发送,这些事件在可用时,并在 data: [DONE] 消息终止流。
stream_optionsobject可选流响应选项。只有当你设置stream: true时才需要设置这个。
stopstring可选默认为 null 最多 4 个序列,API 将停止进一步生成标记。
stop_token_idsarray可选用于控制文本生成的长度和结束点
max_tokensinteger可选在聊天补全中生成的最大标记数。输入标记和生成标记的总长度受模型的上下文长度限制
presence_penaltynumber可选-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。
frequency_penaltynumber可选默认为 0 -2.0 到 2.0 之间的数字。正值根据文本目前的存在频率惩罚新标记,降低模型重复相同行的可能性。
logprobsboolean可选是否返回输出令牌的日志概率。如果为true,则返回消息内容中返回的每个输出令牌的日志概率。
userstring可选代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。
response_formatobject可选指定模型必须输出的格式的对象。 将 { "type": "json_object" } 启用 JSON 模式,这可以确保模型生成的消息是有效的 JSON。 重要提示:使用 JSON 模式时,还必须通过系统或用户消息指示模型生成 JSON。如果不这样做,模型可能会生成无休止的空白流,直到生成达到令牌限制,从而导致延迟增加和请求“卡住”的外观。另请注意,如果 finish_reason="length",则消息内容可能会被部分切断,这表示生成超过了 max_tokens 或对话超过了最大上下文长度。 显示属性
seedinteger可选此功能处于测试阶段。如果指定,系统将尽最大努力确定性地进行采样,以便使用相同的种子和参数进行重复请求应返回相同的结果。不能保证确定性。
service_tierstring可选指定用于处理请求的延迟层。
如果设置为“auto”,系统将使用等级积分,直到耗尽为止。
如果设置为“default”,请求将使用具有较低正常运行时间SLA的默认服务层进行处理,并且没有延迟保证。
当未设置时,默认行为为“auto”。
设置此参数后,响应体将包含所使用的service_tier。
toolsarray可选模型可以调用的一组工具列表。目前,只支持作为工具的函数。使用此功能来提供模型可以为之生成 JSON 输入的函数列表。
tool_choiceobject可选控制模型调用哪个函数(如果有的话)。none 表示模型不会调用函数,而是生成消息。auto 表示模型可以在生成消息和调用函数之间进行选择。通过 {"type": "function", "function": {"name": "my_function"}} 强制模型调用该函数。 如果没有函数存在,默认为 none。如果有函数存在,默认为 auto。 显示可能的类型

示例:

json


{
    "service_tier": "default",
    "response_format": {
        "type": "json_object"
    },
    "tools": [],
    "tool_choice": {
        "type": "function",
        "function": {
            "name": "my_function"
        }
    },
    "seed": 0.1,
    "user": "aaa",
    "temperature": 0.50,
    "top_p": 0.50,
    "n": 1,
    "presence_penalty": 0.40,
    "frequency_penalty": 0.70,
    "stop": "\n",
    "stop_token_ids": [
        151329,
        151336,
        151338
    ],
    "max_tokens": 1000,
    "stream": true,
    "stream_options": null,
    "model": "jiesir101-baichuan2-7b-chat",
    "messages": [
        {
            "role": "user",
            "content": "hello"
        }
    ],
    "logprobs": true,
    "top_logprobs": 2,
    "prompt": "java"
}

结果数据格式:

参数类型可选描述
idstring必需聊天完成的唯一标识符
objectstring必需对象类型,总是 chat.completion
createdinteger必需创建聊天完成的Unix时间戳(秒)
modelstring必需用于聊天完成的模型
system_fingerprintstring可选该指纹表示模型运行的后端配置
choicesarray必需聊天完成选项列表。如果n大于1,可以有多个选项
indexinteger可选索引下标
messagearray必需对话所包含的消息列表
rolestring必需用户角色
contentstring必需回答内容
finish_reasonstring可选模型生成的文本序列结束的标识,
stop: 模型遇到了由用户指定的停止序列,比如一个特殊的标记或者句子结束的标点符号。
length: 生成的文本达到了用户指定的最大长度限制。
content_filter: 生成的文本包含了一些被 OpenAI 内容过滤器禁止的内容,因此生成被提前终止。
null: 这通常意味着生成文本没有正常结束,可能是由于某种错误或者异常情况。
usageobject必需完成请求的使用统计信息
completion_tokensinteger必需生成的完成中的标记数
prompt_tokensinteger必需提示中的标记数
total_tokensinteger必需请求中使用的标记总数(提示 + 完成)

示例:

json
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-3.5-turbo-0613",
  "system_fingerprint": "fp_44709d6fcb",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "\n\nHello there, how may I assist you today?",
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}

2.自动补全(completions)

接口功能:给定一个提示,该模型将返回一个或多个预测的完成,返回每个位置的替代标记的概率。 接口协议:HTTP 传输格式:JSON 请求方式:POST 请求地址:http://{IP地址}:{端口}/v1/completions 请求数据格式:

Headers参数:

参数参数类型参数值
Content-Typestringapplication/json
AuthorizationstringBearer {Your API Key} 例如:Bearer sk-hw_H5Tr3lZukGZmwcteQIYVIEzAGojzWXjJ0Fl3RBcuvJ7tYQw-1IH4LqvBeTgcZ

Body参数:

参数参数类型可选描述
modelstring必选用于聊天完成的模型
promptstring/array可选生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。
messagesarray必选对话所包含的消息列表
rolestring必选指定角色
contentstring必选问答内容
temperatureinteger可选采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。 我们通常建议改变这个或top_p但不是两者。
top_logprobsinteger可选一个介于0到20之间的整数,指定在每个令牌位置最可能返回的令牌数量,每个令牌都有一个相关的日志概率。使用此参数时,Logprobs必须设置为true。
top_pinteger可选温度抽样的另一种选择,核采样,其中模型考虑具有top_p概率质量的令牌的结果。所以0.1意味着只考虑包含前10%概率质量的标记。
ninteger可选为每个输入消息生成多少个聊天完成选项。注:将根据在所有选项中生成的令牌数量收费。保持n为1以最小化成本。
streamboolean可选默认为 false 如果设置,则像在 ChatGPT 中一样会发送部分消息增量。标记将以仅数据的服务器发送事件的形式发送,这些事件在可用时,并在 data: [DONE] 消息终止流。
stream_optionsobject可选流响应选项。只有当你设置stream: true时才需要设置这个。
stopstring可选默认为 null 最多 4 个序列,API 将停止进一步生成标记。
stop_token_idsarray可选用于控制文本生成的长度和结束点
max_tokensinteger可选在聊天补全中生成的最大标记数。输入标记和生成标记的总长度受模型的上下文长度限制
presence_penaltynumber可选-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。
frequency_penaltynumber可选默认为 0 -2.0 到 2.0 之间的数字。正值根据文本目前的存在频率惩罚新标记,降低模型重复相同行的可能性。
logprobsboolean可选是否返回输出令牌的日志概率。如果为true,则返回消息内容中返回的每个输出令牌的日志概率。
userstring可选代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。
response_formatobject可选指定模型必须输出的格式的对象。 将 { "type": "json_object" } 启用 JSON 模式,这可以确保模型生成的消息是有效的 JSON。 重要提示:使用 JSON 模式时,还必须通过系统或用户消息指示模型生成 JSON。如果不这样做,模型可能会生成无休止的空白流,直到生成达到令牌限制,从而导致延迟增加和请求“卡住”的外观。另请注意,如果 finish_reason="length",则消息内容可能会被部分切断,这表示生成超过了 max_tokens 或对话超过了最大上下文长度。 显示属性
seedinteger可选此功能处于测试阶段。如果指定,系统将尽最大努力确定性地进行采样,以便使用相同的种子和参数进行重复请求应返回相同的结果。不能保证确定性。
service_tierstring可选指定用于处理请求的延迟层。
如果设置为“auto”,系统将使用等级积分,直到耗尽为止。
如果设置为“default”,请求将使用具有较低正常运行时间SLA的默认服务层进行处理,并且没有延迟保证。
当未设置时,默认行为为“auto”。
设置此参数后,响应体将包含所使用的service_tier。
toolsarray可选模型可以调用的一组工具列表。目前,只支持作为工具的函数。使用此功能来提供模型可以为之生成 JSON 输入的函数列表。
tool_choiceobject可选控制模型调用哪个函数(如果有的话)。none 表示模型不会调用函数,而是生成消息。auto 表示模型可以在生成消息和调用函数之间进行选择。通过 {"type": "function", "function": {"name": "my_function"}} 强制模型调用该函数。 如果没有函数存在,默认为 none。如果有函数存在,默认为 auto。 显示可能的类型

示例:

json

{
    "service_tier": "default",
    "response_format": {
        "type": "json_object"
    },
    "tools": [],
    "tool_choice": {
        "type": "function",
        "function": {
            "name": "my_function"
        }
    },
    "seed": 0.1,
    "user": "aaa",
    "temperature": 0.50,
    "top_p": 0.50,
    "n": 1,
    "presence_penalty": 0.40,
    "frequency_penalty": 0.70,
    "stop": "\n",
    "stop_token_ids": [
        151329,
        151336,
        151338
    ],
    "max_tokens": 1000,
    "stream": true,
    "stream_options": null,
    "model": "jiesir101-baichuan2-7b-chat",
    "prompt": "java",
    "messages": [
        {
            "role": "user",
            "content": "hello"
        }
    ],
    "logprobs": true,
    "top_logprobs": 2
}

结果数据格式:

参数类型可选描述
idstring必需聊天完成的唯一标识符
objectstring必需对象类型,总是 chat.completion
createdinteger必需创建聊天完成的Unix时间戳(秒)
modelstring必需用于聊天完成的模型
choicesarray必需聊天完成选项列表。如果n大于1,可以有多个选项
indexinteger可选索引下标
messagearray必需对话所包含的消息列表
rolestring必需用户角色
contentstring必需回答内容
finish_reasonstring可选模型生成的文本序列结束的标识,
stop: 模型遇到了由用户指定的停止序列,比如一个特殊的标记或者句子结束的标点符号。
length: 生成的文本达到了用户指定的最大长度限制。
content_filter: 生成的文本包含了一些被 OpenAI 内容过滤器禁止的内容,因此生成被提前终止。
null: 这通常意味着生成文本没有正常结束,可能是由于某种错误或者异常情况。
usageobject必需完成请求的使用统计信息
completion_tokensinteger必需生成的完成中的标记数
prompt_tokensinteger必需提示中的标记数
total_tokensinteger必需请求中使用的标记总数(提示 + 完成)

示例:

json
{
    "id": "cmpl-f23ce5464f974e7ab4aace63a35541c3",
    "object": "text_completion",
    "created": 1502861,
    "model": "MaasTN-ChatGLM4-9B",
    "choices": [
        {
            "index": 0,
            "text": "\nCertainly! Could you provide some context or a specific problem statement for the Java",
            "logprobs": null,
            "finish_reason": "length"
        }
    ],
    "usage": {
        "prompt_tokens": 3,
        "total_tokens": 19,
        "completion_tokens": 16
    }
}

最后更新于: