✈️ 飞行情报自动化代理
一个本地AI驱动的自动化系统,将航班销售数据转化为可操作的见解——基于您的 Flight Sales Data Pipeline 项目使用 DuckDB, 气流, 溪流,以及 开源LLM 通过精心策划 模型上下文协议(MCP).
______________________________________________________________________
🧭 概述
该项目将之前的Airflow ETL管道扩展为完整的 AI自动化系统.\ 它将航班销售数据(通过Mock API模拟)与本地拥抱脸LLM连接到:
- 生成 日常商业洞察 根据飞行数据。
- 自动化摘要和异常检测。
- 将见解存储并可视化 流线型仪表板.
- 全力奔跑 本地,使用 MCP框架 用于模块化自动化。
______________________________________________________________________
⚙️ 技术栈
| 图层 | 工具 | 目的 |
|---|---|---|
| 🐍 编程 | Python | 核心脚本语言 |
| 🪶 存储 | DuckDB | 分析数据库 |
| 🧱 编排 | Apache气流 | ETL和自动化 |
| 🧠 AI模型 | 拥抱脸(Phi-2/Mistral/Llama) | 洞察力生成 |
| 🔗 协议 | MCP(模型上下文协议) | 工具编排 |
| 📊 可视化 | 流媒体 | 交互式仪表板 |
| 🪄 自动化 | 监视器/Cron | 自动化的本地触发器 |
| 🐳 容器化 | Docker | 可选气流部署 |
______________________________________________________________________
📂 文件夹结构
flight_intelligence_agent/
├── db/
│ ├── raw_data.duckdb
│ ├── db_connection.py
│ ├── init_schema.py
│ ├── fetch_and_insert.py
│ └── transformations.py
│
├── airflow/
│ ├── dags/
│ │ └── etl_pipeline.py
│ └── docker-compose.yaml
│
├── agents/
│ ├── insights_agent.py
│ └── scheduler.py
│
├── mcp_layer/
│ ├── client.py
│ └── servers/
│ ├── duckdb_server.py
│ ├── filesystem_server.py
│ └── ai_server.py
│
├── dashboard/
│ └── app.py
│
├── reports/
│ ├── daily_summary.txt
│ └── anomalies.json
│
├── config/
│ ├── config.json
│ └── .env
│
├── requirements.txt
├── .gitignore
└── README.md🧩 建筑
______________________________________________________________________
🔍 运作原理
🛫 数据摄取
fetch_and_insert.py从 模拟API.- 气流DAG(
etl_pipeline.py)自动化日常 提取、转换、加载 过程 *(摘录→ 变换→ Load)*. - 数据存储在 DuckDB 在模式下
raw.bookings.
______________________________________________________________________
🔄 数据转换
transformations.py计算KPI,例如 总收入, 平均票价,以及 独特的乘客数量.- 处理后的数据存储在 已处理的模式 用于分析。
______________________________________________________________________
🧠 AI洞察层
- 这 MCP AI代理 (
insights_agent.py)连接到 DuckDB 并检索KPI。 - 它将数据输入到 开源拥抱脸模型 (例如。
Phi-2或Mistral). - 代理生成 自然语言摘要 和 异常警报,保存在
/reports/.
______________________________________________________________________
⚙️ 通过MCP实现自动化
- 这 MCP客户端 协调多个本地服务器之间的通信:
| 服务器 | 用途 |
|---|---|
🪶 duckdb_server.py | 公开SQL查询和KPI数据。 |
📁 filesystem_server.py | 管理本地报告生成和文件监控 |
🧠 ai_server.py | 包裹一个拥抱脸LLM用于文本生成和推理。 |
➡️ 这 AI 代理 充当中央编排器,通过 模型上下文协议.
______________________________________________________________________
📊 可视化
- 这 流线型仪表板 从读取已处理的数据 DuckDB 以及来自以下方面的见解
/reports/. - 显示 实时关键绩效指标, 销售趋势,以及 人工智能生成的摘要.
______________________________________________________________________
🧠 输出示例
AI摘要示例:
收入增加 每周8%,主要由 商务舱预订 从 *巴黎→ 纽约。*\ 然而, 经济舱票价 看到a 下降5% 由于季节性影响,入住率下降。
______________________________________________________________________
🚀 快速入门
1.️⃣ 设置环境
git clone https://github.com//flight_intelligence_agent.git
cd flight_intelligence_agent
pip install -r requirements.txt2.️⃣ 运行ETL管道
python db/init_schema.py
python db/fetch_and_insert.py或者从气流开始:
docker-compose up3.️⃣ 运行AI Insight Agent
python agents/insights_agent.py4.️⃣ 启动仪表板
streamlit run dashboard/app.py