Elasticsearch
ElasticsearchEmbedding #
Bases: BaseEmbedding
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
Source code in llama_index/embeddings/elasticsearch/base.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|
from_es_connection
classmethod
#
from_es_connection(
model_id: str,
es_connection: Any,
input_field: str = "text_field",
) -> BaseEmbedding
从现有的Elasticsearch连接实例化嵌入。
该方法提供了一种使用现有的Elasticsearch连接创建ElasticsearchEmbedding类实例的方式。连接对象用于创建MlClient,然后用于初始化ElasticsearchEmbedding实例。
Args: model_id (str): 部署在Elasticsearch集群中的模型的model_id。 es_connection (elasticsearch.Elasticsearch): 现有的Elasticsearch连接对象。 input_field (str, 可选): 文档中输入文本字段的键的名称。默认为'text_field'。
Returns: ElasticsearchEmbedding: ElasticsearchEmbedding类的实例。
示例
.. code-block:: python
from elasticsearch import Elasticsearch
from llama_index.embeddings.elasticsearch import ElasticsearchEmbedding
# 定义模型ID和输入字段名称(如果与默认值不同)
model_id = "your_model_id"
# 可选,仅当与'text_field'不同时使用
input_field = "your_input_field"
# 创建Elasticsearch连接
es_connection = Elasticsearch(hosts=["localhost:9200"], basic_auth=("user", "password"))
# 使用现有连接实例化ElasticsearchEmbedding
embeddings = ElasticsearchEmbedding.from_es_connection(
model_id,
es_connection,
input_field=input_field,
)
Source code in llama_index/embeddings/elasticsearch/base.py
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
from_credentials
classmethod
#
from_credentials(
model_id: str,
es_url: str,
es_username: str,
es_password: str,
input_field: str = "text_field",
) -> BaseEmbedding
从Elasticsearch凭据实例化嵌入。
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model_id |
str
|
部署在Elasticsearch集群中的模型的model_id。 |
required |
input_field |
str
|
文档中输入文本字段的键的名称。默认为'text_field'。 |
'text_field'
|
es_url |
str
|
(str): 要连接的Elasticsearch URL。 |
required |
es_username |
str
|
(str): Elasticsearch用户名。 |
required |
es_password |
str
|
(str): Elasticsearch密码。 |
required |
示例
.. code-block:: python
from llama_index.embeddings.bedrock import ElasticsearchEmbedding
# 定义模型ID和输入字段名称(如果与默认值不同)
model_id = "your_model_id"
# 可选,仅当与'text_field'不同时
input_field = "your_input_field"
embeddings = ElasticsearchEmbedding.from_credentials(
model_id,
input_field=input_field,
es_url="foo",
es_username="bar",
es_password="baz",
)
Source code in llama_index/embeddings/elasticsearch/base.py
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
|