| 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: