论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
知识库问答和数据库问答
知识库问答和数据库问答
铁佛
论坛元老
|
2024-8-11 10:24:29
|
显示全部楼层
|
阅读模式
楼主
主题
1022
|
帖子
1022
|
积分
3066
知识库问答
一、概念
大语言模子(LLM)
LLM是一类底子模子,颠末大量数据训练,使其能够明白和生成自然语言和其他范例的内容,以实行各种使命。如,GPT,qwen,文心一言…
知识库
知识库是一个存储和管理知识的系统,它可以资助我们更有效地检索、组织和利用知识。知识库的构建是一个复杂的过程,涉及到知识的提取、表示、存储和检索等多个方面。
知识库问答
通俗来说:提问者提出问题,LLM将问题通过检索、匹配知识库中存储的知识,举行总结,来解答问题。
二、为什么要实现知识库问答
传统的LLM问答
利用互联网的公共信息和大模子本身的能力对问题举行解答。
LLMs的问题:
问题1:LLMs并不相识你的数据,且无法获取与此相干的最新数据,它们是事先利用来自互联网的公共信息训练好的,因此并不是专有数据库的专家也不会针对该数据库举行更新。
问题2:上下文窗口-每个LLM都有一个tokens的最大限制,用于限制用户每次提交的tokens数据(超长上下文的大模子破例),这会导致丢失上下文窗口之外的上下文,进而影响精确性、产生检索问题和幻觉等。幻觉问题:大模子的底层原理是基于概率,在没有答案的环境下经常会胡说八道,提供虚伪信息
问题3:中心遗失-即使LLMs可以一次性接收所有的数据,但它存在根据信息在文档中的位置来检索信息的问题。研究表明假如相干信息位于文档中心(而非开头或结尾时)时就会导致严重的性能降级。
问题4:时效性问题-规模越大(参数越多、tokens 越多),大模子训练的本钱越高。类似 ChatGPT3.5,起初训练数据是截止到 2021 年的,对于之后的事变就不知道了。
问题5:数据安全-OpenAI 已经遭到过频频隐私数据的投诉,而对于企业来说,假如把自己的经营数据、合同文件等机密文件和数据上传到互联网上的大模子,非常不安全。既要保证安全,又要借助 AI 能力,那么最好的方式就是把数据全部放在当地,企业数据的业务盘算全部在当地完成。而在线的大模子仅仅完成一个归纳的功能,甚至,LLM 都可以完全当地化部署。
基于LLM和RAG技术的知识库问答
为相识决传统的LLM问答的问题,需要一些方式来改变模子的举动来更好的贴近我们的盼望,一样平常来说有三种方式提示工程、微调和RAG。
提示工程:通过编写提示词来引导大模子思索回答问题。一样平常包罗:指示(Instructions),上下文(背景信息,Context),例子(Examples),输入(Input),输出(Output)。仍然局限在模子在初始训练期间学到的内容上。
微调:指找来一个语言模子并让它学习一些新的或特别的东西。在微调的环境下,模子需要大量新信息和时间来精确学习各种内容,带来的结果就是需要大量的资源,算力和时间。
RAG:检索加强生成(RAG)技术,该技术将常见的语言模子与知识库之类的东西混淆在一起。当模子需要回答问题时,它起首从知识库中查找并收集相干信息,然后根据该信息回答问题。模子会快速检查信息库,以确保它能给你最好的答案。
通过这种方式能够有效降低大模子问题带来的影响,比如幻觉,数据安全,时效性等问题。
当然上面三种方式并不是互相排斥,提示、RAG 和微调可以相互补充,从而在差异条理上加强模子的能力。在特定环境下,结合这三种方法可以达到模子性能的最佳状态。
三、知识库问答的实现
过程包罗加载文件 -> 读取文本 -> 文天职割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。
四、知识库的问答缺陷
1. RAG本身会带来的缺陷
(1)关键文档可能不会出现在系统检索组件返回的最上面的结果中。假如精确的答案被忽略,那么会导致系统无法提供精确的响应。
(2)系统从提供的上下文中提取精确的答案,但是在信息过载的环境下会遗漏关键细节,这会影响复兴的质量。
(3)部分结果没有错;但是它们并没有提供所有的细节,尽管这些信息在上下文中是存在的和可访问的。
2 其他问题
(1)用户的问题不够明确,导致查询不到精确结果
(2)机器性能的影响
(3)难以将复杂文档精确识别切分并向量化(例如含有复杂表格的PDF)
(4)大模子无法识别专业性和一些带有特别寄义的名词
…
数据库问答
一、什么是数据库问答
与知识库问答类似,但数据库问答不在是去切分文本匹配相似度,而是通过大模子以及text2sql的方式利用sql语句查询数据库中的数据,举行回答。
二、数据库问答的实现
用户提出问题
根据用户问题利用大模子推理出生成sql所需的数据库和数据表
根据推理出的数据库和数据表将表的结构信息查询出来,并组装到提示词里,在利用大模子和提示词推理生成sql语句。
查询生成的sql语句
将查询的结果再次利用大模子和提示词举行总结,得出答案
三、数据库问答的缺陷
受用户问题的影响,大模子不能保证推理出完全精确的数据表。对策:尽力将表格的形貌信息写详细,可以让提问者自行选择表格。
通常大模子对Text2SQL的表现不佳,生成的sql语句不一定能够实行(如,经常将字段备注当成字段名,没有利用提示词提供的表格信息而是胡编乱造)。对策:优化提示词去限制大模子,引入few_shot_examples(少量样本示例)。
少量样本示例:为LLM提供少量Q&A示例来资助它明白如何构建请求,通过这种方式可以提升10~15%的精确性。根据示例的质量和利用的模子,添加更多的示例可以获得更高的精确性。在有大量示例的环境下,可以将其生存在向量存储中,然后通过对输入查询举行语义搜索,动态选择此中的一部分。
回答速度慢。例如我们的实现方式:推理数据表+生成sql+匹配few_shot+生成echarts+总结,一共利用了五次大模子。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
铁佛
论坛元老
这个人很懒什么都没写!
楼主热帖
R语言使用dplyr包的arrange函数对dataf ...
Visual Studio 2022 安装低版本的 .Net ...
Apifox:节省研发团队的每一分钟 ...
手把手教你入门Python中的Web开发框架 ...
身为一个测试工程师只会点点点?我劝您 ...
通过cookie和localstorage实现数据持久 ...
.net6下使用DotnetZip解压文件,中文出 ...
.Net Core 5.x Api开发笔记 -- Swagger ...
实现华为多屏协同--非华为电脑下载12.0 ...
反射(一)-常用方法及加载资源文件 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Java
程序人生
Mysql
数据安全
DevOps与敏捷开发
快速回复
返回顶部
返回列表