dbt-gemini代理
一个强大的人工智能代理,使用谷歌的代理开发工具包(ADK)构建,为dbt(数据构建工具)项目提供智能帮助。该代理通过MCP(模型上下文协议)工具将本地dbt编译功能与基于云的dbt平台集成相结合。
🚀 特性
核心能力
- dbt编译与分析:在本地编译dbt项目,并分析JSON日志中的错误和问题
- dbt平台集成:通过MCP连接到dbt云/平台进行高级操作
- 智能问题检测:自动识别dbt编译错误并提出修复建议
- 数据建模分析:分析数据建模模式并提出改进建议
- 多LLM支持:通过LiteLLM与Gemini、OpenAI、Claude和其他LLM提供商合作
工具和子代理
- dbt_compile:本地dbt编译,带有详细的JSON日志分析
- dbt_mcp-toolset:通过MCP进行基于云的dbt平台操作
- dbt_model_analyzer:数据建模分析的专业子代理
📋 先决条件
- Python 3.10+
- dbt CLI已安装并配置
- 谷歌云项目(适用于ADK)
🛠️ 安装
- 克隆仓库:
git clone
cd dbt-gemini-agent- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 设置环境变量:
cp .env.example .env
# Edit .env with your configuration- 跑:
adk web # will load at localhost:8000 by default🏗️ 项目结构
dbt-gemini-agent/
├── dbt_data_scientist/ # Main agent package
│ ├── agent.py # Root agent configuration
│ ├── prompts.py # Agent instructions and prompts
│ ├── tools/ # Agent tools
│ │ ├── dbt_compile.py # Local dbt compilation tool
│ │ └── dbt_mcp.py # MCP toolset for dbt platform
│ ├── sub_agents/ # Specialized subagents
│ │ └── dbt_model_analyzer.py # Data modeling analysis agent
│ ├── test_all_tools.py # Comprehensive test suite
│ └── quick_mcp_test.py # MCP connection test
├── requirements.txt # Python dependencies
└── README.md # This file🚀 用法
基本用法
测试设置
- 测试MCP连接:
python dbt_data_scientist/quick_mcp_test.py- 运行综合测试:
python dbt_data_scientist/test_all_tools.py交互示例
编译和分析dbt项目
User: "Compile my dbt project and find any issues"
Agent:
1. Runs dbt compile --log-format json
2. Analyzes JSON logs for errors
3. Provides specific error locations and suggested fixesdbt平台操作
User: "Show me my dbt Cloud jobs"
Agent: Uses MCP tools to query dbt Cloud API and display job information数据建模分析
User: "Analyze my data modeling approach"
Agent: Delegates to dbt_model_analyzer subagent for specialized analysis🔧 工具参考
dbt_compile工具
- 目的:在本地编译dbt项目并返回结构化JSON日志
- 输入:任何字符串(触发编译)
- 输出:带返回码和解析日志的字典
- 特性:
- 自动错误检测 - 结构化日志解析 - 环境变量配置
dbt_mcp-toolset
- 目的:通过MCP提供对dbt云/平台的访问
- 特性:
- 作业管理 - 环境操作 - 项目元数据访问 - 实时监控
dbt_model_分析器子代理
- 目的:数据建模模式的专业分析
- 能力:
- 模式检测 - 建模最佳实践分析 - 业绩建议
🧪 测试
该项目包括全面的测试工具:
快速MCP测试
python dbt_data_scientist/quick_mcp_test.py- 测试MCP连接
- 验证身份验证
- 列出可用工具
完整测试套件
python dbt_data_scientist/test_all_tools.py- 测试所有工具和子代理
- 验证环境配置
- 确保适当的清理
🔍 故障排除
常见问题
- “无模块提示”错误:
- 确保从正确的目录运行 - 检查所有导入是否使用相对路径
- MCP连接错误:
- 验证环境变量是否设置正确 - 检查dbt云/平台凭据 - 确保网络连接
- dbt编译错误:
- 验证DBT_PROJECT_LOCATION指向有效的DBT项目 - 检查DBT_EXPECUTABLE路径 - 确保dbt项目配置正确
- 异步生成器清理警告:
- 测试套件包括适当的清理 - 这些警告通常是无害的,但表示存在连接清理问题
🤝 贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
______________________________________________________________________
用AI进行数据建模快乐! 🚀📊
