Skip to content

CosmicResearchCenter/chat2anything

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

164 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat2Anything 版本协议

目录

项目简介

Chat2Anything 是一个强大的检索增强生成(RAG)系统,允许用户通过自然语言与各种数据源进行交互。该项目集成了先进的向量搜索和大语言模型技术,支持多种文档格式导入,为您提供智能、高效的知识检索和问答服务。

主要功能

  • 🔍 智能文档检索和问答
  • 🌐 支持多种LLM提供商(OpenAI, Zhipu, OneAPI等)
  • 📊 高效的向量存储和检索系统(Milvus, Elasticsearch)
  • 📁 支持多种文档格式导入
  • 💬 自然语言交互界面
  • 🛠️ 简单易用的Docker部署方案

架构图

RAG_Architecture_Diagram

系统需求

  • Docker 和 Docker Compose
  • 至少8GB RAM
  • 网络连接(用于API调用)
  • Git

部署步骤

Docker Compose 部署 (推荐)

拉取项目

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以上)

前置服务安装

  1. MySQL 安装

  2. Elasticsearch 安装

  3. 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

使用指南

  1. 启动服务后,访问 http://127.0.0.1:9966 打开Web界面
  2. 通过界面上传您的知识库文档
  3. 开始与您的数据进行对话交流

常见问题

Q: 如何更改默认端口? A: 在.env文件中修改BACKEND_PORT和WEB_POET参数。

Q: 支持哪些文档格式? A: 支持PDF、Word、TXT、Markdown等常见文档格式。

Q: 如何扩展存储容量? A: 可以通过修改docker-compose.yml中相关服务的volume配置。

API文档

详细的API使用说明请参考:Chat2Anything API 文档

贡献指南

欢迎提交Issue和Pull Request来帮助改进项目!

协议

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published