主题
Vertex AI 端点是一种托管资源,可用于部署嵌入等机器学习模型,对新数据进行预测。
本 Notebook 演示如何使用 VertexEndpointEmbedding 类与嵌入端点交互,并利用 LlamaIndex。
设置
如果你在 Colab 中打开这个 Notebook,可能需要先安装 LlamaIndex 🦙。
%pip install llama-index-embeddings-vertex-endpoint1
! pip install llama-index1
你需要指定端点信息(端点 ID、项目 ID 和区域),以便与部署在 Vertex AI 中的模型交互。
ENDPOINT_ID = "<-YOUR-ENDPOINT-ID->"
PROJECT_ID = "<-YOUR-PROJECT-ID->"
LOCATION = "<-YOUR-GCP-REGION->"1
2
3
2
3
应提供用于连接端点的凭据。你可以:
- 通过指定
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,
)1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
直接提供服务账号信息的示例:
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,
)1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
基本用法
调用 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."
)1
2
3
2
3
embeddings[:10]1
[0.011612358,
0.01030837,
-0.04710829,
-0.030719217,
0.027658276,
-0.031597693,
0.012065322,
-0.037609763,
0.02321099,
0.012868305]1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
调用 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",
]
)1
2
3
4
5
6
2
3
4
5
6
len(embeddings)1
21