Files
taiji-AI-PAD/QUICK_START.md
T
2025-12-25 04:20:42 +00:00

8.0 KiB
Raw Blame History

Taiji AI PAD 后端快速开始指南

概述

本指南将帮助你在5分钟内启动Taiji AI PAD后端服务。

快速启动(本地开发)

1. 克隆并进入项目

cd /home/taiji/tools/taiji-AI-PAD/services/mcp-server

2. 安装依赖

# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # Linux/Mac
# 或
venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

3. 配置环境变量(可选)

创建 .env 文件:

cat > .env << EOF
# 应用环境
ENVIRONMENT=development
DEBUG=true

# 数据库(使用Azure PostgreSQL)
DATABASE_URL=postgresql+asyncpg://taiji:By%40123456.@taijipda.postgres.database.azure.com:5432/postgres?sslmode=require

# Redis(使用Azure Redis)
REDIS_URL=rediss://:nkJgt1ERFpdeYrEFNyFtsc5K4ycvx2jIeAzCaGGf1OQ%3D@taiji.southeastasia.redis.azure.net:10000/0?ssl_cert_reqs=none

# JWT密钥
JWT_SECRET=zsbgnw

# 加密密钥
ENCRYPTION_KEY=zsbgnw
EOF

4. 初始化数据库

python -c "from database import init_db; import asyncio; asyncio.run(init_db())"

5. 启动服务

python main.py

服务将在 http://localhost:8000 启动。

6. 验证服务

打开浏览器访问:

测试API

登录获取Token

curl -X POST http://localhost:8000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "admin@taiji-ai.com",
    "password": "admin123",
    "role": "user"
  }'

将返回的token保存:

export TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

测试用户API

# 获取仪表板统计
curl http://localhost:8000/api/user/dashboard/stats \
  -H "Authorization: Bearer $TOKEN"

# 获取余额
curl http://localhost:8000/api/user/billing/balance \
  -H "Authorization: Bearer $TOKEN"

Docker部署(本地测试)

1. 构建镜像

docker build -t mcp-server:latest .

2. 运行容器

docker run -d \
  --name mcp-server \
  -p 8000:8000 \
  -e DATABASE_URL="postgresql+asyncpg://taiji:By%40123456.@taijipda.postgres.database.azure.com:5432/postgres?sslmode=require" \
  -e REDIS_URL="rediss://:nkJgt1ERFpdeYrEFNyFtsc5K4ycvx2jIeAzCaGGf1OQ%3D@taiji.southeastasia.redis.azure.net:10000/0?ssl_cert_reqs=none" \
  mcp-server:latest

3. 查看日志

docker logs -f mcp-server

Azure AKS部署(生产环境)

前置条件

  • Azure CLI已安装
  • kubectl已安装
  • 已创建AKS集群
  • 已配置ACR

一键部署

# 设置环境变量
export RESOURCE_GROUP="taiji-ai-rg"
export AKS_CLUSTER_NAME="taiji-aks-cluster"
export ACR_NAME="taijiregistry"
export LOCATION="southeastasia"

# 运行部署脚本
cd scripts
chmod +x deploy-azure.sh
./deploy-azure.sh

详细部署步骤请参考 DEPLOY_AZURE.md。

目录结构

services/mcp-server/
├── app/                      # 应用代码
│   ├── routes/              # API路由
│   │   ├── auth.py          # 认证
│   │   ├── user.py          # 用户侧
│   │   ├── channel.py       # 渠道
│   │   ├── admin.py         # 管理员
│   │   └── providers.py     # 供应商
│   ├── billing.py           # 计费逻辑
│   ├── schemas.py           # Pydantic模型
│   └── auth.py              # 认证工具
├── models.py                # 数据库模型
├── database.py              # 数据库配置
├── config.py                # 配置管理
├── main.py                  # 应用入口
├── requirements.txt         # Python依赖
├── Dockerfile               # Docker配置
├── k8s/                     # Kubernetes配置
│   ├── deployment.yaml
│   ├── secrets.yaml
│   └── ingress.yaml
└── scripts/                 # 部署脚本
    └── deploy-azure.sh

API端点概览

认证 (/api/auth)

  • POST /login - 登录
  • POST /logout - 登出
  • POST /refresh - 刷新Token
  • PUT /password - 修改密码
  • GET /keys/info - 获取API密钥
  • POST /keys/regenerate - 重新生成密钥

用户 (/api/user)

  • GET /dashboard/stats - 仪表板统计
  • GET /agents/activity - Agent活动
  • POST /gateway/select - 选择网关
  • POST /tools/generate - 生成工具
  • GET /agents/platform - 平台Agent
  • POST /workflows/create - 创建工作流
  • GET /billing/balance - 获取余额
  • POST /billing/recharge - 充值

渠道 (/api/channel)

  • GET /tenants - 租户列表
  • POST /tenants/create - 创建租户
  • POST /tenants/{id}/recharge - 充值
  • PUT /tenants/{id}/credit - 设置授信
  • GET /billing/stats - 计费统计

管理员 (/api/admin)

  • GET /dashboard/stats - 平台统计
  • GET /channels - 渠道列表
  • POST /channels/create - 创建渠道
  • GET /channels/applications - 申请列表
  • PUT /channels/applications/{id}/review - 审批
  • GET /billing/overview - 三维度计费

供应商 (/api/providers)

  • GET /models - 模型供应商列表
  • POST /models/create - 创建供应商
  • GET /models/{id} - 供应商详情
  • PUT /models/{id} - 更新供应商

核心功能

EU计算

# 1 EU = 10秒,不足10秒按1 EU
duration = 60  # 秒
eu = math.ceil(duration / 10)  # 6 EU
cost = eu * 0.01  # ¥0.06

余额与授信

可用额度 = 账户余额 + 授信额度
# 消费优先扣除余额,余额不足使用授信

工作流限制

# 最多3个Agent节点
if len(nodes) > 3:
    raise ValueError("工作流最多支持3个Agent节点")

常见问题

Q: 数据库连接失败?

确保防火墙规则允许你的IP访问Azure Database for PostgreSQL:

az postgres flexible-server firewall-rule create \
  --resource-group taiji-ai-rg \
  --name taijipda \
  --rule-name MyIP \
  --start-ip-address YOUR_IP \
  --end-ip-address YOUR_IP

Q: Redis连接超时?

检查Azure Cache for Redis的访问策略和防火墙设置。

Q: 如何创建初始管理员账号?

数据库初始化时会自动创建:

生产环境务必修改密码!

Q: 如何查看日志?

本地开发:

tail -f logs/mcp-server.log

Docker:

docker logs -f mcp-server

Kubernetes:

kubectl logs -f -l app=mcp-server -n taiji-ai

Q: 如何更新部署?

# 构建新镜像
docker build -t ${ACR_NAME}.azurecr.io/mcp-server:v2 .
docker push ${ACR_NAME}.azurecr.io/mcp-server:v2

# 更新K8s部署
kubectl set image deployment/mcp-server \
  mcp-server=${ACR_NAME}.azurecr.io/mcp-server:v2 \
  -n taiji-ai

# 查看滚动更新状态
kubectl rollout status deployment/mcp-server -n taiji-ai

监控和调试

健康检查

curl http://localhost:8000/health

Prometheus指标

curl http://localhost:8000/metrics

数据库状态

from database import health_check
import asyncio

result = asyncio.run(health_check())
print(result)

性能优化建议

  1. 数据库连接池: 已配置20个连接
  2. Redis缓存: 用于会话和临时数据
  3. 异步I/O: 使用AsyncIO提高并发
  4. 索引优化: 主要查询字段已添加索引
  5. HPA扩缩容: 生产环境自动扩缩容

安全建议

  1. 生产环境必须:

    • 修改默认密码
    • 使用强JWT密钥
    • 启用HTTPS
    • 配置防火墙规则
    • 定期备份数据库
  2. 推荐使用:

    • Azure Key Vault存储密钥
    • Azure Monitor监控
    • 定期安全扫描
    • API速率限制

下一步

  • 📖 阅读完整部署指南: DEPLOY_AZURE.md
  • ✅ 运行验证测试: BACKEND_VERIFICATION.md
  • 📝 查看实现总结: BACKEND_IMPLEMENTATION_SUMMARY.md
  • 🔍 查看API文档: http://localhost:8000/docs

获取帮助

  • 📧 Email: admin@taiji-ai.com
  • 📚 文档: 查看项目根目录的所有MD文件
  • 🐛 问题追踪: GitHub Issues

祝你使用愉快! 🎉