| github |
Chat2Anything是面向企业内部环境的大模型(LLM)知识库问答系统,它具备以下功能:
-
包含客户端(Chat2Anything)与后台管理系统(Chat2Anything Admin),其中后台管理系统负责大模型知识库的创建与管理,用户可通过上传Excel、Word、PDF等文件向大模型添加企业内部知识(Langchain机制);管理系统包含完整的用户权限、角色、组织、数据字典管理等功能
-
支持ChatGPT、ChatGLM、Vicuna等主流大模型,用户可随时切换大模型;当使用ChatGLM、Vicuna时,整套系统可实现完全私域部署,企业数据100%内部流转
-
支持业务系统数据库接入,手动/自动选择查询分析涉及的表,根据用户问题描述Text2SQL(待完善),查询结果自动执行并可视化(待开发)
-
本地配置ChatGLM (https://github.com/THUDM/ChatGLM-6B) / Vicuna (https://github.com/lm-sys/FastChat) 等大模型,如使用ChatGPT,在Chat2Anything/configs/openai_config.py文件中配置OPENAI_API_KEY和OPENAI_API_BASE
-
运行controller:
python3 -m fastchat.serve.controller
-
运行model_worker (ChatGLM-6B, 推荐ChatGLM2-6B (https://github.com/THUDM/ChatGLM2-6B)):
python3 -m fastchat.serve.model_worker_chatglm --model-path /path/to/model/weights
or
运行model_worker (vicuna):
python3 -m fastchat.serve.model_worker --model-path /path/to/model/weights
-
运行client web server
python3 -m fastchat.serve.chat2anything_web_server
如使用ChatGPT, 添加启动参数 --add-chatgpt
-
基本测试环境
Ubuntu 20.04 CUDA 11.7 Python 3.9 PyTorch 1.13 Tesla V100 32GB * 1
-
数据库(MySQL)配置:
# MySql配置信息 MYSQL_HOST=数据库地址 MYSQL_PORT=数据库端口 MYSQL_DATABASE=chat2anything_db MYSQL_USERNAME=账户 MYSQL_PASSWORD=密码 # 密钥配置 SECRET_KEY='一定要改'
-
模型相关配置:
# model_config.py embedding_model_dict = { 'text2vec": "/Path/to/text2vec-large-chinese', } # 密钥配置 VECTOR_ROOT_PATH = os.path.join('/Path/to/Chat2Anything', 'vector_stores')
-
数据库初始化:
flask db init flask db migrate flask db upgrade flask admin init
-
运行:
# Windows run.bat # Linux chmod +x run.sh ./run.sh # 管理员默写账户密码 admin 123456
Appreciate the following contributions: