跳转到内容

与部署在Vertex AI端点中的嵌入模型交互,使用LlamaIndex

Vertex AI 端点是一种托管资源,可用于部署机器学习模型(如嵌入模型),以便对新数据进行预测。

本笔记本演示了如何使用 VertexEndpointEmbedding 类与嵌入端点进行交互,并利用 LlamaIndex。

如果您在 Colab 上打开这个笔记本,您可能需要安装 LlamaIndex 🦙。

%pip install llama-index-embeddings-vertex-endpoint
! pip install llama-index

您需要指定端点信息(端点ID、项目ID和区域)才能与部署在Vertex AI中的模型进行交互。

ENDPOINT_ID = "<-YOUR-ENDPOINT-ID->"
PROJECT_ID = "<-YOUR-PROJECT-ID->"
LOCATION = "<-YOUR-GCP-REGION->"

需要提供凭据以连接到端点。您可以:

  • 通过指定 service_account_file 参数使用服务账户 JSON 文件。
  • 通过 service_account_info 参数直接提供服务账户信息。

使用服务账户文件的示例:

from llama_index.embeddings.vertex_endpoint import VertexEndpointEmbedding
SERVICE_ACCOUNT_FILE = "<-YOUR-SERVICE-ACCOUNT-FILE-PATH->.json"
embed_model = VertexEndpointEmbedding(
endpoint_id=ENDPOINT_ID,
project_id=PROJECT_ID,
location=LOCATION,
service_account_file=SERVICE_ACCOUNT_FILE,
)

使用直接服务账户信息的示例:

from llama_index.embeddings.vertex_endpoint import VertexEndpointEmbedding
SERVICE_ACCOUNT_INFO = {
"private_key": "<-PRIVATE-KEY->",
"client_email": "<-SERVICE-ACCOUNT-EMAIL->",
"token_uri": "https://oauth2.googleapis.com/token",
}
embed_model = VertexEndpointEmbedding(
endpoint_id=ENDPOINT_ID,
project_id=PROJECT_ID,
location=LOCATION,
service_account_info=SERVICE_ACCOUNT_INFO,
)

调用 get_text_embedding_batchget_text_embedding

Section titled “Call get_text_embedding”
embeddings = embed_model.get_text_embedding(
"Vertex AI is a managed machine learning (ML) platform provided by Google Cloud. It allows data scientists and developers to build, deploy, and scale machine learning models efficiently, leveraging Google's ML infrastructure."
)
embeddings[:10]
[0.011612358,
0.01030837,
-0.04710829,
-0.030719217,
0.027658276,
-0.031597693,
0.012065322,
-0.037609763,
0.02321099,
0.012868305]

调用 get_text_embedding_batchget_text_embedding_batch

Section titled “Call get_text_embedding_batch”
embeddings = embed_model.get_text_embedding_batch(
[
"Vertex AI is a managed machine learning (ML) platform provided by Google Cloud. It allows data scientists and developers to build, deploy, and scale machine learning models efficiently, leveraging Google's ML infrastructure.",
"Vertex is integrated with llamaIndex",
]
)
len(embeddings)
2