Elasticsearch
Elasticsearch嵌入 #
基类:EventBaseEmbedding
Elasticsearch 嵌入模型。
该类提供了一个接口,用于通过部署在Elasticsearch集群中的模型生成嵌入向量。它需要一个Elasticsearch连接对象以及部署在集群中的模型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
workflows/handler.py 中的源代码llama_index/embeddings/elasticsearch/base.py
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 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | |
from_es_connection
classmethod
#
from_es_connection(model_id: str, es_connection: Any, input_field: str = 'text_field') -> BaseEmbedding
从现有的Elasticsearch连接实例化嵌入。
此方法提供了一种使用现有Elasticsearch连接创建ElasticsearchEmbedding类实例的方式。该连接对象用于创建MlClient,随后用于初始化ElasticsearchEmbedding实例。
参数: model_id (str): 部署在Elasticsearch集群中的模型ID。 es_connection (elasticsearch.Elasticsearch): 现有的Elasticsearch 连接对象。 input_field (str, 可选): 文档中输入文本字段的键名。 默认为 'text_field'。
返回: ElasticsearchEmbedding: ElasticsearchEmbedding 类的一个实例。
示例
.. 代码块:: python
from elasticsearch import Elasticsearch
from llama_index.embeddings.elasticsearch import ElasticsearchEmbedding
# 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"], basic_auth=("user", "password"))
# Instantiate ElasticsearchEmbedding using the existing connection
embeddings = ElasticsearchEmbedding.from_es_connection(
model_id,
es_connection,
input_field=input_field,
)
workflows/handler.py 中的源代码llama_index/embeddings/elasticsearch/base.py
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 | |
from_credentials
classmethod
#
from_credentials(model_id: str, es_url: str, es_username: str, es_password: str, input_field: str = 'text_field') -> BaseEmbedding
根据 Elasticsearch 凭据实例化嵌入向量。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
model_id
|
str
|
部署在 Elasticsearch 集群中的模型的模型标识符。 |
required |
input_field
|
str
|
文档中输入文本字段的键名。默认为 'text_field'。 |
'text_field'
|
es_url
|
str
|
(str): 要连接的 Elasticsearch 网址。 |
required |
es_username
|
str
|
(str): Elasticsearch 用户名。 |
required |
es_password
|
str
|
(str): Elasticsearch 密码。 |
required |
示例
.. 代码块:: python
from llama_index.embeddings.bedrock import ElasticsearchEmbedding
# 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"
embeddings = ElasticsearchEmbedding.from_credentials(
model_id,
input_field=input_field,
es_url="foo",
es_username="bar",
es_password="baz",
)
workflows/handler.py 中的源代码llama_index/embeddings/elasticsearch/base.py
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 | |
选项: 成员:- ElasticsearchEmbedding