LangChain-ChatGLM-Webui 项目教程
项目介绍
LangChain-ChatGLM-Webui 是一个基于 LangChain 和 ChatGLM-6B 系列模型的项目,旨在提供一个针对本地知识库的自动问答 GUI 界面。该项目支持多种文本格式文件的上传,包括 txt、docx、md、pdf 等,并提供了包括 ChatGLM-6B 系列、Belle 系列等模型文件以及多种 Embedding 模型。
项目快速启动
环境准备
在开始之前,请确保您的系统已安装 Docker。
Docker 安装
- Docker 基础环境运行
docker pull xdlab/langchain-chatglm-webui
docker run -d --name langchain-chatglm-webui -p 8080:8080 xdlab/langchain-chatglm-webui
- Docker 小白运行
docker run -d --name langchain-chatglm-webui -p 8080:8080 xdlab/langchain-chatglm-webui
启动服务
- 启动服务
docker exec -it langchain-chatglm-webui /bin/bash
cd /app
python app.py
- 执行 curl 初始化模型命令
curl -X POST "http://localhost:8080/init" -H "Content-Type: application/json" -d '{"model_name": "ChatGLM-6B"}'
- 执行 curl 构建向量库命令
curl -X POST "http://localhost:8080/build_vector_db" -H "Content-Type: application/json" -d '{"file_path": "/path/to/your/file.txt"}'
- 执行 curl 发送指令
curl -X POST "http://localhost:8080/ask" -H "Content-Type: application/json" -d '{"question": "你的问题"}'
应用案例和最佳实践
应用案例
LangChain-ChatGLM-Webui 可以广泛应用于需要本地知识库的场景,例如企业内部知识库问答、教育领域的智能辅导系统等。通过上传本地文档,系统可以快速构建知识库并提供问答服务。
最佳实践
-
文档上传与处理
用户可以通过 Web 界面上传本地文档,系统会自动处理并构建向量库。
-
问答交互
用户可以通过 Web 界面输入问题,系统会基于本地知识库提供准确的回答。
典型生态项目
LangChain
LangChain 是一个强大的自然语言处理库,提供了丰富的模型和工具,支持多种语言和任务。
ChatGLM-6B
ChatGLM-6B 是一个高性能的语言模型,适用于多种对话和问答场景。
FastAPI
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,基于 Starlette 和 Pydantic。
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。
通过这些生态项目的结合,LangChain-ChatGLM-Webui 提供了一个高效、易用的本地知识库问答解决方案。