VS Code 联动 Ollama,Ryzen AI 实现本地代码补全
为什么要把 AI 助手搬回本地写代码时最让人头疼的往往不是逻辑本身而是那些重复的样板代码、复杂的类型定义或者是面对一堆“祖传”老旧项目时的无从下手。以前我们习惯依赖云端的 Copilot 或各类在线大模型但在处理公司内部核心代码、涉及敏感密钥或未公开算法时把代码片段上传到第三方服务器总让人心里打鼓。哪怕服务商承诺不训练数据在传输过程中的风险依然存在。最近折腾了一下手头的 AMD Ryzen AI 笔记本基于 Strix Halo 架构发现本地跑大模型已经不再是“玩具”级别的体验。得益于统一内存架构Radeon GPU 能直接调用系统大内存跑起 7B 甚至 14B 参数的模型来相当流畅。更重要的是这一切都可以完全离线进行。今天就来分享一个实战方案如何在 VS Code 里联动本地运行的 Ollama 服务打造一个既智能又绝对安全的私有代码助手。环境准备让 Ollama 在 Ryzen AI 上跑起来工欲善其事必先利其器。要在本地获得类似云端的响应速度硬件调度是关键。Strix Halo 架构的优势在于打破了显存墙只要你的内存够大建议 32GB 起步就能轻松加载量化后的大模型。首先去 Ollama 官网下载并安装对应系统的版本。安装过程很简单一路默认即可。装好后打开终端PowerShell 或 Bash我们需要拉取一个擅长代码生成的模型。这里推荐qwen2.5-coder系列它在代码补全和指令遵循上表现非常出色。在终端执行以下命令ollama run qwen2.5-coder:7b如果是第一次运行Ollama 会自动下载模型文件。下载完成后它会直接进入交互模式。此时你可以随便问它一个 Python 问题比如“如何用递归计算斐波那契数列”观察一下响应速度。在 Ryzen AI 的加持下首字延迟通常能控制在毫秒级生成速度也能达到每秒几十个字元完全跟得上思考节奏。为了让它作为后台服务稳定运行以便被编辑器插件调用我们可以新开一个终端窗口运行ollama serve默认情况下Ollama 会监听127.0.0.1:11434端口。新版 Ollama 对 AMD 后端的支持已经相当成熟通常能自动识别 Radeon GPU 并开启加速无需手动配置繁琐的环境变量。如果你想在启动时固定某些参数比如上下文长度可以创建一个Modelfile来自定义模型行为但对于大多数代码补全场景默认配置已经足够好用。VS Code 无缝集成安装与配置 Continue 插件模型跑起来了接下来就是重头戏把它接进 VS Code。市面上支持本地 Ollama 接口的插件不少这里推荐使用Continue它的配置灵活且对本地模型友好。打开 VS Code进入扩展商店快捷键CtrlShiftX。搜索Continue找到由 Continue.dev 发布的插件并安装。安装完成后左侧活动栏会出现一个对话气泡图标点击打开侧边栏。初次使用时Continue 会引导你选择模型提供商。我们要做的很简单点击侧边栏右下角的齿轮图标设置打开config.json配置文件。找到models数组添加一个新的配置项。你需要指定provider为ollamamodel名称与你刚才下载的保持一致例如qwen2.5-coder:7b。配置示例如下{ models: [ { title: Local Coder, provider: ollama, model: qwen2.5-coder:7b } ], tabAutocompleteModel: { title: Local Autocomplete, provider: ollama, model: qwen2.5-coder:7b } }注意除了聊天模型我还单独配置了tabAutocompleteModel。这是实现“类 Copilot灰色幽灵提示的关键。保存配置文件后Continue 会自动连接本地的 Ollama 服务。如果一切正常状态栏会显示连接成功。此时你的编辑器已经完全脱离了云端所有代码数据都在本机内存中流转。实战演练私有项目中的智能补全配置好后我们来实际感受一下。新建一个 Python 文件尝试编写一个带有类型提示和文档字符串的递归函数。当你输入函数定义的第一行def fibonacci(n: int) - int:稍作停顿你会发现编辑器下方出现了灰色的补全建议。本地模型不仅补全了整个函数体还自动添加了详细的 Docstring解释了参数含义、返回值以及递归的终止条件。def fibonacci(n: int) - int: 计算斐波那契数列的第 n 项。 参数: n (int): 非负整数表示数列的索引。 返回: int: 第 n 项的斐波那契数值。 异常: ValueError: 当 n 为负数时抛出。 if n 0: raise ValueError(输入必须是非负整数) if n 1: return n return fibonacci(n - 1) fibonacci(n - 2)这种体验最妙的地方在于“无感”。在以往你可能需要切换到浏览器复制粘贴代码再改改变量名。而现在模型就像住在你电脑里的资深同事随时待命。更关键的是安全感。假设你正在维护一个包含内部 API 密钥或特定业务逻辑的私有项目。使用云端服务时你不得不担心这些敏感信息是否会被记录。但在本地环境下无论你怎么测试、怎么让模型重构代码数据始终没有离开过你的内存条。即使在断网的飞机上或保密会议室里这套工作流依然完美运行。对于更复杂的场景比如重构一段缺乏注释的老旧 Java 代码你可以在 Continue 的对话框中选中代码块输入指令“请为这段代码添加 Javadoc 注释并识别潜在的硬编码敏感信息。”Ryzen AI 的算力能保证模型在几秒钟内给出结构清晰、逻辑严密的建议甚至能主动指出哪里应该改用环境变量配置。结语将 AI 代码助手本地化并不是要完全取代云端大模型的博学而是为了在效率与安全之间找到一个最佳平衡点。对于日常开发、私有项目维护以及对数据隐私有严格要求的场景一台搭载 Ryzen AI 的笔记本配合 Ollama 和 VS Code足以构建出一个强大、离线且专属的智能开发环境。这种“数据主权”掌握在自己手中的感觉一旦体验过就很难再回去了。下次当你面对敏感代码犹豫是否要粘贴到网页框时不妨想想这个本地方案——它就在你的终端里随时待命守口如瓶。