网站大量收购独家精品文档,联系QQ:2885784924

大模型面试题-14-基于LLM+向量库的文档对话 经验面.pdf

大模型面试题-14-基于LLM+向量库的文档对话 经验面.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

基于LLM+向量库的文档对话经验面

来自:AiGC面试宝典

宁静致远2023年09月28日23:12

一、基于LLM+向量库的文档对话基础面

1.1为什么大模型需要外挂(向量)知识库?

如何将外部知识注入大模型,最直接的方法:利用外部知识对大模型进行微调

•思路:构建几十万量级的数据,然后利用这些数据对大模型进行微调,以将额外知识注入大模型

•优点:简单粗暴

•缺点:

i.这几十万量级的数据并不能很好的将额外知识注入大模型;

ii.训练成本昂贵。不仅需要多卡并行,还需要训练很多天;

既然大模型微调不是将外部知识注入大模型的最优方案,那是否有其它可行方案?

1.2.基于LLM+向量库的文档对话思路是怎么样?

1.加载文件

2.读取文本

3.文本分割

4.文本向量化

5.问句向量化

6.在文本向量中匹配出与问句向量最相似的topk个

7.匹配出的文本作为上下文和问题一起添加到prompt中

8.提交给LLM生成回答

版本一

版本一

1.3.基于LLM+向量库的文档对话核心技术是什么?

•基于LLM+向量库的文档对话核心技术:embedding

•思路:将用户知识库内容经过embedding存入向量知识库,然后用户每一次提问也会经过embedding,利

用向量相关性算法(例如余弦算法)找到最匹配的几个知识库片段,将这些知识库片段作为上下文,与用户

问题一起作为promt提交给LLM回答

1.4.基于LLM+向量库的文档对话prompt模板如何构建?

已知信息:

{context}

根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说“根据已

知信息无法回答该问题”或“没有提供足够的相关信息”,不允许在答案中添加编造成分,

答案请使用中文。

问题是:{question}

二、基于LLM+向量库的文档对话优化面

痛点1:文档切分粒度不好把控,既担心噪声太多又担心语义信息丢失

问题描述

问题1:如何让LLM简要、准确回答细粒度知识?

•举例及标答如下:

用户:2023年我国上半年的国内生产总值是多少?

LLM:根据文档,2023年的国民生产总值是593034亿元。

•需求分析:一是简要,不要有其他废话。二是准确,而不是随意编造。

问题2:如何让LLM回答出全面的粗粒度(跨段落)知识?

•举例及标答如下:

用户:根据文档内容,征信中心有几点声明?

LLM:根据文档内容,有三点声明,分别是:一、……;二……;三……。

•需求分析:

要实现语义级别的分割,而不是简单基于html或者pdf的换行符分割。

笔者发现目前的痛点是文档分割不够准确,导致模型有可能只回答了两点,而实际上是因为向量相似度召回的结

果是残缺的。

有人可能会问,那完全可以把切割粒度大一点,比如每10个段落一分。但这样显然不是最优的,因为召回片段太

大,噪声也就越多。LLM本来就有幻觉问题,回答得不会很精准(笔者实测也发现如此)。

所以说,我们的文档切片最好是按照语义切割。

解决方案

思想(原则)

基于LLM的文档对话架构分为两部分,先检索,后推理。重心在检索(推荐系统),推理交给LLM整合即可。

而检索部分要满足三点①尽可能提高召回率,②尽可能减少无关信息;③速度快。

将所有的文本组织成二级索引,第一级索引是[关键信息],第二级是[原始文本],二者一一映射。

检索部分只对关键信息做embedding,参与相似度计算,把召回结果映射的原始文本交给LLM。

•主要架构图如下:

如何构建关键信息?

首先从架构图可以看到,句子、段落、文章都要关键信息,如果为了效率考虑,可以不用对句子构建关键信息。

1.文章的切分及关键信息抽取

•关键信息:为各语义段的关键信息集合,或者是各个子标题语义扩充之后的集合(pdf多级标题识别及提取见

下一篇文章)

•语义切分方法1:利用NLP的篇章分析(discourseparsing)工具,提取出段落之间的主要关系,譬如上述

极端情况2展示的段落之间就有从属关系。把所有包含主从关系的段落合并

文档评论(0)

189****7098 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档