camel.embeddings 包#
子模块#
camel.embeddings.base 模块#
- class camel.embeddings.base.BaseEmbedding[来源]#
基类:
ABC,Generic[T]文本嵌入功能的抽象基类。
- embed(obj: T, **kwargs: Any) list[float][来源]#
为给定文本生成嵌入向量。
- Parameters:
obj (T) – 要为其生成嵌入的对象。
**kwargs (Any) – 传递给嵌入API的额外参数。
- Returns:
- 表示生成嵌入的浮点数列表
生成的嵌入向量。
- Return type:
列表[浮点数]
camel.embeddings.mistral_embedding 模块#
- class camel.embeddings.mistral_embedding.MistralEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.MISTRAL_EMBED, api_key: str | None = None, dimensions: int | None = None)[来源]#
基类:
BaseEmbedding[str]提供使用Mistral模型的文本嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于文本嵌入的模型类型。 (默认:
MISTRAL_EMBED)api_key (str, optional) – 用于与Mistral服务进行身份验证的API密钥。(默认:
None)dimensions (int, optional) – 文本嵌入输出的维度。 (default:
None)
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
camel.embeddings.openai_embedding 模块#
- class camel.embeddings.openai_embedding.OpenAIEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.TEXT_EMBEDDING_3_SMALL, url: str | None = None, api_key: str | None = None, dimensions: int | NotGiven = NOT_GIVEN)[来源]#
基类:
BaseEmbedding[str]提供使用OpenAI模型的文本嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于文本嵌入的模型类型。 (默认:
TEXT_EMBEDDING_3_SMALL)url (可选[str], 可选) – OpenAI服务的URL地址。 (默认值:
None)api_key (str, optional) – 用于OpenAI服务身份验证的API密钥。(默认值:
None)dimensions (int, optional) – 文本嵌入输出的维度。 (default:
NOT_GIVEN)
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
camel.embeddings.sentence_transformers_embeddings 模块#
- class camel.embeddings.sentence_transformers_embeddings.SentenceTransformerEncoder(model_name: str = 'intfloat/e5-large-v2', **kwargs)[来源]#
基类:
BaseEmbedding[str]该类提供了使用Sentence Transformers生成文本嵌入的功能。
参考文献
camel.embeddings.vlm_embedding 模块#
- class camel.embeddings.vlm_embedding.VisionLanguageEmbedding(model_name: str = 'openai/clip-vit-base-patch32')[来源]#
基类:
BaseEmbedding[str|Image]提供使用多模态模型的图像嵌入功能。
- Parameters:
model_name – 用于生成嵌入向量的模型类型。 默认值为: obj:openai/clip-vit-base-patch32。
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
- embed_list(objs: List[Image | str], **kwargs: Any) List[List[float]][来源]#
为给定的图像或文本生成嵌入向量。
- Parameters:
objs (List[Image.Image|str]) – 用于生成嵌入向量的图像或文本列表。
image_processor_kwargs - 传递给图像处理器的额外参数。
tokenizer_kwargs – 传递给文本分词器(processor)的额外参数。
model_kwargs – 传递给主模型的额外参数。
- Returns:
- 表示生成嵌入的列表
作为浮点数的列表。
- Return type:
列表[列表[浮点数]]
- Raises:
ValueError – 如果输入类型不是Image.Image或str。
模块内容#
- class camel.embeddings.AzureEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.TEXT_EMBEDDING_3_SMALL, url: str | None = None, api_key: str | None = None, api_version: str | None = None, dimensions: int | None = None)[来源]#
基类:
BaseEmbedding[str]提供使用Azure的OpenAI模型的文本嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于文本嵌入的模型类型。 (default:
TEXT_EMBEDDING_3_SMALL)url (可选[str], 可选) – Azure OpenAI服务的URL。 (默认值:
None)api_key (str, optional) – 用于Azure OpenAI服务身份验证的API密钥。(默认:
None)api_version (str, optional) – Azure OpenAI服务的API版本。 (默认值:
None)dimensions (Optional[int], optional) – 文本嵌入输出的维度。(默认:
None)
- Raises:
RuntimeError - 如果指定了不受支持的模型类型。
ValueError - 如果缺少必需的API配置。
- class camel.embeddings.BaseEmbedding[来源]#
基类:
ABC,Generic[T]文本嵌入功能的抽象基类。
- embed(obj: T, **kwargs: Any) list[float][来源]#
为给定文本生成嵌入向量。
- Parameters:
obj (T) – 要为其生成嵌入的对象。
**kwargs (Any) – 传递给嵌入API的额外参数。
- Returns:
- 表示生成嵌入的浮点数列表
生成的嵌入向量。
- Return type:
列表[浮点数]
- class camel.embeddings.JinaEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.JINA_EMBEDDINGS_V3, api_key: str | None = None, dimensions: int | None = None, embedding_type: str | None = None, task: str | None = None, late_chunking: bool = False, normalized: bool = False)[来源]#
基类:
BaseEmbedding[str|Image]提供使用Jina AI API的文本和图像嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于生成嵌入向量的模型类型。(默认:
JINA_EMBEDDINGS_V3)api_key (Optional[str], optional) – 用于Jina AI身份验证的API密钥。(默认值:
None)dimensions (可选[int], 可选) – 输出嵌入的维度。(默认:
None)embedding_type (Optional[str], optional) – 要生成的嵌入格式类型。选项:'int8'(二进制编码,具有更高的存储和传输效率),'uint8'(无符号二进制编码,具有更高的存储和传输效率),'base64'(base64字符串编码,具有更高的传输效率)。(默认值:
None)task (Optional[str], optional) – 文本嵌入的任务类型。 可选值:retrieval.query, retrieval.passage, text-matching, classification, separation. (默认值:
None)late_chunking (bool, optional) – 如果为True,会将输入中的所有句子连接起来并视为单个输入处理。(默认:
False)normalized (bool, optional) – 如果为True,嵌入向量会被归一化为单位L2范数。(默认:
False)
- embed_list(objs: list[str | Image], **kwargs: Any) list[list[float]][来源]#
为给定的文本或图像生成嵌入向量。
- Parameters:
objs (list[Union[str, Image.Image]]) – 需要生成嵌入向量的文本或图像。
**kwargs (Any) - 传递给嵌入API的额外参数。在此实现中未使用。
- Returns:
- 表示生成嵌入的列表
作为浮点数的列表。
- Return type:
列表[列表[浮点数]]
- Raises:
ValueError - 如果输入类型不被支持。
RuntimeError - 如果API请求失败。
- class camel.embeddings.MistralEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.MISTRAL_EMBED, api_key: str | None = None, dimensions: int | None = None)[来源]#
基类:
BaseEmbedding[str]提供使用Mistral模型的文本嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于文本嵌入的模型类型。 (默认:
MISTRAL_EMBED)api_key (str, optional) – 用于与Mistral服务进行身份验证的API密钥。(默认:
None)dimensions (int, optional) – 文本嵌入输出的维度。 (default:
None)
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
- class camel.embeddings.OpenAICompatibleEmbedding(model_type: str, api_key: str | None = None, url: str | None = None, output_dim: int | None = None)[来源]#
基类:
BaseEmbedding[str]提供支持OpenAI兼容性的文本嵌入功能。
- Parameters:
model_type (str) - 用于文本嵌入的模型类型。
api_key (str) - 用于模型服务身份验证的API密钥。
url (str) – 模型服务的URL地址。
output_dim (Optional[int]) – 嵌入向量的维度。如果为None,将在第一次嵌入调用时确定。
- class camel.embeddings.OpenAIEmbedding(model_type: EmbeddingModelType = EmbeddingModelType.TEXT_EMBEDDING_3_SMALL, url: str | None = None, api_key: str | None = None, dimensions: int | NotGiven = NOT_GIVEN)[来源]#
基类:
BaseEmbedding[str]提供使用OpenAI模型的文本嵌入功能。
- Parameters:
model_type (EmbeddingModelType, optional) – 用于文本嵌入的模型类型。 (default:
TEXT_EMBEDDING_3_SMALL)url (可选[str], 可选) – OpenAI服务的URL地址。 (默认值:
None)api_key (str, optional) – 用于OpenAI服务身份验证的API密钥。(默认值:
None)dimensions (int, optional) – 文本嵌入输出的维度。 (default:
NOT_GIVEN)
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
- class camel.embeddings.SentenceTransformerEncoder(model_name: str = 'intfloat/e5-large-v2', **kwargs)[来源]#
基类:
BaseEmbedding[str]该类提供了使用Sentence Transformers生成文本嵌入的功能。
参考文献
- class camel.embeddings.TogetherEmbedding(model_name: str = 'togethercomputer/m2-bert-80M-8k-retrieval', api_key: str | None = None, dimensions: int | None = None)[来源]#
基类:
BaseEmbedding[str]提供使用Together AI模型的文本嵌入功能。
- Parameters:
model_name (str, optional) – 用于文本嵌入的模型名称。 (默认:
togethercomputer/m2-bert-80M-8k-retrieval)api_key (str, optional) – 用于与Together服务进行身份验证的API密钥。(默认:
None)dimensions (int, optional) – 文本嵌入输出的维度。 (default:
None)
- Raises:
ValueError - 如果模型名称格式无效或提供了空输入列表。
RuntimeError - 如果API请求失败。
- class camel.embeddings.VisionLanguageEmbedding(model_name: str = 'openai/clip-vit-base-patch32')[来源]#
基类:
BaseEmbedding[str|Image]提供使用多模态模型的图像嵌入功能。
- Parameters:
model_name – 用于生成嵌入向量的模型类型。 默认值为: obj:openai/clip-vit-base-patch32。
- Raises:
运行时错误 - 如果指定了不受支持的模型类型。
- embed_list(objs: List[Image | str], **kwargs: Any) List[List[float]][来源]#
为给定的图像或文本生成嵌入向量。
- Parameters:
objs (List[Image.Image|str]) – 用于生成嵌入向量的图像或文本列表。
image_processor_kwargs - 传递给图像处理器的额外参数。
tokenizer_kwargs – 传递给文本分词器(processor)的额外参数。
model_kwargs – 传递给主模型的额外参数。
- Returns:
- 表示生成嵌入的列表
作为浮点数的列表。
- Return type:
列表[列表[浮点数]]
- Raises:
ValueError – 如果输入类型不是Image.Image或str。