自托管AI数据代理

Bolt是一款自托管的AI数据代理,结合Ollama的本地AI模型和Snowflake的数据仓库,通过模型上下文协议(MCP)实现自然语言查询数据并生成智能SQL查询和洞察。

  • by Pratik-11
  • Jupyter Notebook
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 pratik-11/bolt

使用说明

🚀 Bolt-自托管AI数据代理

强大的自托管Gen AI代理,集成MCP服务器,用于解决组织数据驱动的查询和任务

特性 • 快速开始 • 文档 • 贡献 • 支持


🎯 什么是Bolt?

Bolt是一款尖端产品 自托管AI数据代理 它结合了 Ollama的本地人工智能模型 随着 雪花数据仓库 通过 模型上下文协议(MCP)。它使组织能够就其数据提出自然语言问题,并获得智能的、人工智能生成的SQL查询和见解,同时保持一切安全和内部部署。

🌟 为什么是博尔特?

  • 🔒 隐私第一:将您的数据和人工智能处理完全本地化
  • 🧠 智能数据查询:使用AI将自然语言转换为SQL
  • 🏢 企业就绪:组织数据的无缝雪花集成
  • 📊 实时洞察:即时数据分析和可视化
  • 💰 成本效益高:自测试解决方案,无需外部API成本
  • 🔧 轻松设置:在Google Colab上一键部署

✨ 特性

🤖 人工智能驱动的数据交互

  • 自然语言查询:用简单的英语就你的数据提问
  • 智能SQL生成:AI自动生成优化的Snowflake查询
  • 多模型支持:根据您的需求从7B到14B参数模型中选择
  • 上下文感知响应:了解您的数据模式和关系

🔗 无缝集成

  • 雪花集成:直接连接到Snowflake数据仓库
  • MCP协议:行业标准模型上下文协议实现
  • Olama支持:Calma 2、Mistral、CodeCalma等的本地托管
  • 谷歌Colab就绪:云笔记本中的零设置部署

🛡️ 安全与隐私

  • 本地AI:没有数据发送到外部人工智能服务
  • 凭据管理:数据库凭据的安全处理
  • 环境隔离:容器化执行环境
  • 访问控制:内置安全最佳实践

📈 分析与洞察

  • 互动结果:漂亮的数据可视化和格式化
  • 查询历史:跟踪和重用以前的查询
  • 性能指标:监视查询执行时间和结果
  • 导出功能:以多种格式保存结果

🚀 快速开始

选项1:谷歌Colab(推荐)

  1. 在Colab开放:

  2. 上传笔记本:上传 model.ipynb 和 mcp.ipynb 到你的Colab

  3. 遵循引导设置:

    • 从开始 model.ipynb 建立Ollama
    • 然后运行 mcp.ipynb 用于雪花集成

选项2:本地设置

# Clone the repository
git clone https://github.com/Pratik-11/Bolt.git
cd Bolt

# Install Ollama (Linux/macOS)
curl -fsSL https://ollama.com/install.sh | sh

# Install Python dependencies
pip install snowflake-connector-python==3.0.0 python-dotenv jupyter

# Start Jupyter
jupyter notebook

设置第一个查询

# 1. Start with model setup
# Open model.ipynb and follow the cells to:
# - Install Ollama
# - Download your preferred AI model (7B or 14B)
# - Test the model

# 2. Configure data connection  
# Open mcp.ipynb and:
# - Set up Snowflake credentials
# - Initialize MCP server
# - Test data connectivity

# 3. Ask your first question!
result = ai_with_data.execute_ai_query("Show me top 10 customers by order value")

📚 文档

架构概述

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   User Query    │───▶│  Ollama AI      │───▶│   Snowflake     │
│ (Natural Lang.) │    │  (SQL Gen.)     │    │   (Data Exec.)  │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         ▲                       │                       │
         │                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Formatted     │◀───│  MCP Server     │◀───│   Query Results │
│   Results       │    │  (Orchestrator) │    │   (Raw Data)    │
└─────────────────┘    └─────────────────┘    └─────────────────┘

支持的型号

型号 大小 内存 用例
火焰27b 4-6GB 免Colab 通用,快速响应
米斯特拉尔7B 4-6GB 免费Colab 高效、多语言
CodeLlama 7B 4-6GB 无Colab 代码生成,以SQL为中心
火焰213b 8-12GB Colab Pro 更高质量、更复杂的查询
代码Llama 13B 8-12GB Colab Pro 高级代码生成

环境变量

# Snowflake Configuration
SNOWFLAKE_USER=your_username
SNOWFLAKE_PASSWORD=your_password
SNOWFLAKE_ACCOUNT=your_account
SNOWFLAKE_DATABASE=your_database
SNOWFLAKE_WAREHOUSE=your_warehouse

🛠️ 发展

项目结构

Bolt/
├── model.ipynb          # Ollama model setup and configuration
├── mcp.ipynb           # MCP server and Snowflake integration
├── README.md           # Project documentation
├── .gitignore         # Git ignore rules
└── requirements.txt    # Python dependencies (if local setup)

关键组件

  • EmbeddedMCPServer:核心MCP服务器实现
  • OllamaWithMCP:具有数据集成功能的AI客户端
  • 雪花连接器:安全的数据库连接
  • 查询生成器:自然语言到SQL的转换

🤝 贡献

我们欢迎社区的贡献!以下是您可以提供帮助的方式:

贡献方式

  • 🐛 错误报告:发现问题? 打开一个问题
  • 💡 功能请求:有主意吗? 开始讨论
  • 📝 文档:改进我们的文档和示例
  • 🧪 测试:帮助测试新功能和边缘情况
  • 🔧 代码:提交bug修复和功能的pull请求

开发设置

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 进行更改 并进行彻底测试
  4. 提交您的更改: git commit -m 'Add amazing feature'
  5. 推到您的分支: git push origin feature/amazing-feature
  6. 打开拉取请求

贡献指南

  • 遵循现有的代码样式和结构
  • 为新功能添加测试
  • 根据需要更新文档
  • 确保所有笔记本电脑都能成功运行
  • 为复杂逻辑添加注释

🧪 测试

手动测试

  1. 模型测试:验证AI模型响应
  2. 数据库测试:测试雪花连接
  3. 集成测试:端到端查询执行
  4. 性能测试:监控响应时间

测试场景

  • 简单数据查询(SELECT语句)
  • 复杂的分析查询(JOIN、聚合)
  • 错误处理(无效查询、连接问题)
  • 不同型号尺寸和类型

🗺️ 路线图

1.1版本(即将推出)

  • []支持其他数据库(PostgreSQL、MySQL)
  • []基于Web的用户界面
  • []查询结果缓存
  • []增强的错误处理

1.2版本(未来)

  • []多租户支持
  • []高级可视化功能
  • []用于外部集成的API端点
  • []Docker容器化

2.0版本(愿景)

  • []多模式AI支持(文本+图表)
  • []实时数据流
  • []高级安全功能
  • []企业SSO集成

👥 贡献者

核心团队


Pratik Singh

Creator & Lead Developer

想加入这个列表吗?

查看我们的 贡献指南 今天就开始贡献吧!


📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

MIT License - Feel free to use, modify, and distribute
Commercial use permitted - Build amazing products with Bolt!

💬 支持与社区

获得帮助

  • 📖 文档:查看我们上面的综合指南
  • 🐛 问题: GitHub问题 用于错误报告
  • 💬 讨论: GitHub讨论 回答问题
  • 📧 电子邮件:用于私人咨询和企业支持

保持联系

  • ⭐ 标记此回购 表示支持
  • 👁️ 手表 获取更新和新版本
  • 🍴 分叉 开始构建自己的版本
  • 📢 分享 与您的团队和社区

🙏 致谢

特别感谢:

  • 没有 使本地AI可访问
  • 雪花 因为他们强大的数据平台
  • MCP协议 用于标准化AI数据连接
  • 谷歌Colab 免费云计算
  • 开源社区 寻求灵感和支持

由以下材料制成❤️ 靠近 普拉提克·辛格

星⭐ 如果你觉得这个仓库有用的话!