Agent 搭建|使用 ollama+智谱 CodeGeeX+VSCode 搭建本地离线编程助手

2025 年注定是 Agent 爆发之年,但是在 2024 年竞争最激烈的非编程助手莫属,从 Github Copilot 到 Cursor 再到 WindSurf,程序员是最热衷于使用智能体的群体。

但是以上产品需要联网,需要付费,或者即使免费也有额度的限制,我们国内也有很多产品,不仅免费,而且有些产品是开源的。今天就以智谱 AI 的 CodeGeex4 为例,搭建一个离线本地的编程助手,整体体验下来,我认为效果堪比 Cursor、Copilot 等商业软件,但也仍有一些不足。

我们准备人机交互界面(VSCode)+LLM(CodeGeex4)+环境(Ollama)来搭建。

在这里插入图片描述

首先介绍使用开源 LLM,CodeGeex4 目前已经迭代到第四个版本,模型大小为 9B,这个参数量做到了性能和离线之间的一种平衡,在我 16G 的macOS 使用这个大小参数的模型性能完全足够,但如果使用十几亿或者百亿参数的开源模型,对性能的消耗过于巨大。

智谱将这个模型称为目前参数量少于 100 亿的最强代码生成模型,这也符合大模型➡️小模型的思路,很多时候我们不需要一个全知全能的大模型,我们需要一个能够足够 Cover 当前任务的 LLM 即可。

img

性能上,9B 的 CodeGeex4 在HumanEval 上的表现超过了 70B 参数的 llama3,对于这么小的参数量来说已经非常不错。

在这里插入图片描述

如何在本地电脑使用,对于新手来说推荐使用 Ollama,Ollama 是一个开源框架,专门设计用于在本地运行大语言模型。

Ollama 的安装和运行都无需撰写复杂代码,只需要在本地安装后,后台运行,Ollama 会自动在 11434 端口运行服务。

以我的 macbook 为例,在官网下载并安装 Ollama 后会自动驻留在后台,windows 用户要小心设置模型下载路径,方便以后管理,否则默认都下载在 C 盘。

在这里插入图片描述

下载模型也很简单,只需要运行 ollama run codegeex4 命令即可。

以上两步完成后,本地电脑就具备了编程 Agent 能力,但是我们要如何使用?

以 VSCode 为例,在插件广场安装,或者通过官网安装后,我们打开插件,在插件右上角选择离线模式。

img

img

然后将大模型服务地址和模型名称填入,点击连接进行测试即可,这样我们就完成了在本地,离线部署CodeGeex4 智能编程助手。

img

img

下面让我具体来体验一下,比如我们以https://codegeex.cn/官网为例,我们想要获取这个页面中所有文本信息。

我们使用简单的提示词工程,告诉大模型我们要构建一个 python 程序以及目标网站,本地大模型的优势就是速度非常快,秒级生成结果。然后我们点击新文件。

img

结果中首先要求我们通过 pip 安装所需要的包,然后点击新文件即可自动生成代码文件,(我的机器上安装了 python 环境,这一步也是通过询问 CodeGeex4 完成,没有的话需要创建 python 环境,推进使用 python 虚拟环境,VSCode 会自动设置)通过运行代码。

目前 CodeGeex4 有个不足的地方,就是不像 Cursor 或者 Github Copilot 那样,自带了代码对比和补全功能,需要自行进行修改。

以 github copilot 为例来对比,代码生成后可以点击合并按钮,会自动完成对比合成,你只需要点击 Accept是否接受即可,CodeGeex4 上没有找到这个功能,目前只有复制和插入,插入会直接拷贝,需要人工进行整合修改。

img

但是从两者的输出结果来看,CodeGeex4 给出的解决方案和 Copilot 基本完全一致,两者一个是 9B 部署在我本地机器上的智能体,另一个是在线的智能体,从成本的角度来看,CodeGeex4 可以说是完胜。

但是,这个简单的代码并没有获取到任何中文内容。猜想最大可能是网站部署了反爬功能,那么能否让大模型就这个问题检测一下呢?

img

可以很明显看到,CodeGeex4 给出的答案只是满足了能否联通,但是 Copilot 给出更加详细的指标。

img

从这个角度可以猜测本地模型相比闭源的大模型在性能上还是稍显不足。

我们接着再让两个大模型帮我写几个排序算法,并试图让他们画出算法流程图。

可以看到,本地的 CodeGeex4 模型理解能力稍逊一筹,他给出的是算法的文字描述,Copilot 给出的直接的代码。

img

但只要我们多问一句,就能获得每种排序算法的 Python 实现(再目前阶段,提示词工程依然有效,也许有一天,AI 编程真的完全能理解需求,完全自主编程)

img

同样的,虽然都无法直接作图,但是 Copilot 更加进一步的给出了一种文字+箭头的算法流程描述,有一种很贴心的感觉,虽然我画不了图,但是我尽量理解老板需求,并给出一个解决方案。

以上只能算是使用编程智能体助手的一些玩法,让我看看在实际生产工作中,能帮到我们多少。

img

在使用上,CodeGeex4 的插件不如 Copilot 顺畅,比如,Copilot 可以直接挂接文档,但是 CodeGeex4 需要通过全选代码来完成挂接。

在结果上,在完全不给予足够提示词的情况下,开源的大模型还是无法和闭源大模型相比,左边的 CodeGeex4 理解的结果不能使用,但是 Copilot 能够基本上正确分解代码,并识别没断代码的作用。

总结

我们通过几次不同的尝试,简单的体验了本地编程助手和知名编程助手的区别,可以看到效果上还是有些差距的。

这一是我没有使用 CodeGeex4 的在线版本,二是本身就目前阶段来讲,开源大模型性能确实还无法比得上闭源大模型。

但风起于青萍之末,我相信未来我们国内的大模型一定会做的更加本土化,性能更好。

而商业公司选择将强力的模型开源,不仅是勇气也是自信,相信未来借助社区和开源的力量,开源也能和闭源平分秋色。

走向 AIGC 的道路虽然艰难,但随行者众。我们也一定能做出好的产品。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

下面这些都是我当初辛苦整理和花钱购买的资料,现在我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

<think>嗯,用户问的是如何在本地搭建Copilot助手。首先,我需要明确用户的需求。Copilot通常指的是GitHub Copilot,它是一个基于AI的代码辅助工具,由GitHub和OpenAI合作开发。不过,官方版本是云端服务,可能需要订阅,并且可能无法完全本地部署。但用户可能想要的是一个类似的本地化AI代码助手,可能出于隐私、成本或者网络访问的考虑。 接下来,我需要考虑可能的解决方案。首先,用户可能不了解GitHub Copilot的官方版本是否支持本地部署,可能需要先说明这一点。然后,如果用户确实需要在本地运行,可能需要推荐一些开源的替代方案,比如使用本地运行的代码补全模型,例如CodeGen、CodeGeeX、StarCoder或者利用Hugging Face的模型。 然后,我需要考虑具体步骤。例如,使用VS Code作为编辑器,安装相应的插件,配置本地模型。或者使用开源项目如FauxPilot,这是一个自托管的Copilot替代品,需要部署在本地服务器上,可能用到Docker和TensorRT等工具。 另外,用户可能需要技术基础,比如了解如何安装Python环境,使用命令行,配置Docker容器,甚至下载和运行AI模型,这些模型可能需要较大的计算资源,比如GPU支持。因此,用户可能需要有足够的硬件资源,比如显存足够的NVIDIA显卡,否则运行大型模型可能会很卡。 还需要考虑模型的下载和配置。例如,使用Hugging Face的transformers库,加载预训练模型,并在本地运行推理。这涉及到编写一些代码来启动模型服务,并让编辑器插件与之通信。 可能的问题点包括:模型的选择,性能问题,配置复杂性,以及是否需要编程知识。用户可能希望有一个详细的步骤指南,所以需要分步骤说明,从安装必要软件,到下载模型,配置插件,测试使用等。 此外,可能还需要提到一些注意事项,比如模型许可证,数据隐私,以及硬件要求。例如,某些模型需要商业授权,而开源模型可能有不同的许可条款。数据隐私方面,本地部署的好处就是数据不外传,但需要确保模型和工具链的安全。 最后,可能需要比较不同的方案,帮助用户根据自己的情况选择最适合的方法。比如,如果用户有较强的技术背景和硬件资源,可以推荐FauxPilot或者自行部署模型;如果用户希望简单易用,可能推荐现有的开源插件,如CodeGeeX或Tabnine,虽然它们可能不完全本地,但某些配置可能允许本地模型运行。 总结下来,回答需要包括以下几个部分: 1. 说明GitHub Copilot官方版本的情况。 2. 提供本地替代方案的几种方法,如使用开源模型和工具。 3. 分步骤介绍如何搭建,例如使用FauxPilot或本地模型搭配编辑器插件。 4. 提及硬件和软件需求,以及可能的挑战。 5. 注意事项和额外建议。</think>在本地搭建类似 GitHub Copilot 的代码助手,通常需要借助开源 AI 模型和工具链。以下是分步指南及常见方案: --- ### 一、GitHub Copilot 官方说明 GitHub Copilot 是云端服务,**不开放本地部署**。若只需使用其功能,可直接在 VS Code 安装官方插件(需付费订阅)。但若需完全本地化,需选择替代方案。 --- ### 二、本地替代方案(开源实现) #### 方案 1:使用 **FauxPilot**(推荐) FauxPilot 是一个开源项目,模拟 Copilot 的本地部署,支持自定义模型(如 Salesforce CodeGen、StarCoder)。 **步骤:** 1. **安装依赖**: - Docker - NVIDIA 显卡驱动 + CUDA(GPU 加速) - 至少 8GB 显存(如 RTX 3080 以上) 2. **部署 FauxPilot**: ```bash # 克隆仓库 git clone https://github.com/fauxpilot/fauxpilot.git cd fauxpilot # 下载模型(选择 6B 或 16B 参数的模型) ./configure.sh # 按提示选择模型 # 启动服务(需 Docker) ./launch.sh ``` 3. **配置 VS Code**: - 安装插件 `CodeGPT` 或 `Continue`。 - 设置 API 地址为 `http://localhost:5000/v1/completions`。 --- #### 方案 2:使用 **本地模型 + VS Code 插件** 直接运行开源代码模型,并通过插件连接。 1. **选择模型**(Hugging Face 平台): - **StarCoder**(轻量级,16GB 显存) - **CodeLlama**(Meta 开源,支持代码生成) - **WizardCoder**(社区微调版本) 2. **启动模型服务**: ```python from transformers import pipeline # 加载模型(示例使用 StarCoder) generator = pipeline("text-generation", model="bigcode/starcoder") # 本地 API 服务(需安装 flask) from flask import Flask, request app = Flask(__name__) @app.route("/generate", methods=["POST"]) def generate(): prompt = request.json.get("prompt") result = generator(prompt, max_length=100) return {"code": result[0]["generated_text"]} if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` 3. **配置编辑器插件**: - 使用 `Tabnine` 或 `Continue` 插件,指向本地 API 端口。 --- #### 方案 3:使用 **CodeGeeX** 或 **Tabnine** - **CodeGeeX**:清华开源模型,提供 [VS Code 插件](https://codegeex.cn/),支持离线模式(需下载模型文件)。 - **Tabnine**:启用 "Local Model" 模式(部分版本需企业授权)。 --- ### 三、硬件要求 - **GPU 方案**:推荐 NVIDIA 显卡(至少 8GB 显存)。 - **纯 CPU 方案**:可运行较小模型(如 1B 参数),但速度较慢。 --- ### 四、注意事项 1. **模型版权**:部分模型需遵守商用许可(如 CodeLlama 需 Meta 授权)。 2. **性能优化**:使用量化技术(如 GPTQ、GGUF)减少显存占用。 3. **隐私安全**:本地部署避免代码外传,但需定期更新模型以防漏洞。 --- ### 五、推荐组合 - **快速上手**:FauxPilot + CodeGen-6B 模型。 - **高性能需求**:CodeLlama-34B + 多卡 GPU 推理。 - **无 GPU 环境**:CodeGeeX 离线+ CPU 推理(速度较慢)。 可根据自身硬件和技术能力选择方案,遇到问题可查阅项目文档或社区讨论(如 Hugging Face、GitHub Issues)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值