AI智能体基础平台是一个基于LangGraph和大型语言模型的智能对话与任务处理系统。该平台集成了多种AI智能体,支持智能对话、科研方案定制、关键词扩展、多语言翻译、深度搜索等功能,为科研机构、企业应用和教育领域提供强大的AI能力支持。
ai-agnet-base/ ├── blank/ # 后端服务 │ ├── agent/ # AI智能体模块 │ │ ├── conversation_agent.py # 对话智能体 │ │ ├── research_topic_agent.py # 科研方案智能体 │ │ ├── keyword_expansion_agent.py # 关键词扩展智能体 │ │ ├── translation_agent.py # 翻译智能体 │ │ └── deep_search_agent.py # 深度搜索智能体 │ ├── api/ # API路由模块 │ │ ├── auth_routes.py # 认证路由 │ │ ├── conversation_routes.py # 对话路由 │ │ ├── user_routes.py # 用户管理路由 │ │ └── ... # 其他路由 │ ├── models/ # 数据模型 │ ├── schemas/ # 数据模式 │ ├── services/ # 业务服务 │ ├── config.py # 配置文件 │ ├── main.py # 主应用入口 │ └── requirements.txt # Python依赖 ├── frontend/ # 前端应用 │ ├── src/ # 源代码 │ │ ├── components/ # Vue组件 │ │ ├── views/ # 页面视图 │ │ ├── stores/ # 状态管理 │ │ ├── services/ # API服务 │ │ └── router/ # 路由配置 │ ├── package.json # Node.js依赖 │ └── vite.config.ts # Vite配置 └── start_all.sh # 一键启动脚本
git clone <repository-url>
cd ai-agnet-base
cd blank
# 创建虚拟环境
python3 -m venv .venv
# 激活虚拟环境
source .venv/bin/activate # Linux/Mac
# 或
.venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
cd frontend
# 安装依赖
npm install
# 或
pnpm install
# 或
yarn install
创建 .env 文件:
cd blank
cp env.example .env
编辑 .env 文件:
# 数据库配置 DATABASE_URL=mysql+aiomysql://username:password@localhost:3306/ai_agent_db # Redis配置 REDIS_URL=redis://localhost:6379 # Elasticsearch配置 (可选) ES_HOST=localhost ES_PORT=9200 # AI模型配置 QWEN3_API_KEY=your_api_key_here OPENAI_API_KEY=your_openai_key_here # 应用配置 HOST=0.0.0.0 PORT=8000 DEBUG=true
cd blank
# 创建数据库
mysql -u root -p -e "CREATE DATABASE ai_agent_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 运行数据库迁移
alembic upgrade head
# 初始化管理员账号
python3 scripts/init_admin.py
# 在项目根目录
chmod +x start_all.sh
./start_all.sh
启动后端服务:
cd blank
source .venv/bin/activate
python3 main.py
启动前端服务:
cd frontend
npm run dev
# 或
pnpm dev
# 或
yarn dev
项目使用统一的context-path /ai-api:
/ai-api/auth/*/ai-api/conversation/*/ai-api/users/*/ai-api/research/*/ai-api/keyword-expansion/*/ai-api/translation/*/ai-api/deep-search/*| 变量名 | 说明 | 默认值 |
|---|---|---|
DATABASE_URL | MySQL数据库连接URL | - |
REDIS_URL | Redis连接URL | redis://localhost:6379 |
ES_HOST | Elasticsearch主机 | localhost |
ES_PORT | Elasticsearch端口 | 9200 |
QWEN3_API_KEY | 通义千问API密钥 | - |
OPENAI_API_KEY | OpenAI API密钥 | - |
HOST | 服务监听地址 | 0.0.0.0 |
PORT | 服务监听端口 | 8000 |
DEBUG | 调试模式 | false |
| 变量名 | 说明 | 默认值 |
|---|---|---|
VITE_API_BASE | API基础地址 | http://localhost:8000/ai-api |
项目提供了自动初始化管理员账号的脚本:
cd blank
python3 scripts/init_admin.py
默认管理员账号:
adminadmin123456admin@example.com// 前端调用示例
import { postJSON } from '@/services/api';
const response = await postJSON('/conversation/chat', {
message: '你好,请介绍一下人工智能',
model: 'qwen3',
temperature: 0.7
});
const response = await postJSON('/research/topic', {
research_direction: '机器学习',
requirements: '需要包含算法原理和实现方案',
model: 'qwen3'
});
const response = await postJSON('/keyword-expansion/expand', {
base_keywords: ['机器学习', '深度学习'],
domain: '计算机科学',
model: 'qwen3'
});
const response = await postJSON('/translation/translate', {
text: 'Hello, how are you?',
source_lang: 'en',
target_lang: 'zh',
model: 'qwen3'
});
const response = await postJSON('/deep-search/search', {
query: '机器学习最新进展',
filters: {
year: '2024',
domain: 'AI'
},
model: 'qwen3'
});
# 使用一键启动脚本
./start_all.sh
# docker-compose.yml
version: '3.8'
services:
backend:
build: ./blank
ports:
- "8000:8000"
environment:
- DATABASE_URL=mysql://user:pass@mysql:3306/ai_agent_db
- REDIS_URL=redis://redis:6379
depends_on:
- mysql
- redis
frontend:
build: ./frontend
ports:
- "80:80"
depends_on:
- backend
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: ai_agent_db
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:6-alpine
volumes:
- redis_data:/data
volumes:
mysql_data:
redis_data:
server { listen 80; server_name your-domain.com; # 前端静态文件 location / { root /var/www/frontend; try_files $uri $uri/ /index.html; } # API代理 location /ai-api/ { proxy_pass http://backend:8000/ai-api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
# 测试API文档
curl http://localhost:8000/ai-api/docs
# 测试认证接口
curl http://localhost:8000/ai-api/auth/me
# 测试对话接口
curl -X POST http://localhost:8000/ai-api/conversation/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hello", "model": "qwen3"}'
# 检查MySQL服务状态
sudo systemctl status mysql
# 检查数据库连接
mysql -u username -p -h localhost -P 3306
# 检查Redis服务状态
sudo systemctl status redis
# 测试Redis连接
redis-cli ping
/ai-api前缀)VITE_API_BASE环境变量# 后端日志
tail -f backend.log
# 前端日志
tail -f frontend.log
# 系统日志
sudo journalctl -u your-service -f
详细的API文档可通过以下方式访问:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
感谢以下开源项目和技术:
⭐ 如果这个项目对您有帮助,请给我们一个星标!