camel.personas 包#
子模块#
camel.personas.persona 模块#
- class camel.personas.persona.Persona(*, name: str | None = None, description: str | None = None, text_to_persona_prompt: ~camel.prompts.base.TextPrompt | str = <factory>, persona_to_persona_prompt: ~camel.prompts.base.TextPrompt | str = <factory>)[来源]#
基类:
BaseModel人物角色是社会中的一个角色。
- name#
角色名称。
- Type:
可选[str]
- description#
人物角色的描述。
- Type:
可选[str]
- text_to_persona_prompt#
将文本转换为角色的提示。
- Type:
Union[TextPrompt, str]
- persona_to_persona_prompt#
角色间互动提示。
- Type:
联合[TextPrompt, 字符串]
- id#
角色的唯一标识符,自动生成。
- Type:
uuid.UUID
- _id#
人物角色的内部唯一标识符,使用uuid.uuid4延迟生成。
- Type:
uuid.UUID
- model_config#
Pydantic模型的配置。允许任意类型并包含自定义JSON模式设置。
- Type:
类变量[配置字典]
- description: str | None#
- property id: UUID#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'json_schema_extra': {'properties': {'persona_to_persona_prompt': {'type': 'string'}, 'text_to_persona_prompt': {'type': 'string'}}}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- classmethod model_json_schema()[来源]#
为模型类生成JSON模式。
- Parameters:
by_alias – 是否使用属性别名。
ref_template – 参考模板。
schema_generator – 用于覆盖生成JSON模式的逻辑,作为GenerateJsonSchema的子类,可根据需要进行修改
mode – 生成模式时所使用的模式。
- Returns:
给定模型类的JSON模式。
- model_post_init(context: Any, /) None#
该函数旨在模拟BaseModel方法来初始化私有属性。
它接受context作为参数,因为这是pydantic-core在调用时传递的内容。
- Parameters:
self – BaseModel实例。
context – 上下文。
- name: str | None#
- persona_to_persona_prompt: TextPrompt | str#
- text_to_persona_prompt: TextPrompt | str#
camel.personas.persona_hub 模块#
- class camel.personas.persona_hub.PersonaHub(model: BaseModelBackend | None = None)[来源]#
基类:
objectPersonaHub改编自“Scaling Synthetic Data Creation with 1,000,000,000 Personas”。
PersonaHub提出了一种新颖的角色驱动数据合成方法,该方法利用大型语言模型(LLM)中的多种视角来创建多样化的合成数据。通过展示PersonaHub在合成高质量数学与逻辑推理问题、指令(即用户提示)、知识密集型文本、游戏NPC以及规模化工具(功能)等方面的应用案例,作者证明了角色驱动数据合成具有多功能性、可扩展性、灵活性且易于使用,可能推动合成数据创建与实际应用的范式转变,这对LLM的研究与发展可能产生深远影响。更多详情请参阅论文:https://arxiv.org/pdf/2406.20094。
- Parameters:
model (BaseModelBackend, optional) – 用于角色生成和操作的基础模型。(默认:
None)
- deduplicate(embedding_model: BaseEmbedding | None = None, similarity_threshold: float = 0.85) None[来源]#
从群组中移除相似的角色。
- Parameters:
embedding_model (BaseEmbedding) – 用于相似性比较的嵌入模型。(默认为 None)。
similarity_threshold (float) – 用于去重的相似度阈值(默认为0.85)。
模块内容#
- class camel.personas.Persona(*, name: str | None = None, description: str | None = None, text_to_persona_prompt: ~camel.prompts.base.TextPrompt | str = <factory>, persona_to_persona_prompt: ~camel.prompts.base.TextPrompt | str = <factory>)[来源]#
基类:
BaseModel人物角色是社会中的一个角色。
- name#
角色名称。
- Type:
可选[str]
- description#
人物角色的描述。
- Type:
可选[str]
- text_to_persona_prompt#
将文本转换为角色的提示。
- Type:
联合[TextPrompt, 字符串]
- persona_to_persona_prompt#
角色间互动提示。
- Type:
联合[TextPrompt, 字符串]
- id#
角色的唯一标识符,自动生成。
- Type:
uuid.UUID
- _id#
人物角色的内部唯一标识符,使用uuid.uuid4延迟生成。
- Type:
uuid.UUID
- model_config#
Pydantic模型的配置。允许任意类型并包含自定义JSON模式设置。
- Type:
类变量[配置字典]
- description: str | None#
- property id: UUID#
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'json_schema_extra': {'properties': {'persona_to_persona_prompt': {'type': 'string'}, 'text_to_persona_prompt': {'type': 'string'}}}}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- classmethod model_json_schema()[来源]#
为模型类生成JSON模式。
- Parameters:
by_alias – 是否使用属性别名。
ref_template – 参考模板。
schema_generator – 用于覆盖生成JSON模式的逻辑,作为GenerateJsonSchema的子类,可根据需要进行修改
mode – 生成模式时所使用的模式。
- Returns:
给定模型类的JSON模式。
- model_post_init(context: Any, /) None#
该函数旨在模拟BaseModel方法来初始化私有属性。
它接受context作为参数,因为这是pydantic-core在调用时传递的内容。
- Parameters:
self – BaseModel实例。
context – 上下文。
- name: str | None#
- persona_to_persona_prompt: TextPrompt | str#
- text_to_persona_prompt: TextPrompt | str#
- class camel.personas.PersonaHub(model: BaseModelBackend | None = None)[来源]#
基类:
objectPersonaHub改编自“Scaling Synthetic Data Creation with 1,000,000,000 Personas”。
PersonaHub提出了一种新颖的人物角色驱动数据合成方法,该方法利用大型语言模型(LLM)中的多种视角来创建多样化的合成数据。通过展示PersonaHub在合成高质量数学与逻辑推理问题、指令(即用户提示)、知识密集型文本、游戏NPC以及规模化工具(函数)等方面的应用案例,作者证明了人物角色驱动的数据合成具有多功能性、可扩展性、灵活性且易于使用,可能推动合成数据创建及其实际应用范式的转变,这将对LLM的研究与开发产生深远影响。更多详情请参阅论文:https://arxiv.org/pdf/2406.20094。
- Parameters:
model (BaseModelBackend, optional) – 用于角色生成和操作的基础模型。(默认:
None)
- deduplicate(embedding_model: BaseEmbedding | None = None, similarity_threshold: float = 0.85) None[来源]#
从群组中移除相似的角色。
- Parameters:
embedding_model (BaseEmbedding) – 用于相似性比较的嵌入模型(默认为None)。
similarity_threshold (float) – 用于去重的相似度阈值(默认为0.85)。