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 上可用

用法

  1. 在浏览器中打开 http://localhost:5173
  2. 输入一个供应链问题(例如,“分销中心 5 的延误是什么?”),然后按发送。
  3. Agent 将从 Databricks MCP 服务器流式传输响应。

故障排除

  • 端口已被占用: 使用 lsof -ti:8000 | xargs kill -9 终止旧进程(用于后端)或更改端口。
  • 前端未加载: 确保您已在 ui/ 文件夹中运行了 npm installnpm run dev

自定义

  • 要更改 Agent 的问候语,请编辑 ui/src/components/ChatUI.jsx
  • 要更新后端 Agent 逻辑,请修改 api_server.py
  • UI 样式在 ui/src/components/ChatUI.css 中(Databricks 红色调板)。