camel.configs 包#
子模块#
camel.configs.anthropic_config 模块#
- class camel.configs.anthropic_config.AnthropicConfig(*, tools: List[Any] | None = None, max_tokens: int | None = None, stop_sequences: List[str] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, stream: bool | None = None, metadata: dict | None = None, thinking: dict | None = None, tool_choice: dict | None = None)[来源]#
基类:
BaseConfig定义使用Anthropic API生成聊天补全的参数。
参见:https://docs.anthropic.com/en/api/messages
- Parameters:
max_tokens (int, optional) – 停止前生成的最大token数量。请注意Anthropic模型可能在达到这个最大值之前就停止。该参数仅指定要生成的token的绝对最大数量。 (default:
None)stop_sequences (List[str], optional) – 自定义文本序列,这些序列将导致模型停止生成。模型通常会在自然完成其回合时停止。如果模型遇到这些自定义序列之一,响应将被终止,stop_reason将为"stop_sequence"。(默认值:
None)temperature (float, optional) - 注入响应中的随机性程度。默认为1,范围从0到1。对于分析性/选择题使用接近0的温度值,对于创造性和生成性任务使用接近1的温度值。请注意,即使温度为0.0,结果也不会完全确定。(默认:
None)top_p (float, optional) – 使用核采样方法。在核采样中,我们按概率递减顺序计算每个后续标记所有选项的累积分布,当达到top_p指定的特定概率时停止。您应该调整temperature或top_p中的一个,而不是同时调整两者。(默认值:
None)top_k (int, optional) – 仅从每个后续token的top K选项中采样。用于去除"长尾"低概率响应。(默认:
None)stream (bool, optional) – 是否使用服务器发送事件来增量流式传输响应。(默认:
None)metadata (dict, optional) – 描述请求元数据的对象。可以包含user_id作为与请求关联的用户的外部标识符。 (默认:
None)thinking (dict, optional) – 用于启用Claude扩展思考功能的配置。启用后,响应将包含显示Claude思考过程的思考内容块。(默认:
None)tool_choice (dict, optional) – 模型应如何使用提供的工具。模型可以使用特定工具、任何可用工具、自行决定或完全不使用工具。(默认:
None)
- max_tokens: int | None#
- metadata: dict | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stop_sequences: List[str] | None#
- stream: bool | None#
- temperature: float | None#
- thinking: dict | None#
- tool_choice: dict | None#
- top_k: int | None#
- top_p: float | None#
camel.configs.base_config 模块#
- class camel.configs.base_config.BaseConfig(*, tools: List[Any] | None = None)[来源]#
基类:
ABC,BaseModel所有模型的基础配置类。
该类为所有模型提供了一个通用接口,确保所有模型具有一致的属性和方法集。
- as_dict() dict[str, Any][来源]#
将当前配置转换为字典。
此方法将当前配置对象转换为字典表示形式,可用于序列化或其他用途。该字典不会包含None值,因为某些API不支持None值。(例如OpenAI beta API中的tool)
- Returns:
- 当前配置的字典表示
配置。
- Return type:
字典[字符串, 任意类型]
- classmethod fields_type_checking(tools)[来源]#
验证配置中工具的类型。
该方法确保配置中提供的工具是FunctionTool的实例。如果任何工具不是FunctionTool的实例,则会引发ValueError。
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
camel.configs.gemini_config 模块#
- class camel.configs.gemini_config.GeminiConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, response_format: Type[BaseModel] | dict | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用Gemini API生成聊天完成所需的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。(默认:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (对象, 可选) - 一个指定模型必须输出格式的对象。兼容GPT-4 Turbo及所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型。设置为{"type": "json_object"}可启用JSON模式,该模式保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型生成JSON。如果不这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。还需注意,如果finish_reason="length",消息内容可能会被部分截断,这表示生成超过了max_tokens或对话超过了最大上下文长度。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str or list, optional) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) - 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过指定特定工具如{"type": "function", "function": {"name": "my_function"}}可以强制模型调用该工具。当没有工具存在时默认值为"none"。如果有工具存在则默认值为"auto"。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
camel.configs.groq_config 模块#
- class camel.configs.groq_config.GroqConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, user: str | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数。
参考文档:https://console.groq.com/docs/openai
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
- user: str | None#
camel.configs.litellm_config 模块#
- class camel.configs.litellm_config.LiteLLMConfig(*, tools: List[Any] | None = None, timeout: float | str | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stream_options: dict | None = None, stop: str | List[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, frequency_penalty: float | None = None, logit_bias: dict | None = None, user: str | None = None, response_format: dict | None = None, seed: int | None = None, tool_choice: str | dict | None = None, logprobs: bool | None = None, top_logprobs: int | None = None, deployment_id: str | None = None, extra_headers: dict | None = None, api_version: str | None = None, mock_response: str | None = None, custom_llm_provider: str | None = None, max_retries: int | None = None)[来源]#
基类:
BaseConfig定义使用LiteLLM API生成聊天补全的参数。
- Parameters:
timeout (可选[Union[float, str]], 可选) - 请求超时时间。 (默认:
None)temperature (可选[float], optional) - 用于控制随机性的温度参数。(默认:
None)top_p (可选[float], 可选) – 用于核心采样的Top-p参数。(默认:
None)n (可选[int], 可选) – 要生成的补全数量。 (默认:
None)stream (可选[bool], 可选) – 是否返回流式响应。(默认:
None)stream_options (Optional[dict], optional) – 流式响应的选项。(默认:
None)stop (可选[Union[str, List[str]]], 可选) - API将停止生成更多标记的序列。(默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量。(默认:
None)presence_penalty (Optional[float], optional) – 根据新词元在已生成文本中的出现情况进行惩罚 (默认值:
None)frequency_penalty (Optional[float], optional) – 根据新词在目前文本中出现的频率进行惩罚 (默认:
None)logit_bias (Optional[dict], optional) – 修改特定标记出现在补全中的概率。(默认:
None)user (可选[str], optional) – 代表终端用户的唯一标识符。(默认值:
None)response_format (Optional[dict], optional) – 响应格式参数。(默认:
None)seed (可选[int], 可选) – 随机种子。(默认:
None)工具 (可选[列表], 可选) - 工具列表。(默认:
None)tool_choice (Optional[Union[str, dict]], optional) – 工具选择参数。(默认:
None)logprobs (Optional[bool], optional) – 是否返回输出标记的对数概率。(默认:
None)top_logprobs (Optional[int], optional) – 在每个标记位置返回的最可能标记的数量。(默认:
None)deployment_id (可选[str], 可选) - 部署ID。 (默认值:
None)extra_headers (Optional[dict], optional) – 请求的额外头部信息。(默认:
None)api_version (可选[str], 可选) - API版本。 (默认:
None)mock_response (Optional[str], optional) – 用于测试或调试的模拟完成响应。(默认值:
None)custom_llm_provider (可选[str], 可选) – 非OpenAI的LLM提供商。(默认:
None)max_retries (Optional[int], optional) – 最大重试次数。 (默认值:
None)
- api_version: str | None#
- custom_llm_provider: str | None#
- deployment_id: str | None#
- extra_headers: dict | None#
- frequency_penalty: float | None#
- logit_bias: dict | None#
- logprobs: bool | None#
- max_retries: int | None#
- max_tokens: int | None#
- mock_response: str | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- seed: int | None#
- stop: str | List[str] | None#
- stream: bool | None#
- stream_options: dict | None#
- temperature: float | None#
- timeout: float | str | None#
- tool_choice: str | dict | None#
- top_logprobs: int | None#
- top_p: float | None#
- user: str | None#
camel.configs.mistral_config 模块#
- class camel.configs.mistral_config.MistralConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, max_tokens: int | None = None, stop: str | list[str] | None = None, random_seed: int | None = None, safe_prompt: bool | None = None, response_format: Dict[str, str] | Any | None = None, tool_choice: str | None = None)[来源]#
基类:
BaseConfig定义使用Mistral API生成聊天补全的参数。
#TODO: 支持流模式
- Parameters:
temperature (Optional[float], optional) – 采样时使用的温度值,例如0.5。(默认:
None)top_p (可选[float], 可选) - 要生成的token的累积概率,例如0.9。(默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。(默认值:
None)stop (Optional[Union[str,list[str]]]) – 如果检测到此标记则停止生成。或者当提供字符串列表时,如果检测到其中任一标记则停止生成。(默认值:
None)random_seed (Optional[int], optional) – 用于采样的随机种子,例如42。(默认值:
None)safe_prompt (bool, optional) – 是否使用安全提示,例如true。 (默认值:
None)response_format (Union[Dict[str, str], ResponseFormat) - 响应的格式。
tool_choice (str, optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成一条消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"any"表示模型必须调用一个或多个工具。"auto"是默认值。
- classmethod fields_type_checking(response_format)[来源]#
验证配置中工具的类型。
该方法确保配置中提供的工具是FunctionTool的实例。如果任何工具不是FunctionTool的实例,则会引发ValueError。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- random_seed: int | None#
- response_format: Dict[str, str] | Any | None#
- safe_prompt: bool | None#
- stop: str | list[str] | None#
- temperature: float | None#
- tool_choice: str | None#
- top_p: float | None#
camel.configs.ollama_config 模块#
- class camel.configs.ollama_config.OllamaConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | dict | None = None, frequency_penalty: float | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
camel.configs.openai_config 模块#
- class camel.configs.openai_config.ChatGPTConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | Dict | None = None, frequency_penalty: float | None = None, logit_bias: Dict | None = None, user: str | None = None, tool_choice: Dict[str, str] | str | None = None, reasoning_effort: str | None = None, parallel_tool_calls: bool | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。reasoning_effort (str, optional) – 一个指定某些模型类型使用的推理级别的参数。有效值为 :obj: “low”,
"medium", 或"high"。如果设置,它仅 适用于支持它的模型类型(例如,o1,o1mini,o1preview,o3mini)。如果未提供 或模型类型不支持它,则忽略此参数。(默认:None)parallel_tool_calls (bool, optional) – 一个参数,用于指定模型是否应该并行调用工具。 (默认值:
None)
- frequency_penalty: float | None#
- logit_bias: Dict | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- parallel_tool_calls: bool | None#
- presence_penalty: float | None#
- reasoning_effort: str | None#
- response_format: Type[BaseModel] | Dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: Dict[str, str] | str | None#
- top_p: float | None#
- user: str | None#
camel.configs.reka_config 模块#
- class camel.configs.reka_config.RekaConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, max_tokens: int | None = None, stop: str | list[str] | None = None, seed: int | None = None, frequency_penalty: float | None = None, presence_penalty: float | None = None, use_search_engine: bool | None = None)[来源]#
基类:
BaseConfig定义使用Reka API生成聊天补全的参数。
参考文档:https://docs.reka.ai/api-reference/chat/create
- Parameters:
temperature (Optional[float], optional) – 采样时使用的温度值,例如0.5。(默认:
None)top_p (Optional[float], optional) – 用于生成token的累积概率,例如0.9。(默认值:
None)top_k (Optional[int], optional) – 该参数强制模型在下一步骤中仅考虑具有top_k最高概率的token。(默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。(默认值:
None)stop (Optional[Union[str,list[str]]]) – 如果检测到此标记则停止生成。或者当提供一个字符串列表时,如果检测到其中任何一个标记则停止生成。(默认值:
None)seed (可选[int], 可选) – 用于抽样的随机种子,例如42。(默认值:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)use_search_engine (Optional[bool]) – 是否考虑使用搜索引擎来完成请求。请注意,即使将此设置为True,模型也可能决定不使用搜索。(默认值:
None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- seed: int | None#
- stop: str | list[str] | None#
- temperature: float | None#
- top_k: int | None#
- top_p: float | None#
- use_search_engine: bool | None#
camel.configs.samba_config 模块#
- class camel.configs.samba_config.SambaCloudAPIConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float = 0.2, top_p: float = 1.0, n: int = 1, stream: bool = False, stop: str | ~typing.Sequence[str] | ~openai.NotGiven = NOT_GIVEN, max_tokens: int | ~openai.NotGiven = NOT_GIVEN, presence_penalty: float = 0.0, response_format: dict | ~openai.NotGiven = NOT_GIVEN, frequency_penalty: float = 0.0, logit_bias: dict = <factory>, user: str = '', tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。较高的值会使输出更加随机, 而较低的值会使输出更加集中和确定。 (默认值:0.2)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。(默认值:1.0)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
1)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) – 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
False)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词元是否已出现在当前文本中对其进行惩罚,从而增加模型讨论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:0.0)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚, 从而降低模型逐字重复相同内容的可能性。有关频率惩罚和存在惩罚的更多信息, 请参阅相关说明。(默认值:0.0)logit_bias (dict, optional) – 用于调整指定标记在生成结果中出现概率的参数。接受一个JSON对象,该对象将标记(由分词器中的标记ID指定)映射到从
-100到100的偏置值。从数学上讲,该偏置值会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间时应该会降低或提高选择概率;而像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:{})user (str, optional) – 一个代表您终端用户的唯一标识符, 可以帮助OpenAI监控和检测滥用行为。 (默认:
"")tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- frequency_penalty: float#
- logit_bias: dict#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int#
- presence_penalty: float#
- stream: bool#
- temperature: float#
- tool_choice: dict[str, str] | str | None#
- top_p: float#
- user: str#
- class camel.configs.samba_config.SambaVerseAPIConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, max_tokens: int | None = None, repetition_penalty: float | None = None, stop: str | list[str] | None = None, stream: bool | None = None)[来源]#
基类:
BaseConfig定义使用SambaVerse API生成聊天补全的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)top_k (int, optional) – 仅从每个后续token的前K个选项中采样。用于去除"长尾"低概率响应。 (默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。 (默认值:
None)repetition_penalty (Optional[float], optional) – 用于控制重复惩罚的参数。1.0表示不进行惩罚。 (默认值:
None)stop (可选[Union[str,list[str]]]) - 如果检测到此标记则停止生成。或者当提供字符串列表时,如果检测到其中任一标记则停止生成。 (默认值:
None)stream (Optional[bool]) – 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。 当前SambaVerse API不支持流模式。 (默认值:
None)
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- repetition_penalty: float | None#
- stop: str | list[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_k: int | None#
- top_p: float | None#
camel.configs.togetherai_config 模块#
- class camel.configs.togetherai_config.TogetherAIConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | ~typing.Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, logit_bias: dict = <factory>, user: str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 用于调整指定标记在生成结果中出现概率的参数。接受一个JSON对象,该对象将标记(由分词器中的标记ID指定)映射到从
-100到100的偏置值。从数学上讲,该偏置值会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间时应该会降低或提高选择概率;而像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:{})user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)
- frequency_penalty: float | None#
- logit_bias: dict#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
- user: str | None#
camel.configs.vllm_config 模块#
- class camel.configs.vllm_config.VLLMConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | ~typing.Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, logit_bias: dict = <factory>, user: str | None = None, logprobs: bool | None = None, top_logprobs: int | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
Reference: https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)logprobs – 是否返回输出标记的对数概率。如果为true,则返回message的logits中每个输出标记的对数概率。(默认:
None)top_logprobs – 一个介于0到20之间的整数,用于指定在每个标记位置返回的最可能标记的数量,每个标记都带有相关的对数概率。如果使用此参数,必须将logprobs设置为true。(默认值:
None)
- frequency_penalty: float | None#
- logit_bias: dict#
- logprobs: bool | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_logprobs: int | None#
- top_p: float | None#
- user: str | None#
camel.configs.zhipuai_config 模块#
- class camel.configs.zhipuai_config.ZhipuAIConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数
参考文档:https://open.bigmodel.cn/dev/api#glm-4v
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
模块内容#
- class camel.configs.AIMLConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | ~typing.Sequence[str] | ~openai.NotGiven | None = None, max_tokens: int | ~openai.NotGiven | None = None, logit_bias: dict = <factory>, response_format: dict | ~openai.NotGiven | None = None, presence_penalty: float | None = None, frequency_penalty: float | None = None)[来源]#
基类:
BaseConfig定义使用AIML API生成聊天补全的参数。
- Parameters:
temperature (float, optional) – 决定响应中的随机程度。(默认:
None)top_p (float, optional) – top_p(核采样)参数用于根据累积概率动态调整每个预测标记的候选数量。(默认值:
None)n (int, optional) – 要返回的代数数量。 (默认值:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。
stream (bool, optional) – 如果设置为True,token将以Server-Sent Events的形式在可用时实时返回。(默认值:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 要生成的最大token数量。 (默认值:
None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- frequency_penalty: float | None#
- logit_bias: dict#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
- class camel.configs.AnthropicConfig(*, tools: List[Any] | None = None, max_tokens: int | None = None, stop_sequences: List[str] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, stream: bool | None = None, metadata: dict | None = None, thinking: dict | None = None, tool_choice: dict | None = None)[来源]#
基类:
BaseConfig定义使用Anthropic API生成聊天补全的参数。
参见:https://docs.anthropic.com/en/api/messages
- Parameters:
max_tokens (int, optional) – 停止前生成的最大token数量。请注意Anthropic模型可能在达到这个最大值之前就停止。该参数仅指定要生成的token的绝对最大数量。 (default:
None)stop_sequences (List[str], optional) – 自定义文本序列,这些序列将导致模型停止生成。模型通常会在自然完成其回合时停止。如果模型遇到这些自定义序列之一,响应将被终止,stop_reason将为"stop_sequence"。(默认值:
None)temperature (float, optional) - 注入响应中的随机性程度。默认为1,范围从0到1。对于分析性/选择题使用接近0的温度值,对于创造性和生成性任务使用接近1的温度值。请注意,即使温度为0.0,结果也不会完全确定。(默认:
None)top_p (float, optional) – 使用核采样方法。在核采样中,我们按概率递减顺序计算每个后续标记所有选项的累积分布,当达到top_p指定的特定概率时停止。您应该调整temperature或top_p中的一个,而不是同时调整两者。(默认值:
None)top_k (int, optional) – 仅从每个后续token的top K选项中采样。用于去除"长尾"低概率响应。(默认:
None)stream (bool, optional) – 是否使用服务器发送事件来增量流式传输响应。(默认:
None)metadata (dict, optional) – 描述请求元数据的对象。可以包含user_id作为与请求关联的用户的外部标识符。 (默认:
None)thinking (dict, optional) – 用于启用Claude扩展思考功能的配置。启用后,响应将包含显示Claude思考过程的思考内容块。(默认:
None)tool_choice (dict, optional) – 模型应如何使用提供的工具。模型可以使用特定工具、任何可用工具、自行决定或完全不使用工具。(默认:
None)
- max_tokens: int | None#
- metadata: dict | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stop_sequences: List[str] | None#
- stream: bool | None#
- temperature: float | None#
- thinking: dict | None#
- tool_choice: dict | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_k: int | None#
- top_p: float | None#
- class camel.configs.BaseConfig(*, tools: List[Any] | None = None)[来源]#
基类:
ABC,BaseModel所有模型的基础配置类。
该类为所有模型提供了一个通用接口,确保所有模型具有一致的属性和方法集。
- as_dict() dict[str, Any][来源]#
将当前配置转换为字典。
此方法将当前配置对象转换为字典表示形式,可用于序列化或其他用途。该字典不会包含None值,因为某些API不支持None值。(例如OpenAI beta API中的tool)
- Returns:
- 当前配置的字典表示
配置。
- Return type:
字典[字符串, 任意类型]
- classmethod fields_type_checking(tools)[来源]#
验证配置中工具的类型。
该方法确保配置中提供的工具是FunctionTool的实例。如果任何工具不是FunctionTool的实例,则会引发ValueError。
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- class camel.configs.ChatGPTConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | Dict | None = None, frequency_penalty: float | None = None, logit_bias: Dict | None = None, user: str | None = None, tool_choice: Dict[str, str] | str | None = None, reasoning_effort: str | None = None, parallel_tool_calls: bool | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。reasoning_effort (str, optional) – 一个指定某些模型类型使用的推理级别的参数。有效值为 :obj: “low”,
"medium", 或"high"。如果设置,它仅 适用于支持它的模型类型(例如,o1,o1mini,o1preview,o3mini)。如果未提供 或模型类型不支持它,则忽略此参数。(默认:None)parallel_tool_calls (bool, optional) – 一个参数,用于指定模型是否应该并行调用工具。 (默认值:
None)
- frequency_penalty: float | None#
- logit_bias: Dict | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- parallel_tool_calls: bool | None#
- presence_penalty: float | None#
- reasoning_effort: str | None#
- response_format: Type[BaseModel] | Dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: Dict[str, str] | str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- user: str | None#
- class camel.configs.CohereConfig(*, tools: List[Any] | None = None, temperature: float | None = None, documents: list | None = None, max_tokens: int | None = None, stop_sequences: List[str] | None = None, seed: int | None = None, frequency_penalty: float | None = None, presence_penalty: float | None = None, k: int | None = None, p: float | None = None)[来源]#
基类:
BaseConfig定义使用Cohere API生成聊天补全的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)documents (list, optional) – 一个相关文档列表,模型可以引用这些文档来生成更准确的回复。每个文档可以是字符串或包含内容和元数据的文档对象。(默认值:
None)max_tokens (int, optional) – 模型将生成的最大token数量作为响应的一部分。(默认:
None)stop_sequences (List(str), optional) – 最多包含5个字符串的列表, 模型将使用这些字符串来停止生成。如果模型生成的字符串与列表中的任何字符串匹配, 它将停止生成标记并返回生成到该点的文本,不包括停止序列。(默认:
None)seed (int, optional) – 如果指定,后端将尽力以确定性方式采样token,使得使用相同seed和参数的重复请求应返回相同结果。然而,无法完全保证确定性。(默认:
None)frequency_penalty (float, optional) – 最小值为0.0,最大值为1.0。用于减少生成标记的重复性。该值越高,对已出现过的标记施加的惩罚越强,惩罚力度与这些标记在提示或先前生成中已出现的次数成正比。(默认值:
None)presence_penalty (float, optional) – 最小值为0.0,最大值为1.0。用于减少生成标记的重复性。与frequency_penalty类似,不同之处在于该惩罚会平等地应用于所有已出现的标记,无论其具体频率如何。(默认值:
None)k (int, optional) – 确保在每一步生成时只考虑概率最高的前k个token。最小值为0,最大值为500。(默认:
None)p (float, optional) – 确保在每一步生成时只考虑总概率质量为p的最可能token。如果同时启用了k和p,p会在k之后生效。最小值为0.01,最大值为0.99。(默认值:
None)
- documents: list | None#
- frequency_penalty: float | None#
- k: int | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- p: float | None#
- presence_penalty: float | None#
- seed: int | None#
- stop_sequences: List[str] | None#
- temperature: float | None#
- class camel.configs.DeepSeekConfig(include_usage: bool = True, *, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | dict | None = None, frequency_penalty: float | None = None, tool_choice: dict[str, str] | str | None = None, logprobs: bool | None = None, top_logprobs: int | None = None)[来源]#
基类:
BaseConfig定义使用DeepSeek API生成聊天补全的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) - 控制生成结果的多样性和集中度。数值越高输出结果越多样化,数值越低则结果越集中。(默认:
None)response_format (object, optional) – 指定返回内容的格式。可用值为{“type”: “text”}或{“type”: “json_object”}。设置为{“type”: “json_object”}将输出标准JSON字符串。 (默认:
None)stream (bool, optional) – 如果设置,将发送部分消息增量。 令牌将作为仅数据服务器发送事件(SSE)在可用时发送, 流将以data: [DONE]消息终止。(默认:
None)stop (Union[str, list[str]], optional) – 最多16个序列,API将在这些序列处停止生成更多token。(默认值:
None)max_tokens (int, optional) – 聊天补全中可以生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) - 介于-2.0和2.0之间的数值。 正值会根据新token是否已出现在当前文本中对其进行惩罚, 从而增加模型谈论新话题的可能性。(默认:
None)frequency_penalty (float, optional) – 介于-2.0和2.0之间的数值。 正值会根据新token在文本中已有的出现频率进行惩罚, 从而降低模型逐字重复相同内容的可能性。(默认:
None)工具 (列表[FunctionTool], 可选) – 模型可以调用的工具列表。当前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。(默认值:
None)tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过指定特定工具如{"type": "function", "function": {"name": "my_function"}}可以强制模型调用该工具。当没有工具存在时默认是"none"。如果有工具存在则默认是"auto"。(默认值:
None)logprobs (bool, optional) - 是否返回输出标记的对数概率。如果为true,则返回消息内容中每个输出标记的对数概率。(默认:
None)top_logprobs (int, optional) – 一个介于0到20之间的整数,用于指定在每个标记位置返回的最可能标记的数量,每个标记都带有相关的对数概率。如果使用此参数,必须将logprobs设置为true。 (默认值:
None)include_usage (bool, optional) – 在流式传输时,指定是否在stream_options中包含使用信息。 (默认:
None)
- frequency_penalty: float | None#
- logprobs: bool | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_logprobs: int | None#
- top_p: float | None#
- class camel.configs.GeminiConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, response_format: Type[BaseModel] | dict | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用Gemini API生成聊天完成所需的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- class camel.configs.GroqConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, user: str | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数。
参考文档:https://console.groq.com/docs/openai
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- user: str | None#
- class camel.configs.InternLMConfig(*, tools: List[Any] | None = None, stream: bool | None = None, temperature: float | None = None, top_p: float | None = None, max_tokens: int | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用InternLM API生成聊天补全的参数。更多详情可参考以下链接: https://internlm.intern-ai.org.cn/api/document
- Parameters:
stream (bool, optional) – 是否流式传输响应。 (default:
None)temperature (float, optional) - 控制生成结果的多样性和集中度。较低的值会使输出更加集中,而较高的值会使其更加多样化。(默认值:
None)top_p (float, optional) - 控制生成结果的多样性和集中度。数值越高输出结果越多样化,数值越低则结果越集中。(默认:
None)max_tokens (int, optional) – 允许模型生成的最大token数量。 (默认:
None)工具 (列表, 可选) - 指定模型可以调用的工具数组。它可以包含一个或多个工具对象。在函数调用过程中,模型将从数组中选择一个工具。(默认:
None)tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
- class camel.configs.LiteLLMConfig(*, tools: List[Any] | None = None, timeout: float | str | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stream_options: dict | None = None, stop: str | List[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, frequency_penalty: float | None = None, logit_bias: dict | None = None, user: str | None = None, response_format: dict | None = None, seed: int | None = None, tool_choice: str | dict | None = None, logprobs: bool | None = None, top_logprobs: int | None = None, deployment_id: str | None = None, extra_headers: dict | None = None, api_version: str | None = None, mock_response: str | None = None, custom_llm_provider: str | None = None, max_retries: int | None = None)[来源]#
基类:
BaseConfig定义使用LiteLLM API生成聊天补全的参数。
- Parameters:
timeout (可选[Union[float, str]], 可选) - 请求超时时间。 (默认:
None)temperature (可选[float], optional) - 用于控制随机性的温度参数。(默认:
None)top_p (可选[float], 可选) – 用于核心采样的Top-p参数。(默认:
None)n (可选[int], 可选) – 要生成的补全数量。 (默认:
None)stream (可选[bool], 可选) – 是否返回流式响应。(默认:
None)stream_options (Optional[dict], optional) – 流式响应的选项。(默认:
None)stop (可选[Union[str, List[str]]], 可选) - API将停止生成更多标记的序列。(默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量。(默认:
None)presence_penalty (Optional[float], optional) – 根据新词元在已生成文本中的出现情况进行惩罚 (默认值:
None)frequency_penalty (Optional[float], optional) – 根据新词在目前文本中出现的频率进行惩罚 (默认:
None)logit_bias (Optional[dict], optional) – 修改特定标记出现在补全中的概率。(默认:
None)user (可选[str], optional) – 代表终端用户的唯一标识符。(默认值:
None)response_format (Optional[dict], optional) – 响应格式参数。(默认:
None)seed (可选[int], 可选) – 随机种子。(默认:
None)工具 (可选[列表], 可选) - 工具列表。(默认:
None)tool_choice (Optional[Union[str, dict]], optional) – 工具选择参数。(默认:
None)logprobs (Optional[bool], optional) – 是否返回输出标记的对数概率。(默认:
None)top_logprobs (Optional[int], optional) – 在每个标记位置返回的最可能标记的数量。(默认:
None)deployment_id (可选[str], 可选) - 部署ID。 (默认值:
None)extra_headers (Optional[dict], optional) – 请求的额外头部信息。(默认:
None)api_version (可选[str], 可选) - API版本。 (默认:
None)mock_response (Optional[str], optional) – 用于测试或调试的模拟完成响应。(默认值:
None)custom_llm_provider (可选[str], 可选) – 非OpenAI的LLM提供商。(默认:
None)max_retries (Optional[int], optional) – 最大重试次数。 (默认值:
None)
- api_version: str | None#
- custom_llm_provider: str | None#
- deployment_id: str | None#
- extra_headers: dict | None#
- frequency_penalty: float | None#
- logit_bias: dict | None#
- logprobs: bool | None#
- max_retries: int | None#
- max_tokens: int | None#
- mock_response: str | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- seed: int | None#
- stop: str | List[str] | None#
- stream: bool | None#
- stream_options: dict | None#
- temperature: float | None#
- timeout: float | str | None#
- tool_choice: str | dict | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_logprobs: int | None#
- top_p: float | None#
- user: str | None#
- class camel.configs.MistralConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, max_tokens: int | None = None, stop: str | list[str] | None = None, random_seed: int | None = None, safe_prompt: bool | None = None, response_format: Dict[str, str] | Any | None = None, tool_choice: str | None = None)[来源]#
基类:
BaseConfig定义使用Mistral API生成聊天补全的参数。
#TODO: 支持流模式
- Parameters:
temperature (Optional[float], optional) – 采样时使用的温度值,例如0.5。(默认:
None)top_p (Optional[float], optional) – 用于生成token的累积概率,例如0.9。(默认值:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。(默认值:
None)stop (Optional[Union[str,list[str]]]) – 如果检测到此标记则停止生成。或者当提供字符串列表时,如果检测到其中任一标记则停止生成。(默认值:
None)random_seed (Optional[int], optional) – 用于采样的随机种子,例如42。(默认值:
None)safe_prompt (bool, optional) – 是否使用安全提示,例如true。 (默认值:
None)response_format (Union[Dict[str, str], ResponseFormat) - 响应的格式。
tool_choice (str, optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成一条消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"any"表示模型必须调用一个或多个工具。"auto"是默认值。
- classmethod fields_type_checking(response_format)[来源]#
验证配置中工具的类型。
该方法确保配置中提供的工具是FunctionTool的实例。如果任何工具不是FunctionTool的实例,则会引发ValueError。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- random_seed: int | None#
- response_format: Dict[str, str] | Any | None#
- safe_prompt: bool | None#
- stop: str | list[str] | None#
- temperature: float | None#
- tool_choice: str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- class camel.configs.ModelScopeConfig(*, tools: List[Any] | None = None, tool_choice: dict[str, str] | str | None = None, max_tokens: int | None = None, top_p: float | None = None, temperature: float | None = None, stream: bool | None = None)[来源]#
基类:
BaseConfig定义使用ModelScope API生成聊天补全的参数。更多详情可参考以下链接: https://www.modelscope.cn/docs/model-service/API-Inference/intro
- Parameters:
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"或通过{“type”: “function”, “function”: {“name”: “some_function”}}指定特定工具可以用来更强制地引导模型使用工具。(默认:None)max_tokens (int, optional) – 指定模型可以生成的最大token数量。这设置了一个上限,但不保证总能达到这个数值。(默认:
None)top_p (float, optional) - 控制生成结果的随机性。较低的值会导致随机性降低,而较高的值会增加随机性。(默认:
None)temperature (float, optional) - 控制生成结果的多样性和集中度。较低的值会使输出更加集中,而较高的值会使其更加多样化。(默认值:
0.3)stream (bool, optional) – 如果为True,则启用流式输出。 (默认:
None)
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
- class camel.configs.MoonshotConfig(*, tools: list | None = None, temperature: float | None = None, max_tokens: int | None = None, stream: bool | None = None, top_p: float | None = None, n: int | None = None, presence_penalty: float | None = None, frequency_penalty: float | None = None, stop: str | List[str] | None = None)[来源]#
基类:
BaseConfig定义使用Moonshot API生成聊天补全的参数。更多详情请参考以下链接: https://platform.moonshot.cn/docs/api-reference
- Parameters:
temperature (float, optional) – 控制响应中的随机性。较低的值会使输出更加集中和确定。(默认:
None)max_tokens (int, optional) – 要生成的最大token数量。 (默认值:
None)stream (bool, optional) – 是否流式传输响应。 (默认:
False)工具集 (列表类型,可选) - 模型可用于函数调用的工具列表。每个工具应为一个包含类型、函数名称、描述和参数的字典。 (默认值:
None)top_p (float, optional) – 通过核心采样控制多样性。 (default:
None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)presence_penalty (float, optional) – 基于新token是否已在当前文本中出现过的惩罚系数。 (默认值:
None)frequency_penalty (float, optional) – 基于新token在文本中出现频率的惩罚系数。 (默认:
None)stop (可选[Union[str, List[str]]], 可选) - 最多4个序列,API将在这些序列处停止生成更多token。 (默认:
None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- stop: str | List[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: list | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- class camel.configs.NvidiaConfig(*, tools: List[Any] | None = None, stream: bool | None = None, temperature: float | None = None, top_p: float | None = None, presence_penalty: float | None = None, frequency_penalty: float | None = None, max_tokens: int | NotGiven | None = None, seed: int | None = None, tool_choice: str | None = None, stop: List[str] | None = None)[来源]#
基类:
BaseConfigNVIDIA API模型的配置类。
该类定义了NVIDIA语言模型的配置参数,包括温度、采样参数和响应格式设置。
- Parameters:
stream (bool, optional) – 是否流式传输响应。 (default:
None)temperature (float, optional) – 控制响应中的随机性。 值越高输出越随机,值越低输出越确定。范围:[0.0, 2.0]。(默认:
None)top_p (float, optional) – 通过核心采样控制多样性。 范围:[0.0, 1.0]。(默认值:
None)presence_penalty (float, optional) - 根据新标记是否已在当前文本中出现过对其进行惩罚。取值范围:[-2.0, 2.0]。 (默认值:
None)frequency_penalty (float, optional) – 根据新词在文本中出现的频率进行惩罚。取值范围:[-2.0, 2.0]。 (默认值:
None)max_tokens (Union[int, NotGiven], optional) – 要生成的最大token数量。如果未提供,模型将使用其默认最大值。(默认:
None)seed (可选[int], 可选) - 用于确定性采样的随机种子。 (默认:
None)工具 (可选[列表[字典]], 可选) - 模型可用的工具列表。这包括诸如文本编辑器、计算器或搜索引擎等工具。(默认:
None)tool_choice (可选[str], 可选) – 工具选择配置。 (默认:
None)stop (可选[列表[字符串]], 可选) - 停止序列的列表。 (默认:
None)
- frequency_penalty: float | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- seed: int | None#
- stop: List[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: str | None#
- top_p: float | None#
- class camel.configs.OllamaConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | dict | None = None, frequency_penalty: float | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- class camel.configs.OpenRouterConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | NotGiven | None = None, max_tokens: int | NotGiven | None = None, presence_penalty: float | None = None, response_format: dict | NotGiven | None = None, frequency_penalty: float | None = None, user: str | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数。
参考文档:https://openrouter.ai/docs/api-reference/parameters
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。(默认:
None)tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪些工具(如果有的话)。
"none"表示模型不会调用任何工具,而是生成一条消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果存在工具,默认值为"auto"。(默认值:None)
- frequency_penalty: float | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
- user: str | None#
- class camel.configs.PPIOConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: Type[BaseModel] | Dict | None = None, frequency_penalty: float | None = None, logit_bias: Dict | None = None, user: str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- frequency_penalty: float | None#
- logit_bias: Dict | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: Type[BaseModel] | Dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
- user: str | None#
- class camel.configs.QwenConfig(include_usage: bool = True, *, tools: List[Any] | None = None, stream: bool | None = None, temperature: float | None = None, top_p: float | None = None, presence_penalty: float | None = None, response_format: Dict[str, str] | None = None, max_tokens: int | None = None, seed: int | None = None, stop: str | List | None = None, extra_body: Dict[str, str] | None = None)[来源]#
基类:
BaseConfig定义使用Qwen API生成聊天补全的参数。更多详情可参考以下链接: https://help.aliyun.com/zh/model-studio/developer-reference/use-qwen-by-calling-api
- Parameters:
stream (bool, optional) – 是否流式传输响应。 (default:
None)temperature (float, optional) – 控制生成结果的多样性和集中度。较低的值会使输出更加集中,而较高的值会使其更加多样化。(默认值:
None)top_p (float, optional) – 控制生成结果的多样性和集中度。数值越高输出结果越多样化,数值越低则结果越集中。(默认值:
0.9)presence_penalty (float, optional) - 控制生成结果中的重复内容。正值会减少内容的重复,而负值会增加重复。(默认值:
None)response_format (Optional[Dict[str, str]], optional) – 指定返回内容的格式。可用值为{“type”: “text”}或{“type”: “json_object”}。设置为{“type”: “json_object”}将输出标准JSON字符串。(默认值:
None)max_tokens (可选[int], 可选) - 允许模型生成最大数量的令牌。 (默认:
None)seed (可选[int], 可选) – 设置种子参数以使文本生成过程更具确定性,通常用于确保不同模型运行间结果一致。通过在每次模型调用时传入相同的种子值(由您指定)并保持其他参数不变,模型很可能会返回相同的结果。 (默认:
None)stop (可选[Union[str, List]], 可选) - 使用stop参数时, 当模型即将生成包含指定字符串或token_id的文本时,会自动停止生成。 您可以通过传递敏感词来使用stop参数控制模型的输出。(默认:
None)工具 (列表, 可选) - 指定模型可以调用的工具数组。它可以包含一个或多个工具对象。在函数调用过程中,模型将从数组中选择一个工具。(默认值:
None)extra_body (Optional[Dict[str, str]], optional) – 要发送给Qwen API的额外参数。如果您想启用网络搜索,可以将此参数设置为{“enable_search”: True}。 (默认值:
None)include_usage (bool, optional) – 在流式传输时,指定是否在stream_options中包含使用信息。 (默认:
None)
- extra_body: Dict[str, str] | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- response_format: Dict[str, str] | None#
- seed: int | None#
- stop: str | List | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
- class camel.configs.RekaConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, max_tokens: int | None = None, stop: str | list[str] | None = None, seed: int | None = None, frequency_penalty: float | None = None, presence_penalty: float | None = None, use_search_engine: bool | None = None)[来源]#
基类:
BaseConfig定义使用Reka API生成聊天补全的参数。
参考文档:https://docs.reka.ai/api-reference/chat/create
- Parameters:
temperature (Optional[float], optional) – 采样时使用的温度值,例如0.5。(默认:
None)top_p (Optional[float], optional) – 用于生成token的累积概率,例如0.9。(默认值:
None)top_k (Optional[int], optional) – 该参数强制模型在下一步骤中仅考虑具有top_k最高概率的token。(默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。(默认值:
None)stop (Optional[Union[str,list[str]]]) – 如果检测到此标记则停止生成。或者当提供字符串列表时,如果检测到其中任一标记则停止生成。(默认值:
None)seed (可选[int], 可选) – 用于抽样的随机种子,例如42。(默认值:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)use_search_engine (Optional[bool]) – 是否考虑使用搜索引擎来完成请求。请注意,即使将此设置为True,模型也可能决定不使用搜索。(默认值:
None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- presence_penalty: float | None#
- seed: int | None#
- stop: str | list[str] | None#
- temperature: float | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_k: int | None#
- top_p: float | None#
- use_search_engine: bool | None#
- class camel.configs.SGLangConfig(*, tools: List[Dict[str, Any]] | None = None, stop: str | Sequence[str] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, frequency_penalty: float | None = None, presence_penalty: float | None = None, stream: bool | None = None, max_tokens: int | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
Reference: https://sgl-project.github.io/references/sampling_params.html
- Parameters:
stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)stream (bool, optional) – 是否以分块方式流式传输生成的输出。如果设置为True,响应将在生成时进行流式传输。(默认值:
None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)工具 (列表[字典[字符串, 任意类型]], 可选) - 一个工具定义列表,模型可以动态调用。每个工具应该按照OpenAI的函数调用规范格式定义为字典。更多详情请参考OpenAI文档。(默认值:
None)
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: List[Dict[str, Any]] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- class camel.configs.SambaCloudAPIConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float = 0.2, top_p: float = 1.0, n: int = 1, stream: bool = False, stop: str | ~typing.Sequence[str] | ~openai.NotGiven = NOT_GIVEN, max_tokens: int | ~openai.NotGiven = NOT_GIVEN, presence_penalty: float = 0.0, response_format: dict | ~openai.NotGiven = NOT_GIVEN, frequency_penalty: float = 0.0, logit_bias: dict = <factory>, user: str = '', tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。较高的值会使输出更加随机, 而较低的值会使输出更加集中和确定。 (默认值:0.2)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。(默认值:1.0)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
1)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) – 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
False)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词元是否已出现在当前文本中对其进行惩罚,从而增加模型讨论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:0.0)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚, 从而降低模型逐字重复相同内容的可能性。有关频率惩罚和存在惩罚的更多信息, 请参阅相关说明。(默认值:0.0)logit_bias (dict, optional) – 用于调整指定标记在生成结果中出现概率的参数。接受一个JSON对象,该对象将标记(由分词器中的标记ID指定)映射到从
-100到100的偏置值。从数学上讲,该偏置值会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间时应该会降低或提高选择概率;而像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:{})user (str, optional) – 一个代表您终端用户的唯一标识符, 可以帮助OpenAI监控和检测滥用行为。 (默认:
"")tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- frequency_penalty: float#
- logit_bias: dict#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int#
- presence_penalty: float#
- stream: bool#
- temperature: float#
- tool_choice: dict[str, str] | str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float#
- user: str#
- class camel.configs.SambaVerseAPIConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, top_k: int | None = None, max_tokens: int | None = None, repetition_penalty: float | None = None, stop: str | list[str] | None = None, stream: bool | None = None)[来源]#
基类:
BaseConfig定义使用SambaVerse API生成聊天补全的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)top_k (int, optional) – 仅从每个后续token的前K个选项中采样。用于去除"长尾"低概率响应。 (默认:
None)max_tokens (Optional[int], optional) – 要生成的最大token数量,例如100。 (默认值:
None)repetition_penalty (Optional[float], optional) – 用于控制重复惩罚的参数。1.0表示不进行惩罚。 (默认值:
None)stop (可选[Union[str,list[str]]]) - 如果检测到此标记则停止生成。或者当提供字符串列表时,如果检测到其中任一标记则停止生成。 (默认值:
None)stream (Optional[bool]) – 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。 当前SambaVerse API不支持流模式。 (默认值:
None)
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- repetition_penalty: float | None#
- stop: str | list[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_k: int | None#
- top_p: float | None#
- class camel.configs.SiliconFlowConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, response_format: Type[BaseModel] | dict | None = None, frequency_penalty: float | None = None)[来源]#
基类:
BaseConfig定义使用SiliconFlow API生成聊天完成所需的参数。
- Parameters:
temperature (float, optional) – 决定响应中的随机程度。(默认:
None)top_p (float, optional) – top_p(核采样)参数用于根据累积概率动态调整每个预测标记的候选数量。(默认值:
None)n (int, optional) – 要返回的代数数量。 (默认值:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。(默认:
None)stream (bool, optional) – 如果设置为True,token将以Server-Sent Events的形式在可用时实时返回。(默认值:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 要生成的最大token数量。 (默认值:
None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。(默认:
None)
- as_dict() dict[str, Any][来源]#
将当前配置转换为字典。
此方法将当前配置对象转换为字典表示形式,可用于序列化或其他用途。
- Returns:
- 当前配置的字典表示
配置。
- Return type:
字典[字符串, 任意类型]
- frequency_penalty: float | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- response_format: Type[BaseModel] | dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- top_p: float | None#
- class camel.configs.TogetherAIConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | ~typing.Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, logit_bias: dict = <factory>, user: str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 用于调整指定标记在生成结果中出现概率的参数。接受一个JSON对象,该对象将标记(由分词器中的标记ID指定)映射到从
-100到100的偏置值。从数学上讲,该偏置值会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间时应该会降低或提高选择概率;而像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:{})user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)
- frequency_penalty: float | None#
- logit_bias: dict#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#
- user: str | None#
- class camel.configs.VLLMConfig(*, tools: ~typing.List[~typing.Any] | None = None, temperature: float | None = None, top_p: float | None = None, n: int | None = None, stream: bool | None = None, stop: str | ~typing.Sequence[str] | None = None, max_tokens: int | None = None, presence_penalty: float | None = None, response_format: dict | None = None, frequency_penalty: float | None = None, logit_bias: dict = <factory>, user: str | None = None, logprobs: bool | None = None, top_logprobs: int | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI API生成聊天完成功能的参数。
Reference: https://docs.vllm.ai/en/latest/serving/openai_compatible_server.html
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)n (int, optional) – 为每个输入消息生成多少个聊天完成选项。(默认:
None)response_format (object, optional) - 一个指定模型必须输出格式的对象。与GPT-4 Turbo和所有比gpt-3.5-turbo-1106更新的GPT-3.5 Turbo模型兼容。设置为{"type": "json_object"}可启用JSON模式,这能保证模型生成的消息是有效的JSON。重要提示:使用JSON模式时,您还必须通过系统或用户消息指示模型自行生成JSON。如果没有这样做,模型可能会生成无限的空格流,直到生成达到令牌限制,导致请求长时间运行并看似"卡住"。另请注意,如果finish_reason="length",表示生成超过了max_tokens或对话超过了最大上下文长度,消息内容可能会被部分截断。
stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)presence_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新token是否已出现在当前文本中对其进行惩罚,从而增加模型谈论新话题的可能性。有关频率惩罚和存在惩罚的更多信息,请参阅相关说明。(默认值:None)frequency_penalty (float, optional) – 介于
-2.0和2.0之间的数值。正值会根据新词在文本中已有的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。了解更多关于频率惩罚和存在惩罚的信息。(默认:None)logit_bias (dict, optional) – 修改指定标记出现在补全结果中的可能性。接受一个json对象,该对象将标记(由其在分词器中的标记ID指定)映射到从
-100到100的关联偏差值。从数学上讲,该偏差会在模型生成logits后、采样前被加入。具体效果因模型而异,但值在:obj:` -1`和1之间应该会降低或增加被选中的可能性;像-100或100这样的值应该会导致相关标记被禁止或独占选择。(默认值:None)user (str, optional) – 代表终端用户的唯一标识符, 可帮助OpenAI监控和检测滥用行为。 (默认值:
None)logprobs – 是否返回输出标记的对数概率。如果为true,则返回message的logits中每个输出标记的对数概率。(默认:
None)top_logprobs – 一个介于0到20之间的整数,用于指定在每个标记位置返回的最可能标记的数量,每个标记都带有相关的对数概率。如果使用此参数,必须将logprobs设置为true。(默认值:
None)
- frequency_penalty: float | None#
- logit_bias: dict#
- logprobs: bool | None#
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- n: int | None#
- presence_penalty: float | None#
- response_format: dict | None#
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_logprobs: int | None#
- top_p: float | None#
- user: str | None#
- class camel.configs.YiConfig(*, tools: List[Any] | None = None, tool_choice: dict[str, str] | str | None = None, max_tokens: int | None = None, top_p: float | None = None, temperature: float | None = None, stream: bool | None = None)[来源]#
基类:
BaseConfig定义使用Yi API生成聊天补全的参数。您可以参考以下链接获取更多详细信息: https://platform.lingyiwanwu.com/docs/api-reference
- Parameters:
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"或通过{“type”: “function”, “function”: {“name”: “some_function”}}指定特定工具可以用来更强制地引导模型使用工具。(默认:None)max_tokens (int, optional) – 指定模型可以生成的最大token数量。这设置了一个上限,但不保证总能达到这个数值。(默认:
None)top_p (float, optional) - 控制生成结果的随机性。较低的值会导致随机性降低,而较高的值会增加随机性。(默认:
None)temperature (float, optional) - 控制生成结果的多样性和集中度。较低的值会使输出更加集中,而较高的值会使其更加多样化。(默认值:
0.3)stream (bool, optional) – 如果为True,则启用流式输出。 (默认:
None)
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- top_p: float | None#
- class camel.configs.ZhipuAIConfig(*, tools: List[Any] | None = None, temperature: float | None = None, top_p: float | None = None, stream: bool | None = None, stop: str | Sequence[str] | None = None, max_tokens: int | None = None, tool_choice: dict[str, str] | str | None = None)[来源]#
基类:
BaseConfig定义使用OpenAI兼容性生成聊天补全的参数
参考文档:https://open.bigmodel.cn/dev/api#glm-4v
- Parameters:
temperature (float, optional) – 使用的采样温度,介于
0和2之间。数值越高输出结果越随机, 数值越低则输出结果越集中和确定。 (默认:None)top_p (float, optional) – 作为温度采样的替代方案,称为核采样,模型会考虑概率质量达到top_p的token结果。因此
0.1表示只考虑构成前10%概率质量的token。 (默认值:None)stream (bool, optional) - 如果为True,部分消息增量将在可用时作为仅数据的服务器发送事件发送。(默认:
None)stop (str 或 list, 可选) – 最多
4个序列,当API遇到这些序列时将停止生成更多token。(默认:None)max_tokens (int, optional) – 在聊天补全中生成的最大token数量。输入token和生成token的总长度受模型上下文长度限制。(默认:
None)tools (list[FunctionTool], optional) – 模型可以调用的工具列表。目前仅支持函数作为工具。使用此参数提供模型可能生成JSON输入的函数列表。最多支持128个函数。
tool_choice (Union[dict[str, str], str], optional) – 控制模型调用哪个(如果有的话)工具。
"none"表示模型不会调用任何工具而是生成消息。"auto"表示模型可以选择生成消息或调用一个或多个工具。"required"表示模型必须调用一个或多个工具。通过{"type": "function", "function": {"name": "my_function"}}指定特定工具会强制模型调用该工具。当没有工具存在时,默认值为"none"。如果有工具存在,默认值为"auto"。
- max_tokens: int | None#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'protected_namespaces': ()}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- stop: str | Sequence[str] | None#
- stream: bool | None#
- temperature: float | None#
- tool_choice: dict[str, str] | str | None#
- tools: List[Any] | None#
模型可以调用的工具列表。目前仅支持函数作为工具。使用此功能提供模型可能生成JSON输入的函数列表。最多支持128个函数。
- top_p: float | None#