【笔记】动手学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 是基于命令行的编程助手,比起集成开发环境,它拥有顶级的系统权限和功能使用,但同时意味着它更难上手。

相关推荐
青春不败 177-3266-05207 小时前
GPT、DeepSeek等大语言模型应用
人工智能·gpt·深度学习·机器学习·语言模型·科研绘图
渡我白衣8 小时前
C++ 同名全局变量:当符号在链接器中“相遇”
开发语言·c++·人工智能·深度学习·microsoft·语言模型·人机交互
小和尚同志8 小时前
还用啥三方啊!MiniMax M2 官方免费!
人工智能·aigc
深兰科技8 小时前
东方财经报道|深兰科技落户张江,AI医疗与情感陪伴并进,拓展智能未来版图
大数据·人工智能·科技
双向338 小时前
从零搭建高可用个人博客:Lighthouse + 1Panel + Halo 全流程实战
人工智能
格林威9 小时前
AOI在传统汽车制造领域中的应用
大数据·人工智能·数码相机·计算机视觉·ai·制造·aoi
CClaris9 小时前
深度学习——反向传播的本质
人工智能·python·深度学习
FserSuN9 小时前
Mem0:构建具有可扩展长期记忆的生产级AI代理 - 论文学习总结1
人工智能·学习
im_AMBER9 小时前
Leetcode 41
笔记·学习·算法·leetcode
rengang669 小时前
101-Spring AI Alibaba RAG 示例
java·人工智能·spring·rag·spring ai·ai应用编程