langchain_community.embeddings.elasticsearch
.ElasticsearchEmbeddings¶
- class langchain_community.embeddings.elasticsearch.ElasticsearchEmbeddings(client: MlClient, model_id: str, *, input_field: str = 'text_field')[source]¶
[Deprecated] Elasticsearch嵌入模型。
该类提供了一个接口,用于使用部署在Elasticsearch集群中的模型生成嵌入。它需要一个Elasticsearch连接对象和集群中部署的模型的model_id。
在Elasticsearch中,您需要加载和部署一个嵌入模型。 - https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-trained-model.html - https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-deploy-models.html
Notes
Deprecated since version 0.1.11: Use Use class in langchain-elasticsearch package instead.
初始化ElasticsearchEmbeddings实例。
- 参数:
client(MlClient):Elasticsearch ML客户端对象。 model_id(str):Elasticsearch集群中部署的模型的model_id。 input_field(str):文档中输入文本字段的键的名称。默认为’text_field’。
Methods
__init__
(client, model_id, *[, input_field])初始化ElasticsearchEmbeddings实例。
aembed_documents
(texts)Asynchronous 嵌入搜索文档。
aembed_query
(text)Asynchronous 嵌入查询文本。
embed_documents
(texts)为文档列表生成嵌入。
embed_query
(text)为单个查询文本生成嵌入。
from_credentials
(model_id, *[, es_cloud_id, ...])从Elasticsearch凭据实例化嵌入。
from_es_connection
(model_id, es_connection)实例化来自现有Elasticsearch连接的嵌入。
- Parameters
client (MlClient) –
model_id (str) –
input_field (str) –
- __init__(client: MlClient, model_id: str, *, input_field: str = 'text_field')[source]¶
初始化ElasticsearchEmbeddings实例。
- 参数:
client(MlClient):Elasticsearch ML客户端对象。 model_id(str):Elasticsearch集群中部署的模型的model_id。 input_field(str):文档中输入文本字段的键的名称。默认为’text_field’。
- Parameters
client (MlClient) –
model_id (str) –
input_field (str) –
- async aembed_documents(texts: List[str]) List[List[float]] ¶
Asynchronous 嵌入搜索文档。
- Parameters
texts (List[str]) –
- Return type
List[List[float]]
- async aembed_query(text: str) List[float] ¶
Asynchronous 嵌入查询文本。
- Parameters
text (str) –
- Return type
List[float]
- embed_documents(texts: List[str]) List[List[float]] [source]¶
为文档列表生成嵌入。
- 参数:
texts(List[str]):要生成嵌入的文档文本字符串列表。
- 返回:
List[List[float]]:输入列表中每个文档的嵌入列表。
- Parameters
texts (List[str]) –
- Return type
List[List[float]]
- embed_query(text: str) List[float] [source]¶
为单个查询文本生成嵌入。
- 参数:
text(str):要生成嵌入的查询文本。
- 返回:
List[float]:输入查询文本的嵌入。
- Parameters
text (str) –
- Return type
List[float]
- classmethod from_credentials(model_id: str, *, es_cloud_id: Optional[str] = None, es_user: Optional[str] = None, es_password: Optional[str] = None, input_field: str = 'text_field') ElasticsearchEmbeddings [source]¶
从Elasticsearch凭据实例化嵌入。
- 参数:
model_id (str): 部署在Elasticsearch集群中的模型的模型ID。 input_field (str): 文档中输入文本字段的键名。默认为’text_field’。 es_cloud_id: (str, 可选): 要连接的Elasticsearch云ID。 es_user: (str, 可选): Elasticsearch用户名。 es_password: (str, 可选): Elasticsearch密码。
- 示例:
from langchain_community.embeddings import ElasticsearchEmbeddings # 定义模型ID和输入字段名称(如果与默认值不同) model_id = "your_model_id" # 可选,只有在与'text_field'不同的情况下才需要 input_field = "your_input_field" # 凭据可以通过两种方式传递。可以设置环境变量ES_CLOUD_ID、ES_USER、ES_PASSWORD, # 系统会自动获取它们,或者直接作为关键字参数传入。 embeddings = ElasticsearchEmbeddings.from_credentials( model_id, input_field=input_field, # es_cloud_id="foo", # es_user="bar", # es_password="baz", ) documents = [ "This is an example document.", "Another example document to generate embeddings for.", ] embeddings_generator.embed_documents(documents)
- Parameters
model_id (str) –
es_cloud_id (Optional[str]) –
es_user (Optional[str]) –
es_password (Optional[str]) –
input_field (str) –
- Return type
- classmethod from_es_connection(model_id: str, es_connection: Elasticsearch, input_field: str = 'text_field') ElasticsearchEmbeddings [source]¶
实例化来自现有Elasticsearch连接的嵌入。
此方法提供了一种使用现有的Elasticsearch连接创建ElasticsearchEmbeddings类实例的方式。连接对象用于创建MlClient,然后用于初始化ElasticsearchEmbeddings实例。
参数: model_id(str):部署在Elasticsearch集群中的模型的model_id。 es_connection(elasticsearch.Elasticsearch):现有的Elasticsearch连接对象。 input_field(str,可选):文档中输入文本字段的键名。默认为’text_field’。
返回: ElasticsearchEmbeddings:ElasticsearchEmbeddings类的一个实例。
- 示例:
from elasticsearch import Elasticsearch from langchain_community.embeddings import ElasticsearchEmbeddings # 定义模型ID和输入字段名称(如果与默认值不同) model_id = "your_model_id" # 可选,仅在与'text_field'不同的情况下使用 input_field = "your_input_field" # 创建Elasticsearch连接 es_connection = Elasticsearch( hosts=["localhost:9200"], http_auth=("user", "password") ) # 使用现有连接实例化ElasticsearchEmbeddings embeddings = ElasticsearchEmbeddings.from_es_connection( model_id, es_connection, input_field=input_field, ) documents = [ "这是一个示例文档。", "另一个示例文档,用于生成嵌入。", ] embeddings_generator.embed_documents(documents)
- Parameters
model_id (str) –
es_connection (Elasticsearch) –
input_field (str) –
- Return type