【RAG】【embeddings47】Vertex AI 端点嵌入模型使用指南

张开发
2026/4/4 14:06:43 15 分钟阅读
【RAG】【embeddings47】Vertex AI 端点嵌入模型使用指南
案例概述本案例展示了如何使用 LlamaIndex 的VertexEndpointEmbedding类与部署在 Vertex AI 端点中的嵌入模型进行交互。Vertex AI 端点是 Google Cloud 提供的托管资源用于部署机器学习模型如嵌入模型以便对新数据进行预测。技术栈与核心依赖llama-index-embeddings-vertex-endpoint: LlamaIndex 的 Vertex AI 端点嵌入集成库llama-index: LlamaIndex 核心库Google Cloud Vertex AI: Google Cloud 的机器学习平台环境配置首先安装必要的依赖%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-提供凭据以连接到端点。可以使用服务账户 JSON 文件或直接提供服务账户信息# 使用服务账户文件 from llama_index.embeddings.vertex_endpoint import VertexEndpointEmbedding SERVICE_ACCOUNT_FILE -YOUR-SERVICE-ACCOUNT-FILE-PATH-.json embed_model VertexEndpointEmbedding( endpoint_idENDPOINT_ID, project_idPROJECT_ID, locationLOCATION, service_account_fileSERVICE_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_idENDPOINT_ID, project_idPROJECT_ID, locationLOCATION, service_account_infoSERVICE_ACCOUNT_INFO, )案例实现基本使用方法调用 get_text_embeddingembeddings 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 Googles ML infrastructure. )查看嵌入向量的前10个值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_batchembeddings 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 Googles ML infrastructure., Vertex is integrated with llamaIndex, ] )检查返回的嵌入向量数量len(embeddings)2案例效果通过本案例您可以成功连接到部署在 Vertex AI 端点中的嵌入模型使用get_text_embedding方法为单个文本生成嵌入向量使用get_text_embedding_batch方法为多个文本批量生成嵌入向量获取嵌入向量的具体数值可用于后续的相似度计算或其他NLP任务实现思路环境准备安装必要的依赖库包括 llama-index 和 llama-index-embeddings-vertex-endpoint凭据配置提供 Vertex AI 端点信息和服务账户凭据模型初始化使用VertexEndpointEmbedding类初始化嵌入模型嵌入生成调用相应的方法生成单个或批量文本的嵌入向量结果验证检查生成的嵌入向量的维度和数值扩展建议异步调用探索异步版本的嵌入生成方法以提高大批量文本的处理效率缓存机制实现嵌入向量缓存避免对相同文本重复计算自定义模型尝试部署自己的嵌入模型到 Vertex AI 端点而非使用预置模型性能优化调整批处理大小和并发请求数以优化大规模文本处理的性能应用集成将嵌入向量生成集成到更大的应用流程中如文档检索、问答系统等总结本案例展示了如何使用 LlamaIndex 与 Vertex AI 端点中的嵌入模型进行交互。通过VertexEndpointEmbedding类我们可以轻松地利用 Google Cloud 的强大基础设施来生成高质量的文本嵌入向量。这种方法特别适合需要大规模、高性能嵌入生成的企业应用场景同时还能享受 Google Cloud 提供的安全性、可扩展性和管理便利性。

更多文章