【笔记】动手学Ollama 第七章 应用案例1 搭建本地AI Copilot编程助手

正文详见:7.1 搭建本地的 AI Copilot 编程助手https://datawhalechina.github.io/handy-ollama/#/C7/1.%20%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0%E7%9A%84%20AI%20Copilot%20%E7%BC%96%E7%A8%8B%E5%8A%A9%E6%89%8B

一、AI编程

AI编成是大语言模型表现最出色的领域之一。原因如下:

  • 明确的对错标准:代码要么能跑,要么不能。这种是非黑白的特性让AI更容易判断自己的输出质量
  • 精确的语言:编程语言的每一个字符或关键字都具有明确的含义,不会出现太多模棱两可的地方。这种精确性是AI模型所擅长的
  • 明确的任务目标:编写代码都具有明确的目标,这种清晰的指令能让AI更集中注意力解决问题
  • 知识的通用性:编程语言的诸多方便时互通的,这种可迁移性让AI在编程领域有特标高的学习效率

二、集成开发环境(IDE)部署AI编程

(一)Continue

1、模型准备
  • 通用问答模型:ollama pull llamal3:8b
  • 自动代码补全模型:ollama pull starcoder2:3b
  • embedding模型:ollama pull nomic-embed-text
2、环境配置

2在VS code插件库安装模型Continue

可以将Continue移动至右侧边栏,这样有助于在使用时保持文件资源管理器打开,同时也方便使用快捷键切换侧边栏

配置Ollama

  1. 点击Select model,选择Add model
  2. 在Provider处选择Ollama
  3. 在Model处选择Autodetect,点击Connect

这样,你就有了一个可以帮你编写代码的AI编程工具

3、操作指南

这里介绍些简单的使用方法(Windows环境下),详细操作请看Config with .env | aiderhttps://aider.chat/docs/config/dotenv.html

3.1 理解代码

首先使用鼠标拉选好需要借助AI解释的代码,按Ctrl+L,便可将选中的代码传入进右侧对话框中,然后使用自然语言让模型进行代码解释。

2、代码补全

移动鼠标点击你认为需要补全代码的位置,稍等便可,AI便会自动为你生成部分代码,此时按一下Tab便可自动补全。

3、代码修改

同1一样,选中代码后按Ctrl+I,输入要求,即可完成修改

4、代码文件提问

使用关键字@codebase,输入你想提问的代码文件名,AI便可以进行回答

4、根据官方文档提问

(二)RooCline

Cline是目前世界范围内最火热的 vscode 的 ai 编程插件。它能够与整个开发环境进行交互,在处理复杂的调试场景、大规模重构或集成测试时十分有用。

RooCline 是 Cline 的增强版,专注于提升开发效率和灵活性。它支持多语言、多模型(如 Gemini、Meta 等),并提供了智能通知、文件处理优化、缺失代码检测等功能。并且还支持与 Cline 并行运行,适合需要同时处理多种任务的开发者。

1、模型准备

  • ollama run deepseek-r1:1.5b

2、下载插件

在VS code安装Roo Cline,第二个小火箭图标

3、配置Ollama

安装完成后同样可以将其移动到右侧任务栏,初次使用会自动弹出设置界面。

首先在API提供商处选择Ollama,再在Model ID处选择一款模型,完成后点击开始使用。

最后点击右上角"完成",便可以开始使用该AI

4、Roo Cline特性

多数特征需要借助性能更加强大的大模型,建议接入API使用。

4.1 自定义多个API/模型接口

还是在设置处,你可以通过Configuration Profile设置不同的使用模式,日常编码可以使用本地小模型,架构设计时可以借助API使用高级模型。

4.2 定制Roo Code角色、指令和权限

你可以在提示词处设置多种自定义的Roo Code,包括模型调用,角色扮演,独立指令,功能权限等

4.3 颗粒度控制 Roo cline 权限

在设置处往下滑,你可以在自动批准设置(Auto-Approve Setting)控制Roo Cline的一些权限,可以让其自动进行某些操作。

三、命令行环境部署AI编程(Aider)

Aider 是基于命令行的编程助手,比起集成开发环境,它拥有顶级的系统权限和功能使用,但同时意味着它更难上手。

相关推荐
tap.AI21 小时前
AI时代的云安全(四)云环境中AI模型的安全生命周期管理实践
人工智能·安全
Codebee21 小时前
技术与业务双引擎驱动:Qoder与TRAE重塑强势软件新范式
人工智能
代码游侠21 小时前
学习笔记——线程控制 - 互斥与同步
linux·运维·笔记·学习·算法
骄傲的心别枯萎21 小时前
RV1126 NO.56:ROCKX+RV1126人脸识别推流项目之VI模块和VENC模块讲解
人工智能·opencv·计算机视觉·音视频·rv1126
汉得数字平台21 小时前
汉得H-AI飞码——前端编码助手V1.1.2正式发布:融业务知识,提开发效能
前端·人工智能·智能编码
资源补给站21 小时前
论文15 | 深度学习对功能性超声图像进行血管分割案例分析
人工智能·深度学习
AALoveTouch21 小时前
n8n 2.0 中文汉化版一键部署教程 | 解除Execute Command限制
人工智能·自动化
四谎真好看21 小时前
MySQL 学习笔记(进阶篇1)
笔记·学习·mysql·学习笔记
三品吉他手会点灯21 小时前
STM32F103学习笔记-19-SysTick-系统定时器(第1节)-功能框图讲解和优先级配置
笔记·stm32·单片机·嵌入式硬件·学习
小易吾21 小时前
VISIO导出高清PDF有效方法
笔记·pdf