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

ElasticsearchEmbeddings

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

ElasticsearchEmbeddings

Examples using ElasticsearchEmbeddings