Skip to main content

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

核心流程

  1. POST /chat — 接收消息 + 会话历史 + token + trace_id
  2. Intent Recognition — LLM function-calling 选择 SKILL 或拒绝无关话题
  3. Planner — 排序多步骤 SKILL 执行计划
  4. Executor — 运行每个 SKILL,流式 SSE 进度事件
  5. 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/ # 工具函数