本项目使用了Chrome开源向量数据库与LangChain进行的关于智能文档问答系统的开发 首先构建prompt 然后把文档进行编码,存储在向量数据库中,通过对向量的query找到对应文档,在传给prompt 利用prompt传给openai的语言模型进行聊天,并且再次构造一个prompt对问答对打分 同时存储问答对,与对应的分数,并将问题对也存储到向量数据中 之后如果对应分数小于6就根据问题相似度从向量数据库中查询到相似问题然后取其回复
这个项目还有很多未完善的地方,比如:
1.存储的问题过少时,算相似度是无意义的。这个之后再改进
2.可以先对问题进行分类,可以用模型去训练一个文本分类模型(分成体育意义,体育历史,体育明星,体育品牌,体育赛事,体育技巧与规则这六类),也可以直接用chatgpt去分类,然后再对分类到的文档进行编码与查询,这样效率更高,之后再完善
(注释中已经写了但是没继续写完)
3.这里使用的是有关体育的知识,篮球,足球,马拉松,乒乓球,游泳等运动,在此之下又细分体育意义,体育历史,体育明星,体育品牌,体育赛事,体育技巧与规则,可以更改到自己的文档
4.后续可能会使用flask框架,成为一个完整的页面应用
5.self_instruct写的不好,可以自行更改,没有实现加入去掉相似度较大的句子,prompt设计的也不够好,这导致在训练分类模型的时候,模型的分类效果不会太好