FacilityKPI-AI
概述
SKILL 驱动的 AI 助手服务,为 FacilityKPI 平台提供智能对话能力。
特性:
- 流式 SSE API
- Intent 识别与 SKILL 执行
- 多步骤计划执行
- 对话历史管理
架构
Frontend / Backend
│ POST /chat (SSE)
▼
┌──────────────────┐
│ FacilityKPI-AI │
│ │
│ Intent → Plan │
│ → Execute │
└────────┬─────────┘
│ httpx (Bearer token + X-Trace-Id)
▼
Backend API :8383
核心流程
- POST /chat — 接收消息 + 会话历史 + token + trace_id
- Intent Recognition — LLM function-calling 选择 SKILL 或拒绝无关话题
- Planner — 排序多步骤 SKILL 执行计划
- Executor — 运行每个 SKILL,流式 SSE 进度事件
- save-ai-message — 持久化 AI 回复到
api_message表
技术栈
- Python 3.13+
- FastAPI — Web 框架
- SSE — Server-Sent Events 流式输出
- uv — 包管理器
- httpx — HTTP 客户端
快速开始
cd FacilityKPI-AI
# 安装依赖
uv sync
# 复制并配置环境变量
cp .env.example .env
# 编辑 .env: 设置 LLM_API_KEY, BACKEND_URL 等
# 运行服务
uv run uvicorn main:app --host 0.0.0.0 --port 8888 --reload
Docker 部署
# 构建镜像
docker build -t facilitykpi-ai .
# 运行容器
docker run -p 8888:8888 facilitykpi-ai
项目结构
FacilityKPI-AI/
├── Dockerfile
├── README.md
├── config.py # 配置
├── core/ # 核心模块
├── main.py # 入口
├── skills/ # SKILL 定义
├── stream/ # 流式处理
├── tests/ # 测试
└── utils/ # 工具函数