基于需求文档、设计文档、测试用例的测试答疑助手

本文将基于 LangChain 实现一个 mini 的实战案例。这次实战主要完成的任务,就是设计一个测试答疑助手,这个测试答疑助手的主要功能为基于本地的文档和数据,回答给出的自然语言问题,比如一些数据的统计,查找、组合。

示例使用数据

  • 测试用例文档

  • 设计文档

  • 需求文档

实践演练

实战设计思路

安装依赖

安装依赖 chromadb,chromadb 是一个简单快捷的向量数据库,为了减少对 embedding 模型的请求次数,设置数据保存的物理位置,这样多次运行代码也不会重复请求模型转换向量:

  • embedding:相当于一个“桥梁” —— 翻译:把图片,文字,视频以及音频全部转换为数字,并且包含了数据的信息,使得大模型都能”懂“,能利用这些数字去做训练和推理。

  • 向量:向量本身是一组数字,但是在几何上,向量的各个数字组成了多维的数组空间,向量的每个维度代表该空间的·一个不同的特征或者属性。

  • 向量数据库:专门用于存储和管理向量数据的数据库,能对向量数据进行高效的操作。

代码实现

  1. 通过环境变量设置 API Token,以及相关依赖的导入:

2.处理源文档,将其切片处理:

3.如果数据存在,则加载使用,如果不存在,则写入:

4.将向量数据库中检索到的文本片段以及提示词组成为 prompt,向大模型获取返回信息:

运行结果示例

推荐学习

资源下载: