Chat2Anything 是一个强大的检索增强生成(RAG)系统,允许用户通过自然语言与各种数据源进行交互。该项目集成了先进的向量搜索和大语言模型技术,支持多种文档格式导入,为您提供智能、高效的知识检索和问答服务。
- 🔍 智能文档检索和问答
- 🌐 支持多种LLM提供商(OpenAI, Zhipu, OneAPI等)
- 📊 高效的向量存储和检索系统(Milvus, Elasticsearch)
- 📁 支持多种文档格式导入
- 💬 自然语言交互界面
- 🛠️ 简单易用的Docker部署方案
- Docker 和 Docker Compose
- 至少8GB RAM
- 网络连接(用于API调用)
- Git
拉取项目
git clone https://github.com/CosmicResearchCenter/chat2anything.git进入docker目录
cd chat2anything/docker配置.env文件
cp .env_copy .env
vim .env可以默认保持不变。以下是主要配置项说明:
# 基本配置
SECRET_KEY=chat2anything_secret_key # 应用密钥
# 管理员注册密钥
ADMIN_KEY=chat2anything_admin_key
在远程服务器,需要改成你远程服务器的ip
WEB_PORT=9966 # 访问端口
# 数据库配置
MYSQL_IP=chat2anything_db # MySQL服务名称
MYSQL_PORT=3306 # MySQL端口
MYSQL_BASE=chat2anything_db # 数据库名
MYSQL_USER=chat2anything_user # 数据库用户
MYSQL_PASSWORD=chat2anything_password # 数据库密码
SPPLITTER_MODEL=0 # 拆分模型参数
# ES_BASE_URL
ES_BASE_URL=chat2anything_es
ES_BASE_PORT=9200
# Milvus Host
MILVUS_HOST=chat2anything_milvus
MILVUS_PORT=19530系统还支持其他LLM提供商,如OneAPI、智谱AI、SparkAI等,详细配置请参考.env_copy文件。
修改完成后,运行即可
sudo docker-compose up -d- Python 3.9+ (推荐Python 3.11)
- Node.js 16+ 和 npm 8+
- MySQL 8.0+
- Elasticsearch 8.x
- Milvus 2.4+
- 至少8GB内存(推荐16GB以上)
-
MySQL 安装
-
Elasticsearch 安装
-
Milvus 安装
进入后端目录
cd backend创建虚拟环境
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 或 Windows下
# venv\Scripts\activate安装依赖
pip install --upgrade pip
pip install -r requirements.txt配置.env文件
cp .env_copy .env
vim .env必要的环境变量配置:
# 数据库配置
MYSQL_IP=localhost # 本地部署使用localhost
MYSQL_PORT=3306
MYSQL_BASE=chat2anything_db
MYSQL_USER=root # 或您创建的用户
MYSQL_PASSWORD=your_password
运行后端服务
python main.py进入前端目录
cd web安装依赖
npm install配置环境变量
cp .env_copy .env编辑.env文件配置后端API地址:
# 本地开发
VITE_APP_BASE_URL=http://127.0.0.1:9988
# 远程服务器
# VITE_APP_BASE_URL=http://your_server_ip:9988
开发模式运行
npm run dev生产环境构建与部署
# 构建前端资源
npm run build
# 使用nginx部署(示例配置)
sudo apt install nginx
sudo vim /etc/nginx/sites-available/chat2anything
# nginx配置示例
# server {
# listen 80;
# server_name your_domain.com;
# root /path/to/web/dist;
# index index.html;
# location / {
# try_files $uri $uri/ /index.html;
# }
# location /api/ {
# proxy_pass http://127.0.0.1:9988;
# }
# }
# 启用站点并重启nginx
sudo ln -s /etc/nginx/sites-available/chat2anything /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx- 启动服务后,访问
http://127.0.0.1:9966打开Web界面 - 通过界面上传您的知识库文档
- 开始与您的数据进行对话交流
Q: 如何更改默认端口? A: 在.env文件中修改BACKEND_PORT和WEB_POET参数。
Q: 支持哪些文档格式? A: 支持PDF、Word、TXT、Markdown等常见文档格式。
Q: 如何扩展存储容量? A: 可以通过修改docker-compose.yml中相关服务的volume配置。
详细的API使用说明请参考:Chat2Anything API 文档
欢迎提交Issue和Pull Request来帮助改进项目!
MIT License
