异步Elasticsearch嵌入#

class langchain_elasticsearch.embeddings.AsyncElasticsearchEmbeddings(client: MlClient, model_id: str, *, input_field: str = 'text_field')[source]#

初始化 ElasticsearchEmbeddings 实例。

Parameters:
  • client (MlClient) – 一个 Elasticsearch ML 客户端对象。

  • model_id (str) – 部署在Elasticsearch集群中的模型的model_id。

  • input_field (str) – 文档中输入文本字段的键名。默认为‘text_field’。

方法

__init__(client, model_id, *[, input_field])

初始化 ElasticsearchEmbeddings 实例。

aembed_documents(texts)

为文档列表生成嵌入。

aembed_query(text)

为单个查询文本生成嵌入。

embed_documents(texts)

嵌入搜索文档。

embed_query(text)

嵌入查询文本。

from_credentials(model_id, *[, es_cloud_id, ...])

从Elasticsearch凭据实例化嵌入。

from_es_connection(model_id, es_connection)

从现有的Elasticsearch连接实例化嵌入。

__init__(client: MlClient, model_id: str, *, input_field: str = 'text_field')[source]#

初始化 ElasticsearchEmbeddings 实例。

Parameters:
  • client (MlClient) – 一个 Elasticsearch ML 客户端对象。

  • model_id (str) – 部署在Elasticsearch集群中的模型的model_id。

  • input_field (str) – 文档中输入文本字段的键名。默认为‘text_field’。

async aembed_documents(texts: List[str]) List[List[float]][source]#

为文档列表生成嵌入。

Parameters:

文本 (列表[字符串]) – 用于生成嵌入的文档文本字符串列表。

Returns:

嵌入列表,输入中的每个文档对应一个

列表。

Return type:

列表[列表[浮点数]]

async aembed_query(text: str) List[float][source]#

为单个查询文本生成嵌入。

Parameters:

text (str) – 用于生成嵌入的查询文本。

Returns:

输入查询文本的嵌入。

Return type:

列表[浮点数]

embed_documents(texts: List[str]) List[List[float]][source]#

嵌入搜索文档。

Parameters:

文本 (列表[字符串]) – 要嵌入的文本列表。

Returns:

嵌入列表。

Return type:

列表[列表[float]]

embed_query(text: str) List[float][来源]#

嵌入查询文本。

Parameters:

文本 (str) – 要嵌入的文本。

Returns:

嵌入。

Return type:

列表[float]

classmethod from_credentials(model_id: str, *, es_cloud_id: str | None = None, es_api_key: str | None = None, input_field: str = 'text_field') AsyncElasticsearchEmbeddings[source]#

从Elasticsearch凭据实例化嵌入。

Parameters:
  • model_id (str) – 部署在Elasticsearch集群中的模型的model_id。

  • input_field (str) – 文档中输入文本字段的键名。默认为‘text_field’。

  • es_cloud_id (str | None) – (str, 可选): 要连接的Elasticsearch云ID。

  • es_user – (str, 可选): Elasticsearch 用户名。

  • es_password – (str, 可选): Elasticsearch 密码。

  • es_api_key (str | None)

Return type:

AsyncElasticsearchEmbeddings

示例

from langchain_elasticserach.embeddings import ElasticsearchEmbeddings

# Define the model ID and input field name (if different from default)
model_id = "your_model_id"
# Optional, only if different from 'text_field'
input_field = "your_input_field"

# Credentials can be passed in two ways. Either set the env vars
# ES_CLOUD_ID, ES_USER, ES_PASSWORD and they will be automatically
# pulled in, or pass them in directly as kwargs.
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)
classmethod from_es_connection(model_id: str, es_connection: AsyncElasticsearch, input_field: str = 'text_field') AsyncElasticsearchEmbeddings[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_elasticsearch.embeddings import ElasticsearchEmbeddings

# Define the model ID and input field name (if different from default)
model_id = "your_model_id"
# Optional, only if different from 'text_field'
input_field = "your_input_field"

# Create Elasticsearch connection
es_connection = Elasticsearch(
    hosts=["localhost:9200"], http_auth=("user", "password")
)

# Instantiate ElasticsearchEmbeddings using the existing connection
embeddings = ElasticsearchEmbeddings.from_es_connection(
    model_id,
    es_connection,
    input_field=input_field,
)

documents = [
    "This is an example document.",
    "Another example document to generate embeddings for.",
]
embeddings_generator.embed_documents(documents)
Parameters:
  • model_id (str)

  • es_connection (AsyncElasticsearch)

  • input_field (str)

Return type:

AsyncElasticsearchEmbeddings