基于文档问答的LLM实践

 

实践背景

生成式语言模型给人们生活带来便利,训练数据不能及时更新,例如chatGPT3.5的训练数据截止大概再19年底,也就是说20年之后的事情他是不知道的。

当然我们也可以通过finetune来对模型数据进行更新、擦除,新增。但是对于中小企业来讲成本高。成本主要表现在设备成本和时间成本。因此需要一种解决方案来使得数据更新更加便捷快速。

实践环境

1.软件环境

Python 3.10以上

CUDA 11以上

centOS 8

语言模型选用chatCLM

Embedding模型选用text2vec-large-chinese

2.硬件环境

8C32G

NVIDIA T4 16G

 

实践流程

1.数据流转

 

 

2.描述

系统主要分为两部分,一部分是基于facebook开源的faiss的向量库,将文本数据转化为向量索引。另一部分是利用LLM的语言生成组织能力来对文档中已有的数据进行整理,从而获得一个近似与人的回答。

 

实践示例

1. 上传txt文件 生成向量索引

  下面是部分文档内容

 

 

 

 

 

 

 

 

2. 根据问题检索文档

    例如问题为:一般纳税人的税点是多少?

    索引出来的文本数据可能为为:小规模纳税点是3%;一般纳税人的税点是17%,门面上看似一般纳税人的税务高。

 

3. 组装prompt

 

 

 

 

 

4. prompt带入模型

  将组装好的prompt代入大语言模型,等待输出答案。

 

 

实践结果