Skip to main content

input

- `role`: *string* - The role of the author of this message. One of `system`, `user`, or `assistant`.
- `content`: *string* - The contents of the message.
- `name`: *string* (optional) - The name of the author of this message. May contain a-z, A-Z, 0-9, and underscores, with a maximum length of 64 characters.

可选的 OpenAI 参数

  • timeout: float 或 int (可选) - 请求超时时间(以秒为单位)。
  • temperature: float (可选) - 采样温度,介于 0 和 2 之间。较高的值(如 0.8)会使输出更随机,而较低的值(如 0.2)会使其更集中和确定性。
  • top_p: float (可选) - 一种替代采样温度的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。例如,0.1 表示仅考虑构成前 10% 概率质量的标记。
  • n: int (可选) - 每次请求生成的聊天完成数量。
  • stream: bool (可选) - 如果设置为 true,将发送部分消息增量。token 会随着它们生成而逐个发送。
  • stream_options: dict (可选) - 流式传输选项。
  • stop: string 或 array (可选) - API 将停止生成进一步令牌的最多 4 个序列。
  • max_completion_tokens: int (可选) - 生成的完成中的最大令牌数。
  • max_tokens: int (可选) - 在完成请求时生成的最大令牌数(输入 + 输出)。
  • presence_penalty: float (可选) - 介于 -2.0 和 2.0 之间的数字。正值会根据当前是否存在于文本中来惩罚新令牌,从而增加模型谈论新话题的可能性。
  • frequency_penalty: float (可选) - 介于 -2.0 和 2.0 之间的数字。正值会根据新令牌在文本中的现有频率对其进行惩罚,从而减少模型逐字重复同一行的可能性。
  • logit_bias: dict (可选) - 修改指定令牌出现在完成中的可能性。
  • user: string (可选) - 代表终端用户的唯一标识符,有助于 OpenAI 监控和检测滥用。

OpenAI v1.0+ 的新参数

  • response_format: dict (可选) - 响应格式。
  • seed: int (可选) - 随机种子。
  • tools: List (可选) - 工具列表。
  • tool_choice: string (可选) - 工具选择。
  • parallel_tool_calls: bool (可选) - 是否并行调用工具。
  • logprobs: bool (可选) - 是否返回对数概率。
  • top_logprobs: int (可选) - 返回的对数概率数量。
  • deployment_id: string (可选) - 部署 ID。

即将被 OpenAI 弃用的参数

  • functions: List (可选) - 函数列表。
  • function_call: string (可选) - 函数调用。

设置 api_base、api_version、api_key

  • base_url: string (可选) - API 基础 URL。
  • api_version: string (可选) - API 版本。
  • api_key: string (可选) - API 密钥。
  • model_list: list (可选) - 包含 api_base、密钥等的模型列表。

可选的 liteLLM 函数参数

  • **kwargs: 其他关键字参数。

返回类型:

  • ModelResponse: 模型响应。

必填字段

  • model: string - 要使用的模型 ID。请参考模型端点兼容性表,了解哪些模型适用于 Chat API。
  • messages: array - 到目前为止构成对话的消息列表。

messages 的属性

注意 - 数组中的每条消息包含以下属性:

- `role`: *string* - 此消息作者的角色。为 `system`、`user` 或 `assistant` 之一。
- `content`: *string* - 消息内容。
- `name`: *string* (可选) - 此消息作者的名称。可能包含 a-z、A-Z、0-9 和下划线,最大长度为 64 个字符。
  • role: string - 消息作者的角色。角色可以是:system, user, assistant, function 或 tool。

  • content: string or list[dict] or null - 消息的内容。所有消息都要求有内容,但对于包含函数调用的助手消息,内容可能为空。

  • name: string (可选) - 消息作者的名称。如果角色是 "function",则此项为必填。名称应与内容中表示的函数名称匹配。名称可以包含字符(a-z, A-Z, 0-9)和下划线,长度最多为64个字符。

  • function_call: object (可选) - 模型生成的应该调用的函数的名称和参数。

  • tool_call_id: str (可选) - 此消息正在响应的工具调用。

查看所有消息值

可选字段

  • temperature: number or null (可选) - 用于采样的温度,介于0和2之间。较高的值如0.8会产生更多随机的输出,而较低的值如0.2会使输出更加集中和确定。

  • top_p: number or null (可选) - 使用温度的另一种采样方式。它指示模型考虑具有top_p概率的token的结果。例如,0.1意味着只考虑构成最高10%概率质量的token。

  • n: integer or null (可选) - 为每个输入消息生成的聊天完成选择的数量。

  • stream: boolean or null (可选) - 如果设置为true,则发送部分消息增量。token将在可用时发送,流将通过[DONE]消息终止。

  • stream_options dict or null (可选) - 流式响应的选项。仅在设置 stream: true 时设置此项

    • include_usage boolean (可选) - 如果设置,将在数据: [DONE] 消息之前额外流式传输一个块。此块的 usage 字段显示整个请求的token使用统计信息,choices 字段将始终为空数组。所有其他块也将包含 usage 字段,但值为null。
  • stop: string/ array/ null (可选) - API将停止生成进一步token的最多4个序列。

  • max_completion_tokens: integer (可选) - 完成生成的token数量的上限,包括可见输出token和推理token。

  • max_tokens: integer (可选) - 在聊天完成中生成的最大token数量。

  • presence_penalty: number or null (可选) - 用于根据token在文本中至今的存在情况对其进行惩罚。

  • response_format: object (可选) - 指定模型必须输出的格式的对象。

    • 设置为 { "type": "json_object" } 启用JSON模式,确保模型生成的消息是有效的JSON。
    • 重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型生成JSON。没有这一点,模型可能会生成无休止的空白流,直到生成达到token限制,导致长时间运行的看似“卡住”的请求。另请注意,如果 finish_reason="length",消息内容可能会被部分截断,这表明生成超出了max_tokens或对话超出了最大上下文长度。
  • seed: integer or null (可选) - 此功能处于Beta阶段。如果指定,我们的系统将尽力以确定性方式采样,使得使用相同种子和参数的重复请求应返回相同的结果。不保证确定性,您应参考 system_fingerprint 响应参数来监控后端的变化。

  • tools: array (可选) - 模型可能调用的工具列表。目前,仅支持函数作为工具。使用此项提供模型可能生成JSON输入的函数列表。

    • type: string - 工具的类型。目前,仅支持函数。

    • function: object - 必填。

  • tool_choice: string or object (可选) - 控制模型调用哪个(如果有)函数。none 表示模型不会调用函数,而是生成消息。auto 表示模型可以在生成消息或调用函数之间选择。通过 {"type: "function", "function": {"name": "my_function"}} 指定特定函数会强制模型调用该函数。

    • 没有函数时,none 是默认值。有函数时,auto 是默认值。
  • parallel_tool_calls: boolean (可选) - 是否在工具使用期间启用并行函数调用。OpenAI 默认值为 true。

  • frequency_penalty: number or null (可选) - 用于根据token在文本中至今的频率对其进行惩罚。

  • logit_bias: map (可选) - 用于修改特定标记在补全中出现的概率。

  • user: string (可选) - 代表你的终端用户的唯一标识符。这可以帮助 OpenAI 监控和检测滥用行为。

  • timeout: int (可选) - 补全请求的超时时间(以秒为单位,默认值为600秒)

  • logprobs: bool (可选) - 是否返回输出标记的对数概率。如果为 true,则在消息内容中返回每个输出标记的对数概率

  • top_logprobs: int (可选) - 一个介于0和5之间的整数,指定在每个标记位置返回的最可能的标记数量,每个标记都有一个相关的对数概率。如果使用此参数,logprobs 必须设置为 true。

已弃用的参数

  • functions: array - 模型可能用于生成 JSON 输入的函数列表。每个函数应具有以下属性:

    • name: string - 要调用的函数的名称。它应包含 a-z、A-Z、0-9、下划线和破折号,最大长度为64个字符。
    • description: string (可选) - 描述函数功能的说明。它帮助模型决定何时以及如何调用函数。
    • parameters: object - 函数接受的参数,描述为 JSON Schema 对象。
  • function_call: string 或 object (可选) - 控制模型如何响应函数调用。

litellm 特定的参数

  • api_base: string (可选) - 你想调用模型的 API 端点

  • api_version: string (可选) - (Azure 特定)调用的 API 版本

  • num_retries: int (可选) - 如果发生 APIError、TimeoutError 或 ServiceUnavailableError,重试 API 调用的次数

  • context_window_fallback_dict: dict (可选) - 如果调用因上下文窗口错误而失败,使用的模型映射

  • fallbacks: list (可选) - 初始调用失败时使用的模型名称 + 参数列表

  • metadata: dict (可选) - 调用时希望记录的任何附加数据(发送到日志集成,例如 promptlayer,并通过自定义回调函数访问)

自定义模型成本

  • input_cost_per_token: float (可选) - 补全调用中每个输入标记的成本

  • output_cost_per_token: float (可选) - 补全调用中每个输出标记的成本

自定义提示模板(参见 提示格式化了解更多信息)

  • initial_prompt_value: string (可选) - 应用于输入消息开头的初始字符串

  • roles: dict (可选) - 根据通过 messages 传入的角色和消息指定如何格式化提示的字典

  • final_prompt_value: string (可选) - 应用于输入消息末尾的最终字符串

  • bos_token: string (可选) - 应用于序列开头的初始字符串

  • eos_token: string (可选) - 应用于序列末尾的初始字符串

  • hf_model_name: string (可选) - [仅限 Sagemaker] 与模型对应的 huggingface 名称,用于拉取正确的聊天模板。

优云智算