本项目使用LangChain框架做文档类型文档。
包括两种请求方式,streaming和非streaming,其中streaming方式参考了chat-langchain项目。
- 用户ID
- 文档类型
- stream回答
- 读取文档或者文件夹下的文档
- 对文档进行切块
- 对文档块进行embedding
- 存储到向量数据库
- 允许增量更新
- 允许多个主题(多个表或者文件存储路径)
- 读取向量数据库数据
- 对query进行embedding
- 抽取向量数据库中和query最相似的候选文档块
- 将query和候选文档块组合,调用llm生成答案
temperature=0.0
pip install -r requirements.txt
按需修改config.py
文件
python data_prepare.py
python documents_qa_api.py
cd streaming
python main.py
query:请求的问题
chat_history:历史消息,是一个list,[[question, answer], [question, answer], ……],默认为[]
category:文档类别,默认为strategy
stream:是否为流式返回结果,默认为False
curl -H "Content-Type: application/json" -X POST "http://192.168.0.1:15001/documents_qa" -d '
{
"query": "朝鲜军队有多少人服役",
"chat_history": [],
"category": "strategy",
"stream": "false"
}
'