camel.messages.conversion 包#
子包#
子模块#
camel.messages.conversion.alpaca 模块#
- class camel.messages.conversion.alpaca.AlpacaItem(*, instruction: str, input: str, output: str)[来源]#
基类:
BaseModel表示Alpaca格式中的一条指令-响应条目。
适用于输入字段为空或已填充的两种情况。 提供使用类方法from_string()从字符串格式进行解析的功能。
- Parameters:
instruction (str) - 指令/问题/提示
input (str) - 输入上下文或示例(如果没有请留空字符串)
output (str) - 对指令的响应/回答
- classmethod from_string(text: str) AlpacaItem[来源]#
从格式化字符串创建一个AlpacaItem。
- Parameters:
文本 –
字符串格式可为以下任意一种: 带输入的情况: ### 指令: {instruction} ### 输入: {input} ### 响应: {response}
不带输入的情况: ### 指令: {instruction} ### 响应: {response}
- Returns:
解析后的实例
- Return type:
- Raises:
ValueError - 文本不符合预期格式或缺少部分内容
- input: str#
- instruction: str#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- output: str#
camel.messages.conversion.conversation_models 模块#
基础类:
RootModelShareGPT格式的完整对话,包含验证
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- !!! abstract “Usage Documentation”
[model_dump](../concepts/serialization.md#modelmodel_dump)
生成模型的字典表示,可选择指定要包含或排除的字段。
- Parameters:
mode – to_python 应该运行的模式。 如果模式是 'json',输出将仅包含 JSON 可序列化类型。 如果模式是 'python',输出可能包含非 JSON 可序列化的 Python 对象。
include – 输出中包含的一组字段。
exclude – 要从输出中排除的一组字段。
context – 传递给序列化器的额外上下文。
by_alias – 如果定义了字段的别名,是否在字典键中使用该别名。
exclude_unset - 是否排除未显式设置的字段。
exclude_defaults – 是否排除设置为默认值的字段。
exclude_none – 是否排除值为None的字段。
round_trip – 如果为True,转储的值应可作为非幂等类型(如Json[T])的有效输入。
warnings – 如何处理序列化错误。False/"none"表示忽略错误,True/"warn"表示记录错误,"error"会引发一个[PydanticSerializationError][pydantic_core.PydanticSerializationError]。
fallback – 当遇到未知值时调用的函数。如果未提供,则会引发 [PydanticSerializationError][pydantic_core.PydanticSerializationError] 错误。
serialize_as_any - 是否对具有鸭子类型序列化行为的字段进行序列化。
- Returns:
模型的字典表示。
验证对话是否遵循逻辑消息顺序
基类:
BaseModelShareGPT格式中的单条消息,带有增强验证
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- class camel.messages.conversion.conversation_models.ToolCall(*, name: str, arguments: Dict[str, Any])[来源]#
基类:
BaseModel表示一个经过验证的单一工具/函数调用
- arguments: Dict[str, Any]#
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'arguments': {'city': 'London', 'units': 'celsius'}, 'name': 'get_weather'}]}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- name: str#
- class camel.messages.conversion.conversation_models.ToolResponse(*, name: str, content: Any)[来源]#
基类:
BaseModel表示带有验证的工具/函数响应。这是一个工具响应的基类和默认实现,用于在不同格式之间进行转换。
- content: Any#
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'content': {'conditions': 'sunny', 'humidity': 65, 'temperature': 20}, 'name': 'get_weather'}]}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- name: str#
模块内容#
- class camel.messages.conversion.AlpacaItem(*, instruction: str, input: str, output: str)[来源]#
基类:
BaseModel表示Alpaca格式中的一条指令-响应条目。
适用于输入字段为空或已填充的两种情况。 提供使用类方法from_string()从字符串格式进行解析的功能。
- Parameters:
instruction (str) - 指令/问题/提示
input (str) - 输入上下文或示例(如果没有请留空字符串)
output (str) - 对指令的响应/回答
- classmethod from_string(text: str) AlpacaItem[来源]#
从格式化字符串创建一个AlpacaItem。
- Parameters:
文本 –
字符串格式可为以下任意一种: 带输入的情况: ### 指令: {instruction} ### 输入: {input} ### 响应: {response}
不带输入的情况: ### 指令: {instruction} ### 响应: {response}
- Returns:
解析后的实例
- Return type:
- Raises:
ValueError - 文本不符合预期格式或缺少部分内容
- input: str#
- instruction: str#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- output: str#
- class camel.messages.conversion.HermesFunctionFormatter[来源]#
基类:
FunctionCallFormatter[HermesToolCall,HermesToolResponse]带有验证的Hermes风格函数调用格式实现
- extract_tool_calls(message: str) List[HermesToolCall][来源]#
从提供的消息字符串中提取所有工具调用。
- Parameters:
message (str) – 包含潜在工具调用的输入消息字符串。
- Returns:
解析后的HermesToolCall对象列表。
- Return type:
列表[HermesToolCall]
- extract_tool_response(message: str) HermesToolResponse | None[来源]#
从提供的消息字符串中提取单个工具响应。
- Parameters:
message (str) – 包含潜在工具响应的输入消息字符串。
- Returns:
- 一个解析后的HermesToolResponse对象,
如果没有找到有效响应则为None。
- Return type:
基础类:
RootModelShareGPT格式的完整对话,包含验证
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- !!! abstract “Usage Documentation”
[model_dump](../concepts/serialization.md#modelmodel_dump)
生成模型的字典表示,可选择指定要包含或排除的字段。
- Parameters:
mode – to_python 应该运行的模式。 如果模式是 'json',输出将仅包含 JSON 可序列化类型。 如果模式是 'python',输出可能包含非 JSON 可序列化的 Python 对象。
include – 输出中包含的一组字段。
exclude – 要从输出中排除的一组字段。
context – 传递给序列化器的额外上下文。
by_alias – 如果定义了字段的别名,是否在字典键中使用该别名。
exclude_unset - 是否排除未被显式设置的字段。
exclude_defaults – 是否排除设置为默认值的字段。
exclude_none – 是否排除值为None的字段。
round_trip – 如果为True,转储的值应可作为非幂等类型(如Json[T])的有效输入。
warnings - 如何处理序列化错误。False/"none"表示忽略错误,True/"warn"表示记录错误,"error"会引发一个[PydanticSerializationError][pydantic_core.PydanticSerializationError]。
fallback – 当遇到未知值时调用的函数。如果未提供,则会引发[PydanticSerializationError][pydantic_core.PydanticSerializationError]错误。
serialize_as_any - 是否对具有鸭子类型序列化行为的字段进行序列化。
- Returns:
模型的字典表示。
验证对话是否遵循逻辑消息顺序
基类:
BaseModelShareGPT格式中的单条消息,带有增强验证
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- class camel.messages.conversion.ToolCall(*, name: str, arguments: Dict[str, Any])[来源]#
基类:
BaseModel表示一个经过验证的单一工具/函数调用
- arguments: Dict[str, Any]#
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'arguments': {'city': 'London', 'units': 'celsius'}, 'name': 'get_weather'}]}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- name: str#
- class camel.messages.conversion.ToolResponse(*, name: str, content: Any)[来源]#
基类:
BaseModel表示带有验证的工具/函数响应。这是一个工具响应的基类和默认实现,用于在不同格式之间进行转换。
- content: Any#
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'content': {'conditions': 'sunny', 'humidity': 65, 'temperature': 20}, 'name': 'get_weather'}]}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- name: str#