|
|
há 3 semanas atrás | |
|---|---|---|
| alembic | há 3 semanas atrás | |
| app | há 3 semanas atrás | |
| docs | há 3 semanas atrás | |
| frontend | há 3 semanas atrás | |
| scripts | há 3 semanas atrás | |
| tests | há 3 semanas atrás | |
| .env.example | há 3 semanas atrás | |
| .gitignore | há 3 semanas atrás | |
| README.md | há 3 semanas atrás | |
| alembic.ini | há 3 semanas atrás | |
| docker-compose.yml | há 3 semanas atrás | |
| pyproject.toml | há 3 semanas atrás | |
| requirements.txt | há 3 semanas atrás |
独立于 vent_agent_2.0 的新后端框架,使用:
普通业务数据使用 REST API 管理,DeepAgent 不直接负责数据库增删改查。诊断与评价先由确定性规则引擎计算,再由 DeepAgent 补充根因分析、解释和优化建议。未配置模型或未安装 Agent 依赖时,系统自动降级,业务 API 仍然可用。
API 层
dashboard / documents / monitoring / knowledge
diagnosis / evaluations / work-orders / ai
服务层
业务规则 / 诊断引擎 / 评价引擎 / 工单状态机 / DeepAgent 工作流
数据层
SQLAlchemy ORM / Repository / MySQL / SQLite / Alembic
app/
api/v1/endpoints/ HTTP 接口
agents/ DeepAgent 运行时、上下文和工作流
core/ 配置、日志、异常和中间件
db/models/ 数据库模型
db/repositories/ 数据访问层
schemas/ 请求与响应模型
services/ 业务服务层
alembic/ 数据库迁移
docs/ 架构、数据库和接口文档
scripts/ 初始化、种子数据
tests/ 自动化测试
要求 Python 3.12。
cd D:\PycharmProjects\vent_platform_backend
python -m venv .venv
.\.venv\Scripts\python -m pip install -U pip
.\.venv\Scripts\python -m pip install -e ".[dev]"
Copy-Item .env.example .env
.\.venv\Scripts\python scripts\seed_demo.py
.\.venv\Scripts\python -m uvicorn app.main:app --reload --port 8090
浏览器访问:
http://127.0.0.1:8090/docshttp://127.0.0.1:8090/healthhttp://127.0.0.1:8090/api/v1默认使用 SQLite。生产环境建议使用 MySQL:
DATABASE_DIALECT=mysql
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your-password
MYSQL_DATABASE=vent_platform
也可以直接启动 MySQL:
docker compose up -d mysql
在 .env 中配置 OpenAI 兼容模型:
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.deepseek.com
DEEPAGENT_MODEL=deepseek-flash
没有配置模型时:
/api/v1/ai/capabilities 会显示智能体未启用.\.venv\Scripts\alembic upgrade head
.\.venv\Scripts\alembic revision --autogenerate -m "change description"
初始迁移 0001_initial 创建当前全部表。后续结构变化应生成显式增量迁移。
.\.venv\Scripts\python -m pytest