此项目是基于大语言模型的llm-universe问答助手,是使用langchain 0.3 以 llm-universe 第一部分为主体内容做的RAG应用。本项目除加载markdown
及notebook
文件外均使用Langchain
框架实现。
-
api运行,以智谱的
glm-4-plus
与embedding-3
为例:安装相关依赖
pip install requirements.txt
将
.env.template
重命名为.env
,并在文件中填写智谱AI key。 key可以从智谱大模型平台获取。在命令行中启动streamlit服务
streamlit run app.py
-
本地运行:
安装相关依赖
pip install requirements_local.txt
下载llm权重并接入
langchain
,可以参考qwen.py。本地使用 embedding model,并在create_db.py与qa_chain.py中更改
embedding
,可以参考HuggingFaceEmbeddings中example。构建向量数据库
python create_db/create_db.py
在
app.py
中修改QA_chain
中相应参数,并在命令行中启动streamlit服务。streamlit run app.py
chat-with-llm-universe/
│
├── create_db/(存放加载文档并构建向量数据库的代码)
│ ├── create_db.py(加载文档并构建向量数据库)
│ └── load_data.py(存放加载文档的函数)
│
├── knowledge_db/(存放llm-universe第一部分及向量数据库)
│ ├── notebook/(存放llm-universe第一部分)
│ │ └── ...
│ └── vector_db/(存放向量数据库)
│ └── ...
│
├── llm/(存放llm相关内容)
│ ├── llm.py(接入langchain的方法)
│ └── qwen.py(继承langchain的LLM示例)
│
├── qa_chain/(存放检索问答链)
│ └── qa_chain.py(检索问答链)
│
├── .env.template(环境变量模版文件)
│
├── app.py(使用Streamlit部署应用)
│
├── requirements_local.txt
│
├── requirements.txt
self-llm:llm接入langchain