小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
33
最近更新:1年前

一个交互式聊天界面,结合了Ollama的LLM能力与通过模型上下文协议(MCP)实现的PostgreSQL数据库访问功能。

Ollama MCP 数据库助手

一个结合 Ollama 大型语言模型能力与通过模型上下文协议 (MCP) 访问 PostgreSQL 数据库的交互式聊天界面。用自然语言提问您的数据问题,获取由真实 SQL 查询支持的 AI 响应。

功能特性

  • PostgreSQL 数据库的自然语言界面
  • 自动生成 SQL 查询
  • 基于模式感知的响应
  • 交互式聊天界面
  • 安全的只读数据库访问

先决条件

  • Node.js 16 或更高版本
  • 正在运行的 PostgreSQL 数据库
  • 本地安装并运行的 Ollama
  • 在 Ollama 中拉取 qwen2.5-coder:7b-instruct 模型

安装配置

  1. 克隆仓库:
bash 复制代码
git clone [your-repo-url]
cd [your-repo-name]
  1. 安装依赖:
bash 复制代码
npm install
  1. 拉取所需的 Ollama 模型:
bash 复制代码
ollama pull qwen2.5-coder:7b-instruct
  1. 在项目根目录创建 .env 文件:
bash 复制代码
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
OLLAMA_MODEL=qwen2.5-coder:7b-instruct  # 可选 - 这是默认值

使用方法

  1. 启动聊天界面:
bash 复制代码
npm start
  1. 用自然语言询问您的数据问题:
复制代码
已连接数据库。您现在可以询问您的数据问题。
输入"exit"退出。

您想了解数据的哪些信息?上个月哪些产品产生了最多收入?
分析中...

[AI将生成并执行SQL查询,然后解释结果]
  1. 输入'exit'退出应用。

工作原理

  1. 应用通过 PostgreSQL MCP 服务器连接您的 PostgreSQL 数据库
  2. 加载并缓存您的数据库模式
  3. 当您提问时:
    • 模式和问题被发送至 Ollama
    • Ollama 生成适当的 SQL 查询
    • 查询通过 MCP 执行
    • 结果返回至 Ollama 进行解释
    • 您会收到自然语言响应

环境变量

变量名 描述 默认值
DATABASE_URL PostgreSQL 连接字符串 必填
OLLAMA_MODEL 使用的 Ollama 模型 qwen2.5-coder:7b-instruct

安全性

  • 所有数据库访问均为只读
  • SQL 查询限制为 SELECT 语句
  • 数据库凭证安全保存在您的 .env 文件中

开发技术

构建使用:

  • TypeScript
  • 模型上下文协议 (MCP)
  • Ollama
  • PostgreSQL

故障排除

常见问题

  1. "无法连接数据库"

    • 检查 .env 中的 DATABASE_URL
    • 确认 PostgreSQL 正在运行
    • 检查网络连接
  2. "无法连接 Ollama"

    • 确保 Ollama 正在运行 (ollama serve)
    • 确认模型已安装 (ollama list)
  3. "执行查询错误"

    • 检查数据库权限
    • 确认模式中的表/列名称

许可证

MIT

贡献指南

  1. Fork 仓库
  2. 创建特性分支
  3. 提交您的更改
  4. 推送至分支
  5. 发起 Pull Request