archana986/logistics-control-center
GitHub: archana986/logistics-control-center
基于 Databricks 构建的 AI 驱动物流事件响应平台,整合自然语言查询、智能文档问答与实时监控功能。
Stars: 0 | Forks: 0
# 物流控制中心
基于 Databricks 构建的 AI 驱动物流事件响应应用程序。具备实时流分析、通过 Genie Space 进行的自然语言查询,以及使用 Knowledge Assistant 的智能文档问答功能。

## 功能特性
| 功能 | 描述 |
|---------|-------------|
| **实时仪表板** | 通过实时更新监控货物、事件和网络健康状况 |
| **AI 驱动重路由** | 事件发生时自动提供重路由建议 |
| **自然语言分析** | 使用 Genie Space 对您的数据进行提问 |
| **文档问答** | 通过 Knowledge Assistant 查询物流 SOP 和流程 |
| **客户沟通** | 使用 Foundation Models 生成 AI 客户更新 |
## 架构
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ Logistics Control Center │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────────┐ │
│ │ React UI │────▶│ FastAPI │────▶│ Databricks Services │ │
│ │ (Vite) │ │ Backend │ │ ├─ SQL Warehouse │ │
│ └──────────────┘ └──────────────┘ │ ├─ Genie Space │ │
│ │ ├─ Knowledge Assistant │ │
│ │ └─ Foundation Models │ │
│ └──────────────────────────────┘ │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ Data Pipeline (SDP) │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Bronze │────▶│ Silver │────▶│ Gold │────▶│ Serving Tables │ │
│ │ (Raw) │ │ (Clean) │ │ (Agg) │ │ + Metric Views │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │
│ ▲ │
│ │ │
│ ┌────┴─────┐ │
│ │ UC Volume │ ◀── Raw JSON events (shipments, incidents, sensors) │
│ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
## 快速开始
### 前置条件
- 启用了 Unity Catalog 的 Databricks 工作区
- SQL Warehouse(推荐 Serverless)
- 拥有 `CREATE SCHEMA` 权限的 catalog
**无需本地设置** - 一切均在 Databricks 中运行。
### 克隆到 Databricks 工作区
1. 在 Databricks UI 中:**Workspace** → **Repos** → **Add Repo**
2. 粘贴 URL:`https://github.com/archana-krishnamurthy_data/logistics-control-center`
3. 点击 **Create Repo**
### 部署(6 步)
| 步骤 | 操作 | 位置 |
|------|--------|-------|
| 1 | 将 repo 克隆到 Databricks | UI: Workspace → Repos → Add Repo |
| 2 | 编辑 `databricks.yml` 和 `app.yaml`,填入 warehouse_id, catalog | Databricks UI |
| 3 | `databricks bundle deploy -t dev` | 终端 |
| 4 | `databricks bundle run logistics_setup -t dev`(约 10 分钟) | 终端 |
| 5 | 将作业输出中的 genie_space_id 和 ka_endpoint 添加到两个文件中 | Databricks UI |
| 6 | `databricks bundle deploy -t dev` 然后运行 `databricks bundle run logistics_app_permissions -t dev` | 终端 |
**无需注释/取消注释 YAML。** 只需填入值并部署。
- [SETUP.md](SETUP.md) - 详细的分步指南
- [CONFIG.md](CONFIG.md) - 配置文件参考
## 项目结构
```
logistics-control-center/
├── README.md # This file
├── SETUP.md # Detailed setup instructions
├── databricks.yml # Databricks Asset Bundle config
├── app.yaml # Databricks App config
│
├── backend/ # FastAPI Python backend
│ ├── main.py # App entry point
│ └── api.py # API routes
│
├── src/ # React TypeScript frontend
│ ├── App.tsx # Main app component
│ ├── components/ # UI components
│ ├── pages/ # Page views
│ └── lib/ # Utilities
│
├── databricks/ # Databricks resources
│ ├── notebooks/ # Setup and job notebooks
│ │ ├── setup_tables.sql
│ │ ├── generate_synthetic_data.ipynb
│ │ ├── create_genie_space.ipynb
│ │ ├── create_knowledge_assistant.ipynb
│ │ └── ...
│ └── pipelines/ # SDP SQL definitions
│ ├── 01_bronze.sql
│ ├── 02_silver.sql
│ └── 03_gold.sql
│
├── public/ # Static assets
├── requirements.txt # Python dependencies
├── package.json # Node.js dependencies
└── *.config files # Build configuration
```
## 配置文件
### Databricks 配置
| 文件 | 用途 | 客户是否编辑? |
|------|---------|-----------------|
| `databricks.yml` | Asset Bundle 定义 - pipelines, jobs, app, variables | **是** - 更新 `targets.dev` 部分 |
| `app.yaml` | 应用运行时配置 - 运行应用的环境变量 | **是** - 更新 env 值 |
### 前端构建配置
| 文件 | 用途 | 客户是否编辑? |
|------|---------|-----------------|
| `package.json` | Node.js 依赖和构建脚本 | 否 |
| `vite.config.ts` | Vite 打包工具 - 处理 React 构建、路径别名 | 否 |
| `tailwind.config.ts` | Tailwind CSS 主题、颜色、动画 | 否 |
| `postcss.config.js` | 用于 CSS 处理的 PostCSS 插件 | 否 |
| `tsconfig.json` | TypeScript 项目引用(指向 app/node 配置) | 否 |
| `tsconfig.app.json` | React 源代码的 TypeScript 设置 | 否 |
| `tsconfig.node.json` | Vite 配置的 TypeScript 设置 | 否 |
### 每个配置的作用
**`package.json`** - Node.js 项目清单
- 定义依赖项(React、Vite、Tailwind、用于地图的 deck.gl)
- 构建脚本:`npm run dev`(本地)、`npm run build`(生产)
- 无需客户修改
**`tsconfig.json`** - TypeScript 根配置
- 引用 `tsconfig.app.json` 用于源代码
- 引用 `tsconfig.node.json` 用于构建工具
- 启用项目引用以加快构建速度
**`tsconfig.app.json`** - 前端 TypeScript 设置
- 目标:ES2022(现代 JavaScript)
- 路径别名:`@/*` 映射到 `./src/*`,用于更清晰的导入
- 启用严格模式以确保类型安全
**`tsconfig.node.json`** - 构建工具 TypeScript 设置
- 仅用于 `vite.config.ts`
- 用于构建时脚本的 Node.js 类型
## 部署内容
| 资源 | 名称 | 描述 |
|----------|------|-------------|
| **Pipeline** | `logistics-control-center-streaming` | Bronze/Silver/Gold 数据处理 |
| **Job** | `logistics-control-center-setup` | 一次性设置(数据、agents) |
| **Job** | `logistics-control-center-streaming-refresh` | 计划数据更新(5 分钟) |
| **Job** | `logistics-control-center-app-permissions` | 授予应用 UC 访问权限 |
| **App** | `logistics-incident-response` | React + FastAPI 应用程序 |
| **Genie Space** | `Logistics Control Center Metrics` | 自然语言分析 |
| **Knowledge Assistant** | `ka-*-endpoint` | 文档问答 |
## 自定义
### 使用您自己的数据
1. 替换 `generate_synthetic_data.ipynb` 中的合成数据生成逻辑
2. 更新 `01_bronze.sql` 中的 Bronze 层 schema 以匹配您的数据
3. 根据您的业务逻辑调整 Silver/Gold 转换
4. 更新 `create_genie_space.ipynb` 中的 Genie Space 指令
### 添加新指标
1. 在 `create_helper_metric_views.sql` 中添加新视图
2. 使用新表更新 Genie Space
3. 在 `backend/api.py` 中添加相应的 API endpoints
4. 在 `src/components/` 中创建前端组件
## 故障排除
| 问题 | 解决方案 |
|-------|----------|
| `Catalog not found` | 确保您有权访问 `databricks.yml` 中指定的 catalog |
| `Warehouse not found` | 验证 warehouse ID 且您拥有 CAN_USE 权限 |
| `App 无法启动` | 检查位于 `https:///logz` 的日志 |
| `Genie Space 错误` | 确保指标视图已成功创建 |
## 许可证
待定
## 贡献
待定
标签:AI人工智能, AV绕过, Databricks, DLL 劫持, FastAPI, Genie Space, Python, RAG, React, Syscalls, 供应链管理, 大语言模型, 实时流分析, 客户沟通, 数据智能, 文档问答, 无后门, 智能重路由, 物流控制中心, 物流数据分析, 知识助手, 突发事件响应, 自动化攻击, 自然语言查询, 运营仪表盘, 逆向工具