AI assistant本地部署Continue.dev + Ollama + MCP Server

AI assistant本地部署Continue.dev + Ollama + MCP Server

本文选择用Visual Studio Code + Continue.dev插件集成配套的AI IDE,配置Ollama本地运行qwen2.5-coder (7b)模型,并添加一个PG MCP server以提供相应的Tool功能。


为什么这么做?

  • 为了理解和实操MCP
  • 地区问题用不了Claude Desktop
  • 优先想到CodeLLM的使用场景
  • 免费,不想花钱买API key

技术介绍

  • Model Context Protocol 是一种开放协议,旨在为AI应用提供标准化的接口以安全访问和操作本地及远程数据,被形容为AI领域的“USB-C接口”。
  • Continue.dev 是一款功能强大且高度可扩展的AI编程助手,支持多任务并行处理与开发流水线工具集成,为开发者提供全方位的智能编码支持。
  • Ollama 是一个开源框架,专门设计用于在本地运行大型语言模型,通过将模型权重、配置和数据捆绑到一个包中,简化了模型的设置和使用。

(以上文字介绍来自qwq生成,可能代表、也可能不代表作者观点)

那么本文的这个案例中,各个工具或者应用承担的是什么角色呢?

  • MCP host and client: Visual Studio Code + Continue.dev
  • LLM: Ollama running qwen2.5-coder
  • MCP server: 一个用MCP Typescript SDK实现的Node.js应用(被Continue.dev初始化应用)

在这里插入图片描述


操作步骤

1. Visual Studio Code中安装Continue.dev插件

在这里插入图片描述

为了与主流AI IDE布局一致,装完之后我把插件入口拖至right side bar 🐶


2. 使用Ollama本地部署LLM

Ollama的本地安装比较傻瓜,就不赘述了,follow官方文档就好。我这里选择运行一个阿里的qwen2.5-coder 7b作为Continue.dev的模型Provider,用下来感觉跑着不费力。

这里也想问一下,有没有哪位同学试过MacBook Pro (Apple M4 Pro)能跑得动多大参数体量的LLM?32b?

ollama run qwen2.5-coder

# 下载好image安装运行成功后,可以直接Ctrl + c退出,Ollama会自己按需启动/停止模型服务

3. 本地配置PG MCP server

这里先使用官方实现的PG MCP server,https://github.com/modelcontextprotocol/servers/tree/main/src/postgres,下次再尝试自己实现一个。

git clone git@github.com:modelcontextprotocol/servers.git
cd servers/src/postgres
npm ci

这里可以使用MCP inspector来测试一下本地MCP server部署成功与否:

# debug
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-postgres postgresql://postgres:postgres@localhost:30432/developer_ems

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

PG的本地部署我就不赘述了,一个docker desktop直接搞定的事。下面是访问MCP inspector的一些截图:

在这里插入图片描述

在这里插入图片描述


4. 在Continue.dev中添加MCP server并使用

完成以上步骤之后,我们就已经拥有了:

  • 一个AI IDE作为MCP host
  • 一个能访问PG的MCP server应用

最后我们需要将二者配通,即可完成。

4.1 在Continue.dev的配置中添加如下

通过“Add MCP Servers”直接打开config.json进行编辑

在这里插入图片描述

"experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-postgres",
            "postgresql://postgres:postgres@localhost:35432/postgres"
          ]
        }  
      }
    ]
  },

保存config.json,Continue.dev就会自动加载添加的MCP Server。

4.2 检查Tools是否正常被detect

完成上面的步骤后,Continue.dev就可以自动检测出MCP server所提供的Tools,此文章的例子中即是query这个Tool:

在这里插入图片描述

4.3 开始使用Prompt来检测Tool call

此处作者使用如下Prompt:

请帮我执行sql语句查询db中所有的tables

这是由于我们使用的MCP server的实现导致的:

在这里插入图片描述

好,发送Prompt!

在这里插入图片描述

好,完美失败。。。

经过一杯咖啡的思考时间,作者想起来,我们还没有切换成Agent模式。。。于是重启IDE并切换至Agent mode:

在这里插入图片描述

回车发送后即会发现此次Tool call被调用了:(出现double confirm是因为Continue.dev默认MCP server提供的Tools为“Ask first”模式)
在这里插入图片描述

在这里插入图片描述

成功!!!🚀🚀🚀

总结

那么至此,本次没什么卵用的MCP初体验就算完工了~

虽然本案例对实际开发帮助不大,但万事开头难,相信(我自己都不信)此次0-1的工作完成后,将来1-N的丰富多彩的有效案例将如雨后春笋般涌现!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值