# only-langgraph **Repository Path**: xiulai/only-langgraph ## Basic Information - **Project Name**: only-langgraph - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Agentic BI Demo 一个基于 `FastAPI + LangGraph` 的最小 BI Demo,用来演示“查询数据库 + 基础销售分析 + 基础商品排行分析”这条主链路。 当前版本重点实现: - 一个公开的通用 SQL skill - 两个最小业务分析 skill:销售分析、商品分析 - 会话状态、Run 状态、人工补充信息与审批 - 等待人工动作超时 - 一个可直接体验的简易 Web 工作台 ## 配置说明 配置字段统一定义在 [app/config.py](D:\project\newAgentBi\app\config.py) 的 `Settings` 中。 运行时配置来源分两层: - 默认值:直接写在 `Settings` 字段定义里 - 本地取值:来自项目根目录的 `.env` 配置模板见 [\.env.example](D:\project\newAgentBi\.env.example)。 当前代码实际会读取的环境变量只有这些: - `LLM_PROVIDER` - `LLM_MODEL` - `LLM_BASE_URL` - `LLM_API_KEY` - `DATABASE_URL` - `MYSQL_HOST` - `MYSQL_PORT` - `MYSQL_DATABASE` - `MYSQL_USER` - `MYSQL_PASSWORD` - `LANGSMITH_TRACING` - `HUMAN_ACTION_TIMEOUT_SECONDS` ## 如何运行 1. 按 [\.env.example](D:\project\newAgentBi\.env.example) 准备本地 `.env` 2. 安装依赖 3. 启动应用 ```powershell python -m uvicorn app.main:app --reload ``` 启动后,可以直接在页面里尝试这类问题: - `最近7天销售情况怎么样` - `最近30天销售最好的商品有哪些` - `查询今年各城市销售额` ## 当前结构 - [app/main.py](D:\project\newAgentBi\app\main.py):应用装配入口 - [app/config.py](D:\project\newAgentBi\app\config.py):统一配置入口 - [app/services/planner.py](D:\project\newAgentBi\app\services\planner.py):意图识别、上下文装配、计划生成 - [app/services/executor.py](D:\project\newAgentBi\app\services\executor.py):计划执行 - [app/services/presentation.py](D:\project\newAgentBi\app\services\presentation.py):结果展示整理 - [app/registry/specs.py](D:\project\newAgentBi\app\registry\specs.py):资源规格声明 - [app/registry/runtime.py](D:\project\newAgentBi\app\registry\runtime.py):运行时 handler 注册 - [app/skills/data_query_skill.py](D:\project\newAgentBi\app\skills\data_query_skill.py):唯一公开的通用 SQL skill - [app/skills/sales_analysis_skill.py](D:\project\newAgentBi\app\skills\sales_analysis_skill.py):销售基础分析 skill - [app/skills/product_analysis_skill.py](D:\project\newAgentBi\app\skills\product_analysis_skill.py):商品基础分析 skill - [app/tools/simple_math_tool.py](D:\project\newAgentBi\app\tools\simple_math_tool.py):测试用通用 tool - [app/tools/table_preview_tool.py](D:\project\newAgentBi\app\tools\table_preview_tool.py):测试用通用 tool - [skills](D:\project\newAgentBi\skills):skill 描述与契约 - [tests](D:\project\newAgentBi\tests):回归测试 ## 当前最小能力集 - `data_query_skill`:唯一公开 SQL skill,内部私有完成 SQL 生成、校验、预览和执行 - `sales_analysis_skill`:支持最近一段时间销售情况等基础统计分析 - `product_analysis_skill`:支持某段时间内销售最好的商品等基础排行分析 - `simple_math_tool` / `table_preview_tool`:仅用于测试和后续接线验证 ## 说明 - `.env` 仍然是运行时本地配置来源,不建议删除 - `.env.example` 是模板文件,建议保留 - 如果新增配置字段,应先更新 `Settings`,再决定是否同步到 `.env.example`