终极RAG实战指南:使用Applied AI Engineering Samples构建检索增强生成系统
终极RAG实战指南:使用Applied AI Engineering Samples构建检索增强生成系统
Applied AI Engineering Samples是一个专注于展示如何在Google Cloud Vertex AI上使用生成式AI的代码示例库,提供了丰富的检索增强生成(RAG)系统构建资源。本文将带你快速掌握使用该项目构建高效RAG系统的核心方法,无需复杂代码即可上手实战。
为什么选择Vertex AI构建RAG系统?
构建一个健壮的检索增强生成(RAG)系统面临诸多挑战,而Vertex AI通过一系列灵活的独立API简化了这一过程。使用Vertex AI构建RAG系统具有以下显著优势:
- 依托Vertex AI Search技术:利用驱动Vertex AI Search的相同技术构建自定义RAG和基础生成解决方案
- 精细控制能力:可根据特定用例定制RAG系统,为用户提供更大的控制权
- 加速上市时间:依靠底层Vertex AI API,在保证高质量的同时加快产品推向市场的速度
这些构建器API为RAG应用设计提供了完全的灵活性和控制力,详细信息可参考官方文档。
RAG系统核心组件与工作流程
一个完整的RAG系统主要由三个核心步骤组成,每个步骤都有对应的Vertex AI API支持:
数据 ingestion:构建向量知识库
首先需要将文档从Cloud Storage存储桶摄入到Vertex AI Vector Search(向量数据库)。这个过程包括:
- 使用Cloud Document AI Layout Parser解析Cloud Storage存储桶中的文档
- 通过Vertex AI Embeddings API将原始文本块转换为嵌入向量
- 生成的嵌入向量为向量搜索提供语义搜索能力
检索:获取相关上下文
检索阶段主要完成以下任务:
- 针对给定的用户查询从Vertex AI向量搜索中检索相关块
- 使用Vertex AI Ranking API对检索到的块进行重新排序,优化检索结果
答案生成:生成有依据的响应
最后一步是生成基于检索上下文的回答:
- 使用Vertex AI Gemini API根据重新排序的块生成答案
- 通过Vertex AI Check Grounding API验证生成的答案,确定答案与检索到的相关块的关联程度
开始构建你的第一个RAG系统
准备工作
首先需要克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/ap/applied-ai-engineering-samples
项目中提供了完整的RAG系统构建示例,主要位于以下路径:
- RAG应用构建示例:genai-on-vertex-ai/retrieval_augmented_generation/diy_rag_with_vertexai_apis/build_grounded_rag_app_with_vertex.ipynb
- RAG嵌入评估工具:genai-on-vertex-ai/gemini/model_upgrades/rag_embeddings/vertex_colab/rag_embeddings_eval.ipynb
评估RAG系统性能
构建RAG系统后,评估其性能至关重要。Vertex AI Evaluation Service提供了强大的评估能力,可用于比较不同嵌入模型的性能。推荐使用以下评估方法:
- 选择评估指标:使用"检索质量"作为主要指标,检查"检索上下文"是否包含"参考"中存在的所有关键信息
- 准备评估数据集:基于RAG Dataset创建评估数据集,包含问题和对应的检索上下文
- 比较不同模型:可比较text-embedding-004(基线模型)和text-embedding-005(候选模型)等不同嵌入模型的性能
优化RAG系统的实用技巧
1. 优化嵌入模型选择
Vertex AI嵌入模型可针对各种任务类型生成优化的嵌入,如文档检索、问答和事实验证。为RAG系统设置TASK_TYPE为RETRIEVAL_DOCUMENT,以生成针对信息检索优化的嵌入。
2. 持续改进评估数据集
从生产环境中的RAG系统或聊天机器人获取用户查询数据,通过以下流程构建更具代表性的评估数据集:
图:使用用户查询构建RAG评估数据集的流程,包括语义聚类和Gemini总结
这个过程包括:
- 收集生产环境中的用户问题
- 对问题进行语义聚类
- 使用Gemini总结聚类结果
- 从聚类中采样问题形成评估集
3. 监控RAG系统性能
定期使用评估数据集评估RAG系统性能,跟踪关键指标变化。项目中的Beyond_Single_Runs_Tendency_Analysis_of_Non_Deterministic_Eval_Tasks.ipynb提供了非确定性评估任务的趋势分析方法。
总结
使用Applied AI Engineering Samples项目和Vertex AI构建RAG系统,可以显著降低开发难度并提高系统质量。通过本文介绍的方法,你可以快速搭建一个功能完善的RAG系统,并通过持续评估和优化不断提升其性能。无论是构建企业知识库、智能客服还是专业问答系统,RAG技术都能为你的应用提供更准确、更可靠的生成式AI能力。
项目中还提供了更多高级功能和示例,建议探索以下资源深入学习:
更多推荐


所有评论(0)