camel.messages.conversion 包

本页内容

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:

AlpacaItem

Raises:

ValueError - 文本不符合预期格式或缺少部分内容

input: str#
instruction: str#
model_config: ClassVar[ConfigDict] = {}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

classmethod no_section_markers(value: str) str[来源]#

确保字段不包含类似'###'这样的节标记

output: str#
to_string() str[来源]#

将AlpacaItem转换为它的字符串表示形式。

Returns:

带有分段标记的格式化字符串表示

Return type:

字符串

camel.messages.conversion.conversation_models 模块#

class camel.messages.conversion.conversation_models.ShareGPTConversation(root: RootModelRootType = PydanticUndefined)[来源]#

基础类: RootModel

ShareGPT格式的完整对话,包含验证

model_config: ClassVar[ConfigDict] = {}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

model_dump(**kwargs)[来源]#
!!! abstract “Usage Documentation”

[model_dump](../concepts/serialization.md#modelmodel_dump)

生成模型的字典表示,可选择指定要包含或排除的字段。

Parameters:
  • modeto_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:

模型的字典表示。

root: List[ShareGPTMessage]#
validate_conversation_flow() ShareGPTConversation[来源]#

验证对话是否遵循逻辑消息顺序

class camel.messages.conversion.conversation_models.ShareGPTMessage(*, from_: Literal['human', 'gpt', 'system', 'tool'], value: str)[来源]#

基类:BaseModel

ShareGPT格式中的单条消息,带有增强验证

from_: Literal['human', 'gpt', 'system', 'tool']#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'from': 'human', 'value': "What's the weather like today?"}]}, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

value: str#
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#
classmethod validate_arguments(v: Dict[str, Any]) Dict[str, Any][来源]#

验证参数结构和内容

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#
classmethod validate_content(v: Dict[str, Any]) Dict[str, Any][来源]#

验证响应内容结构

模块内容#

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:

AlpacaItem

Raises:

ValueError - 文本不符合预期格式或缺少部分内容

input: str#
instruction: str#
model_config: ClassVar[ConfigDict] = {}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

classmethod no_section_markers(value: str) str[来源]#

确保字段不包含类似'###'这样的节标记

output: str#
to_string() str[来源]#

将AlpacaItem转换为它的字符串表示形式。

Returns:

带有分段标记的格式化字符串表示

Return type:

字符串

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:

可选[HermesToolResponse]

format_tool_call(content: str, func_name: str, args: Dict[str, Any]) str[来源]#

使用给定的内容、函数名称和参数格式化工具调用消息。

Parameters:
  • content (str) – 要包含在工具调用中的内容或消息。

  • func_name (str) - 被调用函数的名称。

  • args (Dict[str, Any]) – 要传递给函数的参数字典。

Returns:

表示Hermes中工具调用的格式化字符串

格式。

Return type:

字符串

format_tool_response(func_name: str, result: Any) str[来源]#

使用给定的函数名称和结果格式化工具响应消息。

Parameters:
  • func_name (str) – 返回结果的函数名称。

  • result (Any) – 要包含在工具响应中的结果。

Returns:

一个格式化字符串,表示Hermes中的工具响应

格式。

Return type:

字符串

class camel.messages.conversion.ShareGPTConversation(root: RootModelRootType = PydanticUndefined)[来源]#

基础类: RootModel

ShareGPT格式的完整对话,包含验证

model_config: ClassVar[ConfigDict] = {}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

model_dump(**kwargs)[来源]#
!!! abstract “Usage Documentation”

[model_dump](../concepts/serialization.md#modelmodel_dump)

生成模型的字典表示,可选择指定要包含或排除的字段。

Parameters:
  • modeto_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:

模型的字典表示。

root: List[ShareGPTMessage]#
validate_conversation_flow() ShareGPTConversation[来源]#

验证对话是否遵循逻辑消息顺序

class camel.messages.conversion.ShareGPTMessage(*, from_: Literal['human', 'gpt', 'system', 'tool'], value: str)[来源]#

基类:BaseModel

ShareGPT格式中的单条消息,带有增强验证

from_: Literal['human', 'gpt', 'system', 'tool']#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'json_schema_extra': {'examples': [{'from': 'human', 'value': "What's the weather like today?"}]}, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}#

模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。

value: str#
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#
classmethod validate_arguments(v: Dict[str, Any]) Dict[str, Any][来源]#

验证参数结构和内容

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#
classmethod validate_content(v: Dict[str, Any]) Dict[str, Any][来源]#

验证响应内容结构