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 名称,用于拉取正确的聊天模板。