Elasticsearch
逐步解說如何使用 Elasticsearch 中託管的嵌入模型產生嵌入
要實例化 ElasticsearchEmbeddings
類別,最簡單的方法是
- 如果您使用 Elastic Cloud,則使用
from_credentials
建構子 - 或使用任何 Elasticsearch 叢集的
from_es_connection
建構子
!pip -q install langchain-elasticsearch
from langchain_elasticsearch import ElasticsearchEmbeddings
API 參考:ElasticsearchEmbeddings
# Define the model ID
model_id = "your_model_id"
使用 from_credentials
測試
這需要一個 Elastic Cloud cloud_id
# Instantiate ElasticsearchEmbeddings using credentials
embeddings = ElasticsearchEmbeddings.from_credentials(
model_id,
es_cloud_id="your_cloud_id",
es_user="your_user",
es_password="your_password",
)
# Create embeddings for multiple documents
documents = [
"This is an example document.",
"Another example document to generate embeddings for.",
]
document_embeddings = embeddings.embed_documents(documents)
# Print document embeddings
for i, embedding in enumerate(document_embeddings):
print(f"Embedding for document {i+1}: {embedding}")
# Create an embedding for a single query
query = "This is a single query."
query_embedding = embeddings.embed_query(query)
# Print query embedding
print(f"Embedding for query: {query_embedding}")
使用現有的 Elasticsearch 客戶端連線進行測試
這可以用於任何 Elasticsearch 部署
# Create Elasticsearch connection
from elasticsearch import Elasticsearch
es_connection = Elasticsearch(
hosts=["https://es_cluster_url:port"], basic_auth=("user", "password")
)
# Instantiate ElasticsearchEmbeddings using es_connection
embeddings = ElasticsearchEmbeddings.from_es_connection(
model_id,
es_connection,
)
# Create embeddings for multiple documents
documents = [
"This is an example document.",
"Another example document to generate embeddings for.",
]
document_embeddings = embeddings.embed_documents(documents)
# Print document embeddings
for i, embedding in enumerate(document_embeddings):
print(f"Embedding for document {i+1}: {embedding}")
# Create an embedding for a single query
query = "This is a single query."
query_embedding = embeddings.embed_query(query)
# Print query embedding
print(f"Embedding for query: {query_embedding}")