Databricks MCP 助手(含 React UI)
一个全栈的、Databricks 主题的对话式助手,用于供应链查询,由 OpenAI Agents 和 Databricks MCP 服务器提供支持。包含 React 聊天 UI 和支持流式响应的 FastAPI 后端。
特性
- 对话式聊天 UI (React),采用 Databricks 红色调板
- 支持流式
/chat
端点的 FastAPI 后端 - 安全的 Databricks MCP 集成
- 示例 Agent 逻辑和工具使用
- 现代 UX,易于本地开发
快速入门
0. Databricks 资源
您可以使用 Databricks 的供应链优化解决方案加速器(或任何其他行业的加速器)来启动您的项目。将此加速器的 GitHub 仓库克隆到您的 Databricks 工作区,然后运行笔记本 1 来执行捆绑的笔记本:
https://github.com/lara-openai/databricks-supply-chain
这些笔记本将设置 Agent 稍后通过 MCP 访问的所有资源,从原始的企业表和非结构化电子邮件到经典的 ML 模型和图工作负载。
1. 先决条件
- Python 3.10+
- Node.js 18+
~/.databrickscfg
中的 Databricks 凭据- OpenAI API 密钥
- (可选)用于 Python 隔离的 Virtualenv/pyenv
2. 安装 Python 依赖项
pip install -r requirements.txt
3. 启动后端 (FastAPI)
要启动后端,请运行:
python -m uvicorn api_server:app --reload --port 8000
- API 将在 http://localhost:8000 上可用
- FastAPI 文档:http://localhost:8000/docs
4. 启动前端 (React UI)
在另一个终端中,运行以下命令:
cd ui
npm install
npm run dev
- 应用将在 http://localhost:5173 上可用
用法
- 在浏览器中打开 http://localhost:5173。
- 输入一个供应链问题(例如,“分销中心 5 的延误是什么?”),然后按发送。
- Agent 将从 Databricks MCP 服务器流式传输响应。
故障排除
- 端口已被占用: 使用
lsof -ti:8000 | xargs kill -9
终止旧进程(用于后端)或更改端口。 - 前端未加载: 确保您已在
ui/
文件夹中运行了npm install
和npm run dev
。
自定义
- 要更改 Agent 的问候语,请编辑
ui/src/components/ChatUI.jsx
。 - 要更新后端 Agent 逻辑,请修改
api_server.py
。 - UI 样式在
ui/src/components/ChatUI.css
中(Databricks 红色调板)。