如何利用大模型+RAG构建知识问答助手?

知识问答助手已经成为企业在探索大模型应用时的首选场景之一,基于大模型的知识问答助手不仅能够自动整合企业内外部的海量信息,构建全面、精准的知识图谱,还能够通过自然语言查询,实现一键触达精准答案。

大模型存在幻觉问题、可解释性差、隐私和安全问题等明显缺点,为了提高知识问答的准确率,一种基于“大模型+RAG(检索增强生成)”架构的方式正在形成。

RAG的本质是在大模型交互之前提前进行搜索,召回正确的上下文给到大模型,决定了大模型生成的天花板。通过RAG的方式扩展大模型,为企业提供了一种将企业私有数据“外挂”给大模型的方式,使企业不需要为了特定任务重新训练整个大模型(微调或从头构建),可大幅提升大模型的生成质量和结果的有用性。

但是,利用RAG方式扩展大模型也存在一些不足,例如:

• RAG受限于上下文窗口,限制了可发送给模型的检索信息量。同时,增强提示的额外检索步骤可能会导致延迟,影响模型反馈的及时性;

• 使用RAG方式需要重新设计技术架构和工作流程,接入新的技术组件如向量数据库、embedding模型等,增加这些技术组件会带来额外的成本;

• 企业需要在访问控制、信息检索、检索输出监控等方面建立防护机制,避免敏感信息泄露问题。

沙丘智库长期跟踪调研大模型技术的发展,旨在帮助企业快速了解大模型最新、最全面的落地情况。沙丘智库通过研究中国三峡集团、江西移动、火山引擎、字节跳动、PingCap等企业利用“大模型+RAG”构建知识问答助手的实战经验,旨在为其他企业提供参考。

案例1:中国三峡集团水电运维知识问答系统

基于大模型,中国三峡集团构建了水电运维知识问答系统,采用基于大语言模型的微调(SFT)+检索增强RAG(外挂向量数据库)的技术路线,具体实现步骤如下:第一,收集领域知识数据构造知识库;第二,对知识库中的数据进行文本提取和文本拆分,得到文本块;第三,利用嵌入向量表示模型给出文本块嵌入表示,并利用向量数据库进行保存;第四,根据用户输入信息的嵌入表示,通过向量数据库检索得到最相关文本片段,利用提示词模板与用户输入以及历史消息合并输入大语言模型;第五,将大语言模型结果返回用户。

案例2:江西移动大小模型协同的企业级私域知识检索平台

江西移动通过”大模型挂载小模型,小模型驱动大模型“的方式,构建企业级RAG开放能力平台——江小智。平台通过大小模型协同,打造通用知识管理能力,具有很好的应用泛化性和较高的知识互动精准性。平台为江西移动办公知识检索、一线营销培训等业务场景带来显著的价值提升。

案例3:火山引擎基于大模型的智能问答实践

火山引擎基于RAG技术实现智能问答,RAG通过从外部知识源动态检索信息,并使用检索到的数据作为组织答案的参考,显著提高响应的准确性和相关性,有效解决大模型中存在的幻觉问题。

RAG方案实现的核心在于两点,一是在检索阶段做到比较高的topk召回率,分为两路召回,一路是通过倒排索引检索召回,另一路是通过向量化方式召回,两路召回需要混排;二是支持比较大的context window,并能从较多相关信息中总结出正确答案。

案例4:字节跳动答疑机器人场景大模型实践

研发基建部门日常需要安排答疑值班,回答用户关于基建相关的咨询,字节跳动将研发答疑场景作为切入点,利用大模型构建答疑机器人,并联动研发领域沉淀多年的知识积累,答疑机器人充分利用RAG和FineTuning两种建设思路的优势。

案例5:PingCAP大语言模型问答助手构建实践

PingCAP采用RAG的方式训练TiDB Bot,对于大语言模型无法限制输出、OpenAI官方Embedding Model对多语言支持不健全、检索结果不准确的问题,PingCAP采用如下优化方式:

· 对于模型输出结果,PingCAP参考PPLM方法,通过GPT3.5/GPT4等大模型对用户输入进行判别,如果用户输入和TiDB相关则正常回答,如果无关则不回复;

· PingCAP选择自托管Embedding Model,通过GenQ生成chunk-question对,训练的损失函数使用multiple negatives ranking loss,训练后自托管Embedding Model的准确率基本接近于OpenAI的Embedding Model;

· 为了提高检索结果准确率,PingCAP主要通过添加RAG、及时更新向量库等方式解决。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

### 大模型结合RAG技术实现方法 大模型RAG(Retrieval-Augmented Generation)相结合的方式主要体现在利用外部知识库来增强生成的质量和准确性。具体来说,在传统的预训练语言模型基础上引入了检索模块,该模块可以从大规模文档集合中获取相关信息并将其融入到文本生成过程中[^1]。 对于这种组合的具体实施过程: - **数据准备阶段**:预先构建好用于检索的知识源数据库;同时准备好训练样本集。 - **编码器部分**:采用双向Transformer结构作为基础架构,负责理解输入序列语义特征的同时也接收来自检索组件提供的上下文线索。 - **解码器环节**:同样基于自回归机制设计而成,它不仅依赖于先前时刻的状态还考虑到了当前查询词以及额外注入的事实依据来进行下一步预测操作。 ```python from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration tokenizer = RagTokenizer.from_pretrained("facebook/rag-token-nq") retriever = RagRetriever.from_pretrained("facebook/rag-token-nq", index_name="exact", use_dummy_dataset=True) model = RagSequenceForGeneration.from_pretrained("facebook/rag-token-nq", retriever=retriever) input_dict = tokenizer.prepare_seq2seq_batch( ["What is the capital of France?"], return_tensors="pt" ) generated = model.generate(input_ids=input_dict["input_ids"]) print(tokenizer.batch_decode(generated)) ``` 此代码片段展示了如何加载预训练好的RAG模型,并针对给定问题执行推理任务以获得答案摘要。 ### 应用场景分析 当涉及到复杂领域内的问答系统建设时,比如医疗咨询平台、法律援助服务或是企业内部知识管理系统等场合下,借助于RAG能够显著提升回复内容的专业性和可靠性。此外,在对话型虚拟助手的设计方面也有着广泛的应用前景,因为这类应用往往需要处理大量非结构性信息并且要保证交互体验流畅自然[^2]。 ### 最佳实践经验分享 为了使上述方案达到最优效果,建议遵循以下几个原则: - 平衡性能与成本之间的关系,即合理配置硬件资源分配比例以便支持高效的数据索引建立及实时在线请求响应; - 不断迭代优化算法逻辑,特别是关于相似度计算函数的选择及其参数调整等方面的工作至关重要; - 定期维护更新背景资料库中的条目数量规模及时效性状态,从而确保最终输出结果始终具备较高的实用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值