本地知识库
由于本地大模型始终无法搭建,因此自己写了一个调用在线大模型(但也预留了本地大模型的接口)、使用本地chunk器的本地知识库项目
1.分割中文PDF的文本分割器
pdfchunk模块:
该模块包含了一个辅助函数_split_text_with_regex_from_end基于给定符号对文本进行分割
ChineseRecursiveTextSplitter模块:
负责分割中文文本
PdfChunk工具类
用于提取PDF并分割
2.基于bge-large-zh的文本向量化
负责将用户的提问和context向量化,同时提供find_similar函数用于查找用户提问与原文的相似度排名
3.大模型通义千万接口
负责根据prompt对大模型进行提问并生成回答,同时保留了大模型的记忆
测试:
在langchain容器内运行代码:
streamlit run main.py
界面(目前只实现了基本的上传文本和提问的功能):
上传文本并加载
文档内容
提问: