lanchain
库,各部分可轻易替换,代码简单易懂。下载和部署模型
moka-ai/m3e-small
模型,放到assets/models/m3e-small
目录下,用于向量化文本内容。chatglm2-6b
的接口,接口启动参考:ChatGLM2-6B API。具体使用方式可参考:knowledge_qa_llm/llm/chatglm2_6b.py
llm_api
写到配置文件knowledge_qa_llm/config.yaml
中的llm_api_url
字段下。安装运行环境
pip install -r requirements.txt --no-cache-dir
运行
streamlit run webui.py
UI Demo
CLI Demo
extract_office_content
, rapidocr_pdf
, rapidocr_onnxruntime
moka-ai/m3e-small
sqlite
faiss
streamlit>=1.24.0
.
├── assets
│ ├── db # 存放向量数据库
│ ├── models # 放置提取embedding的模型
│ └── raw_upload_files
├── knowledge_qa_llm
│ ├── __init__.py
│ ├── config.yaml # 配置文件
│ ├── file_loader # 处理各种格式的文档
│ ├── llm # 大模型接口,大模型需要单独部署,以接口方式调用
│ ├── utils
│ └── vector_utils # embedding的存取和搜索
├── LICENSE
├── README.md
├── requirements.txt
├── tests
├── cli.py
└── webui.py # 基于streamlit的UI实现
streamlit==1.25.0
优化UIconfig.yaml
中