最近接触了大模型+本地知识库的问答应用实践。
从0到1开始做的过程中,参考了很多网上的教程和分享文章,其中绝大部分都是技术向的分享。感谢各位热爱总结和分享的开发大佬,让我在没有太多技术背景的情况下快速补齐了项目落地实践所需的基础知识。
同时,也想从产品视角出发,分享我所理解的大模型RAG应用,以及我作为产品这一角色,在实践过程中的经验(坑)。
因为篇幅问题,这一系列的分享,预计会分成3篇:
1、LangChain框架初体验:项目背景,初步体验和评测结果
2、调优思路分享:基于公开资料和实践的Langchain调优思路分享
3、如何测评:如何基于业务场景构建测试集和测评标准,并开展测评,以及过程中踩过的坑
欢迎感兴趣的朋友关注公众号如果想探讨更多实践经验,也可在文末添加我的微信,一起交流
今天来分享第一部分—LangChain框架初体验。
项目背景介绍
此次实践做的是政府政策问答。
对政策面向对象而言,从最开始的判断自身可申报的政策、找到政策原文、到解读政策、准备材料进行申报等各个节点,都存在一定的困难。因此,市面上也有许多提供政策咨询和申报服务的中介机构。
由于政策之间关系复杂、政策条文拆解门槛高、政策语义理解难度大、用户面向政策咨询的问法多等多种原因,传统的智能问答产品很难实现政府政策的智能问答。
而大模型能学习大量文本数据、能捕捉和理解问题的上下文,具有超强的泛化和生成自然语言的能力。同时区别于传统的智能问答系统,大模型通过预训练和微调的方式,减少了对人工标注数据的需求,这也大大增加了落地应用的可行性。大模型的出现,似乎为政策问答带来了新的曙光。
因此,我们选择LangChain-Chatchat框架,构建政策文档的本地知识库,实现大模型基于本地知识库内容生成回答,为用户提供政策问答和解读服务,节省查找和理解政策的时间。
LangChain框架介绍
为了方便理解后面的内容,这里先对LangChain-Chatchat框架和实现原理做一个简单的介绍。
由于本文非技术向梳理,详细介绍就不展开,感兴趣可参考:https://www.langchain.com.cn/
1、名词解释
RAG:即Retrieval-Augmented Generation,搜索增强生成,简单来说就是大模型+知识库,从广泛的知识库数据中检索相关片段,然后由大模型根据这些内容生成答案。这种方式,一方面可以减大模型的幻觉,提高其在特定任务上的表现,更加贴合实际应用的需求,另一方面可以明显提高搜索文档信息和生成回答的效率和体验,因此称为搜索增强生成。
LangChain:是一个可以实现RAG的开源框架,它提供一些基础的组件和工具,如知识库管理、文本处理、模型加载等,允许开发人员将大语言模型(LLM)与外部数据源相结合,快速搭建自己的应用。
LangChain-Chatchat:原 Langchain-ChatGLM,是在LangChain基础上构建的一个具体应用,使用了 LangChain 的组件和工具,并结合了其他一些技术和库(如 FastAPI、Streamlit 等),来构建基于LLM的本地知识库问答系统,其目标是建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
2、实现原理
(1) 上传文档:用户上传包含知识的文档,支持txt、pdf、docx等格式,LangChain Chatchat会将文档转换为Markdown格式
(2) 文本切割:为了便于分析和处理,将长文本切割为小块(chunk)
(3) 文本向量化:将切割的chunk通过embedding技术,转换为算法可以处理的向量,存入向量数据库
(4) 问句向量化:用户提问后,同样将用户的问句向量化
(5) 语义检索匹配:将用户的问句与向量数据库中的chunk匹配,匹配出与问句向量最相似的top k个
(6) 提交prompt至LLM:将匹配出的文本和问句,一起添加到配置好的prompt模板中,提交给LLM
(7) 生成回答:LLM生成回答,返回给用户

评测过程
在开发基于LangChain Chatchat框架完成部署后,终于进入了激动人心的评测环节。
大模型+知识库的组合,是否真的可以解决政策智能问答的顽疾,达到一个比较可用的效果呢?
是骡子是马拉出来遛遛才知道。**首先确定测评标准,****基于业务目标和政策咨询的场景,**对回答的内容生成质量进行测评,构建了一个测试集,并确定了评分标准,具体会在后面的文章中说明,这里先不做过多展开。主要包括以下方面:
-
是否可以理解问题
-
是否可以匹配正确的政策原文
-
基于政策原文的回答是否准确
-
基于政策原文的回答是否全面
-
回答里是否生成了政策原文以外的内容
-
回答是否可靠,不同轮次的回答是否差异大
-
是否支持追问
测评结论
一顿操作下来,测评结果不能说大失所望,但确实是不够理想:
-
基本可以理解问题,不存在答非所问的情况
-
正确匹配原文的能力较弱,存在匹配错误原文文档或原文片段的情况
-
是否能匹配正确的政策原文,受Top k 参数值的影响,且较难预估:
-
若问题对应的原文片段较多,可能由于k值过小而无法得出全面的回答,而调大k值,则可能匹配上与问题无关的的片段
-
若问题对应的原文片段较少,可能由于k值过大,而导致回答的内容与问题本身无关;也可能调大k值时,才可以得到正确的回答
-
对于需要总结全文或者跨文档检索的问题,由于Top k的上限,很难将全部相关的原文片段检索出来,得到全面的回答
-
即使匹配了正确的原文片段,回答也可能存在不准确、不全面,甚至生成原文里不存在内容的情况
-
生成的答案,偶尔存在重复、不合逻辑的问题
-
同一问题,不同轮次的回答结果差异较大,不稳定
-
一方面对追问的理解能力差,另一方面全新的问题,可能受上文的影响生成错误答案
虽然结果不够理想,但了解LangChain的实现原理后,我们可以知道,这其中存在诸多影响效果的因素,而找出关键影响因素,通过调优寻找最佳的实践组合,是有希望将效果提升到可用水平的。
因此,下一篇将继续分享基于公开资料和实践的Langchain调优思路。
程序员为什么要学大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

三、LLM大模型系列视频教程

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

723

被折叠的 条评论
为什么被折叠?



