ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。

本文在 Apple M4 MacOS 的环境下 搭建, 请根据个人电脑配置情况选择相应的量化模型跑

1. 下载 Ollama 和 qwen2.5-coder 模型

1.1 安装ollama 方式

方式一: 官网下载安装文件
https://ollama.com/ ollama 的官网网站,选择相应的电脑版本下载和安装。

方式二:使用 brew install

brew install ollama

安装完后,记得打开 ollama 这个应用,确保应用是打开的。

打开 iterm 或 terminal 输入 ollama 命令看看,是否可执行。

1.2 下载 qwen2.5-coder

ollama 官网可以查看全球各种开源的 LLM 模型,qwen2.5-coder 是目前最受欢迎之一。

打开 https://ollama.com/library/qwen2.5-coder 选择合适自己的模型,一般默认就是7b-instruct 的版本。我下载的是 32b 版本的,爱折腾的人可以看看各个量化版本效果。

打开 terminal 或 iterm2 输入命令,命令在 ollama 的页面选择模型会自动显示出来

ollama run qwen2.5-coder

回车执行命令后, ollama 会自动去下载 7b 模型 (网络问题自己解决),下载完后会自动进入对话,你可以任意输入中文或英文,会看到自动回复。输入/bye 命令,即可退出。

退出来后 输入以下命令 看看下载了哪些模型

ollama list

ollama 默认下载的模型会存放在 ~/.ollama/models 这目录中
截图中,我下的是 32b 版本,还有 qwen2.5 14b 版本(日常其他场景使用,后面会写其他玩法),另外还下载了 bge-m3 的 embedding 模型, 嫌大也可以下 nomic-embed-text 后面需要用到。
这里就不过多解释 embedding 模型 rerank 模型了,有兴趣的自己看相关的文章。

2. VS Code 安装 Continue 插件

在 VS Code 的扩展中,搜索 continue 插件,并安装。安装完后,打开 continue 的窗口。

点击最下面 config 文件自定义编辑,也可以选择你下载好 qewn2.5-coder, 点击 connect。

我 Continue 的 config 文件配置如下:

{
   
"models": [
{
   
"model": "qwen2.5-coder:32b", // 32b的用来提问的时候用
"title": "qwen2.5-coder:32b",
"provider": "ollama",
"systemMessage": "You are an expert software developer. You give helpful and concise responses."

},
{
   
"title": "Qwen 2.5 Coder 7b",
"model": "qwen2.5-coder:latest",
"provider": "ollama",
"systemMessage": "You are an expert software developer. You give helpful and concise responses."
}
],
"tabAutocompleteModel": {
   
"title": "Tab Autocomplete", 
"provider": "ollama",
"model": "qwen2.5-coder:latest" //使用 7b 的自动扩写代码,速度会快点。 官方说用 base版本会更好,不要 instruct 

},

"customCommands": [
{
   

"name": "test",
"prompt": "{
   {
   { input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
"description": "Write unit tests for highlighted code"

}

],

"contextProviders": [

{
   

"name": "code",
"params": {
   }
},

{
   
"name": "docs",
"params": {
   }
},
{
   
"name": "diff",
"params": {
   }
},
{
   
"name": "terminal",
"params": {
   }
},
{
   
"name": "problems",
"params": {
   }
},
{
   
"name": "folder",
"params": {
   }
},
{
   
"name": "codebase",
"params": {
   }
}
],
"slashCommands": [
{
   
"name": "share",
"description": "Export the current chat session to markdown"
},
{
   
"name": "cmd",
"description": "Generate a shell command"
},
{
   
"name": "commit",
"description": "Generate a git commit message"
}
],
"embeddingsProvider": {
   
"provider": "ollama", // 用可以使用默认的 free-trial
"model": "bge-m3:latest"
},
"reranker": {
   
"name": "free-trial"
}
}

Continue 插件 的使用文档 https://docs.continue.dev/

目录
相关文章
|
15天前
|
人工智能 数据挖掘
AI长脑子了?LLM惊现人类脑叶结构并有数学代码分区,MIT大牛新作震惊学界!
麻省理工学院的一项新研究揭示了大型语言模型(LLM)内部概念空间的几何结构,与人脑类似。研究通过分析稀疏自编码器生成的高维向量,发现了概念空间在原子、大脑和星系三个层次上的独特结构,为理解LLM的内部机制提供了新视角。论文地址:https://arxiv.org/abs/2410.19750
58 12
|
1月前
|
人工智能 安全 JavaScript
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
Open Interpreter 是一个让语言模型运行代码的强大工具,提供了一个类似 ChatGPT 的界面,支持多种编程语言和丰富的功能。
94 7
Open Interpreter:AI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务
|
22天前
|
人工智能 文字识别 API
OpenSearch & AI搜索开放平台,实现0代码图片搜索!
本文主要介绍了如何利用阿里云的 OpenSearch 和 AI 搜索开放平台来构建一个无需编写代码就能完成的图片搜索功能。
85 12
|
17天前
|
人工智能 搜索推荐 安全
数百名研发人员用通义灵码,33%新增代码由AI生成,信也科技研发模式焕新升级
目前,信也科技数百名研发人员正在使用通义灵码,周活跃用户占比70%,新增代码中有33%由通义灵码编写,整体研发效率提升了11%,真正实现了数百研发人员开发效能的全面提升。
|
1月前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 系统与程序代码关系
本文探讨了AI系统与程序代码之间的关系,通过PyTorch实现LeNet5神经网络模型为例,详细介绍了AI训练流程原理、网络模型构建方法、算子实现的系统问题以及AI系统执行的具体计算过程。文章不仅解释了神经网络的前向传播和反向传播机制,还深入分析了算子在AI框架中的作用及其底层实现,包括卷积层的具体计算和优化问题。此外,文章对比了使用PyTorch与直接使用cuDNN+CUDA编程实现神经网络模型的差异,强调了AI框架在提高开发效率、自动化内存管理和实现自动微分等方面的重要性。
35 1
|
1月前
|
人工智能 机器人 Shell
AI语音机器人安装方法 AI机器人安装代码
AI语音机器人安装方法 AI机器人安装代码
32 2
|
1月前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI:机器学习的魔法与代码
【10月更文挑战第33天】本文将带你走进AI的世界,了解机器学习的原理和应用。我们将通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是AI新手还是有经验的开发者,这篇文章都会给你带来新的启示。让我们一起探索AI的奥秘吧!
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
184 1
|
1月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
|
4月前
|
iOS开发 MacOS
【Mac系统】解决Vscode中LeetCode插件不能刷剑指offer题库
文章讨论了解决Mac系统中Vscode里LeetCode插件无法刷剑指Offer题库的问题,并提供了一些相关的使用技巧和资源链接。
258 1