谷歌推出 Vertex AI RAG 引擎,简化大语言模型与外部数据源连接

谷歌推出 Vertex AI RAG 引擎,连接大语言模型和外部数据,减少幻觉,生成更精准答案。

原文标题:谷歌 Vertex AI 推出新的 RAG 引擎

原文作者:AI前线

冷月清谈:

谷歌近日发布了 Vertex AI RAG Engine,一项托管的编排服务,旨在简化大语言模型与外部数据源的连接。

该引擎能够帮助模型保持数据更新,生成更贴合需求的答案,并有效减少幻觉。它支持从多种来源摄取数据,并进行数据转换、嵌入处理、数据索引等步骤,最终生成内容。

Vertex AI RAG Engine 提供了 Python 绑定,方便开发者集成。开发者可以使用 upload_file 或 import_file 方法从本地文件、Google Cloud Storage 或 Google Drive 中的文档创建语料库。创建语料库后,开发者可以创建检索工具,将其连接到 LLM,并通过端点查询增强后的模型。

谷歌表示,Vertex AI RAG Engine 特别适合个性化投资建议、药物发现、个性化治疗计划制定以及尽职调查和合同审查等场景。

检索增强生成(RAG)技术通过从外部数据源中检索相关信息,并将这些信息与提示词一起提供给模型,从而“锚定”大语言模型,使其更适合特定用例或企业环境。

怜星夜思:

1、相比于传统的微调,使用 RAG 技术有哪些优势和劣势?
2、Vertex AI RAG Engine 主要面向哪些用户群体?
3、未来 RAG 技术的发展方向是什么?

原文内容

作者 | Sergio De Simone
译者 | 明知山
策划 丁晓昀

Vertex AI RAG Engine 是一项托管的编排服务,旨在简化大语言模型与外部数据源的连接,它能够帮助模型保持数据更新,生成更贴合需求的答案,并有效减少幻觉。

根据谷歌的说法,新的 RAG Engine 是使用 Vertex AI 实现基于 RAG 的 LLM 的“理想选择”,它在 Vertex AI Search 的易用性与基于底层 Vertex AI API(如文本嵌入 API、排名 API 等)构建自定义 RAG 管道的强大功能之间取得了平衡。

Vertex AI RAG Engine 支持的总体工作流包含了从多种不同来源摄取数据的步骤:数据转换,例如在索引之前将数据拆分为块;嵌入处理,将文本转换为数值向量,以捕捉其语义和上下文;数据索引,构建针对搜索进行了优化语料库;基于用户提示词从知识库中检索相关信息;最后是生成内容,将原始用户查询与检索到的信息结合,生成最终输出。

使用 Vertex AI RAG Engine,你可以很容易地将所有这些步骤集成到自己的解决方案中。集成 Vertex AI RAG Engine 最简单的方式是使用它的 Python 绑定 ,这些绑定位于 google-cloud-aiplatform 包中。在设置 Google Cloud 项目并初始化 Vertex AI 引擎后,你可以使用 upload_file 或 import_file 方法快速从本地文件、Google Cloud Storage 或 Google Drive 中的文档创建语料库。

# Currently supports Google first-party embedding models
EMBEDDING_MODEL = "publishers/google/models/text-embedding-004"  # @param {type:"string", isTemplate: true}
embedding_model_config = rag.EmbeddingModelConfig(publisher_model=EMBEDDING_MODEL)

rag_corpus = rag.create_corpus(
display_name=“my-rag-corpus”, embedding_model_config=embedding_model_config
)

rag_file = rag.upload_file(
corpus_name=rag_corpus.name,
path=“test.txt”,
display_name=“test.txt”,
description=“my test file”,
)

在有了语料库之后,你就可以创建一个检索工具,然后将其连接到 LLM,并暴露出端点,你可以使用该端点查询增强后的模型:

# Create a tool for the RAG Corpus
rag_retrieval_tool = Tool.from_retrieval(
retrieval=rag.Retrieval(
source=rag.VertexRagStore(
rag_corpora=[rag_corpus.name],
similarity_top_k=10,
vector_distance_threshold=0.5,
),
)
)

Load tool into Gemini model

rag_gemini_model = GenerativeModel(
“gemini-1.5-flash-001”, # your self-deployed endpoint
tools=[rag_retrieval_tool],
)

response = rag_gemini_model.generate_content(“What is RAG?”)

根据谷歌的说法,Vertex AI RAG Engine 特别适合用于个性化投资建议与风险评估、加速药物发现与个性化治疗计划制定,以及增强尽职调查和合同审查等场景。

检索增强生成(RAG)是一种用于 “锚定” 大语言模型的技术,即使其更适合特定用例或企业环境。RAG 的核心是从模型训练时无法访问的外部数据源中检索与特定任务相关的信息,并将这些信息与提示词一起提供给模型。或者也可以通过微调来“锚定”模型,这是一个使用外部数据重新训练模型的过程,即使在提示词中未明确指定,模型也能在每次查询时提供更贴合需求的结果。

锚定模型使其能够更好地理解查询的上下文,并提供额外特定于任务的信息,从而生成更好的答案。更具体地说,在企业数据场景中,锚定旨在通过安全地提供防火墙内的私有数据来克服 LLM 的局限性。

查看英文原文

https://www.infoq.com/news/2025/01/google-vertes-ai-rag-engine/

 会议推荐

在 AI 大模型技术如汹涌浪潮席卷软件开发领域的当下,变革与机遇交织,挑战与突破共生。2025 年 4 月 10 - 12 日,QCon 全球软件开发大会将在北京召开,以 “智能融合,引领未来” 为年度主题,汇聚各领域的技术先行者以及创新实践者,为行业发展拨云见日。现在报名可以享受 8 折优惠,单张门票立省 1360 元,详情可联系票务经理 18514549229 咨询。


今日荐文





图片
你也「在看」吗?👇

从研究角度来看,未来 RAG 技术可能更关注如何有效地整合多模态信息、如何进行更精细的知识检索以及如何更好地理解用户意图。

感觉主要还是面向开发者和企业吧,毕竟需要一定的技术基础才能上手。个人用户估计比较少会直接用到这个引擎。

我觉得 RAG 和其他技术的结合会是一个趋势,比如和知识图谱结合,或者和强化学习结合,应该会有很多新的可能性。

从学术角度来看,RAG 的优势在于其对知识的有效整合,可以避免微调带来的灾难性遗忘问题。但劣势在于检索过程的效率和准确性,以及对检索结果的有效整合仍然是挑战。

我猜想未来 RAG 技术可能会更加注重个性化和定制化,让用户可以根据自己的需求来配置和使用 RAG 系统。 另外,提高检索效率和准确性也是一个重要的发展方向。

从文章提到的应用场景来看,像个性化投资建议、药物研发、合同审查这些,感觉目标用户应该是金融、医疗、法律等行业的专业人士或者机构。

我觉得 RAG 最大的优势就是灵活,不用像微调那样每次改点东西就得重新训练模型,省时省力。缺点嘛,可能就是对外部数据源依赖比较大,如果数据源不稳定或者质量差,效果就不好说了。

个人认为,Vertex AI RAG Engine 应该主要面向那些需要处理大量私有数据,并希望利用 LLM 能力的企业用户,尤其是在金融、医疗等领域。

RAG 的优势在于它不需要重新训练模型,可以快速适应新的数据和任务。这样可以节省大量的计算资源和时间。另外,RAG 还可以利用更大的外部知识库,从而提高模型的性能。但是,RAG 也有一些劣势,比如它依赖于外部数据源的质量和可用性,如果数据源不好,那么模型的性能也会受到影响。另外,RAG 还可能存在一些安全风险,例如数据泄露等。