design\games\ vsCoder 在线IDE+本地部署 AI 编码助手Tabby 初探

这篇具有很好参考价值的文章主要介绍了design\games\ vsCoder 在线IDE+本地部署 AI 编码助手Tabby 初探。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Coder + Tabby 码农专属AI助手

引子

在数字化时代,人工智能(AI)正以惊人的速度渗透到各个行业中。而对于码农们来说,AI已经成为他们日常工作中不可或缺的助手。然而,今天我要为大家介绍一款与众不同的助手,结合 开源 vscode 网页版code-server 和 开源 AI 助手 Tabby, 提供一个功能丰富、可定制的编程环境,帮助你更好地进行编码工作。

功能点

Coder

  1. 首先,VS Code 是一款由微软开发的流行的集成开发环境(IDE),广泛用于编写和调试各种编程语言的应用程序。而 code-server 是 VS Code 的一个开源项目,它提供了一个将 VS Code 编辑器以网页形式运行的方式。这意味着你可以通过浏览器访问它,无论你在哪个设备上,只要你有一个稳定的互联网连接。
  2. 通过将 code-server 部署到自己的服务器上,你可以享受到 VS Code 的全部功能,包括代码编辑、调试、版本控制等。你可以自定义扩展和配置,以满足个人的编程需求。而且,由于是在服务器上运行,你可以随时保存和同步代码,从而在不同的设备之间无缝切换。

Tabby

  1. 接下来是 AI 助手 Tabby。Tabby 是一个开源的 AI 助手,旨在提供对编程和开发过程的辅助功能。它可以与 code-server 集成,为你提供更高级的编程支持和建议。Tabby 可以通过分析代码结构、识别模式和上下文来提供智能建议、自动完成和错误检查。它还可以为你提供文档和参考资料的链接,帮助你更快地解决问题和学习新的概念。

Coder+Tabby

  1. 将 code-server 和 Tabby 结合使用,你可以获得一个强大而个性化的开发环境。你可以在自己的服务器上搭建一个完整的编程工作台,不受设备限制,随时随地都能访问。通过 Tabby 的智能支持,你可以更高效地编写代码,并从它的建议和提示中受益。
  2. 这款助手对于个人开发者、团队协作和远程工作都非常有用。它提供了强大的工具和智能辅助功能,可以大大提高开发效率和代码质量。而且,由于是开源项目,你可以根据自己的需求进行定制和扩展。

核心需求

为了获得更灵活、成本效益更高的解决方案,我选择将 code-server 和 Tabby 部署到自己的服务器上。以下是一些原因:

  1. 闲置的 Mac Mini 服务器:我有一个闲置的 Mac Mini 服务器,通过将 code-server 和 Tabby 部署在上面,我可以充分利用这个资源,将其转变为一个功能强大的编程环境。
  2. 缺少 Copilot 插件:由于 code-server 上没有 Copilot 插件,这可能限制了我的代码编写过程中的便利性和效率。
  3. 收费问题:使用 GitHub Copilot、Cursor 和 ChatGPT Plus 都需要付费,分别是每月 10 美元、16 美元和 20 美元。通过自己部署环境,我可以避免这些额外的费用。
  4. 自己部署:通过自己部署 Tabby,我可以确保代码不会上传到别人的服务器上用于生成代码提示,这提高了数据安全性和隐私保护。
  5. 持续提示:相比其他付费方案 Tabby 具有闪电般的响应速度和持续提示能力。
    • 尽管它是基于GPT-2,并且准确率可能较低,但它具有更快的提示速度,并且没有接口调用频率限制。你将生成时间定义为150毫秒,这意味着它可以以快速的速度持续不断地提供提示。这种情况下,速度取代了质量的考虑。
    • 在某些情况下,快速的提示反馈可能比完全准确的结果更重要。这特别适用于开发者希望快速获取创意、进行迭代或需要频繁的参考和提示的场景。尽管准确率较低,但通过持续的快速提示,Tabby提供了一种快速、流畅的开发体验。
    • 这一点对于开发者来说可能非常有价值,因为它可以提供即时的反馈和灵感,而无需等待较长的处理时间。这种权衡可以根据个人的偏好和需求来决定,对于那些追求速度和迭代的开发者来说,Tabby的速度优势可能是一个吸引人的特点。
  6. 模型微调提供一流的支持:虽然目前还没有看到 Tabby 提供模型微调的 API,但可以期待它未来可能提供这方面的支持。这将使我能够根据自己的需求对模型进行个性化调整。
  7. 测试成功:我个人在 Tabby 官网对 Java 语言进行了测试,并让它生成了一个充电费接口的校验代码。这次测试非常成功,证明了 Tabby 在提供准确指导方面的可靠性。
    通过将 code-server 和 Tabby 部署到自己的服务器上,我可以获得一个功能丰富、个性化定制的编程环境。这不仅提高了编码效率和质量,还避免了额外的费用和数据安全风险。这是一个理想的解决方案,适用于个人开发者和团队协作。

部署指北

温馨提示,注意先别着急安装,先看下文,看下文,下文,文!!!

  1. 安装brew:首先,你需要在你的Mac上安装Homebrew(brew),它是一个流行的包管理器。你可以在Homebrew的官方网站(https://brew.sh)上找到安装说明。

  2. 安装code-server:使用brew,你可以通过运行以下命令来安装code-server:

    brew install code-server
    

    这将从Homebrew仓库中下载和安装code-server。

  3. 安装Docker:接下来,你需要安装Docker,它是一个开源的容器化平台。你可以访问 Docker 的官方网站(https://www.docker.com)并按照他们的指南来安装Docker。

  4. 配置和启动code-server:一旦安装了code-server,你可以使用以下命令来启动它:

    code-server
    # 或者使用 launchctl load xxx 忘记了来设置开机启动,MAC 设置为通电启动
    

    这将在默认端口(通常是 127.0.0.1:8080)上启动code-server,并在浏览器中访问它。

  5. 安装Java开发所需的插件:为了进行Java开发,你需要在code-server上安装适用于Java的插件。其中一个常用的插件是"Extension Pack for Java",它是一个包含了多个Java开发相关插件的扩展包。你可以在VS Code Marketplace(https://marketplace.visualstudio.com)中搜索并安装该插件。安装后,它将提供Java开发所需的工具和功能。

  6. 安装Tabby插件:为了在code-server上使用Tabby,你需要安装Tabby插件。Tabby插件将为你提供与Tabby的集成,使你可以在code-server中访问Tabby的功能。你可以在VS Code Marketplace中搜索"Tabby"插件,并按照安装说明进行安装。

  7. 你没有M1/M2,使用 Docker 在自己的服务器上部署Tabby:为了使用Docker部署 Tabby,你需要从Tabby的官方源代码中构建Docker镜像。你可以在Tabby的GitHub存储库(https://github.com/tabby-lang/tabby)中找到源代码和构建说明。

    • 如果你不是 MAC
      docker run --name tabby -it -d --network=host -v  /Users/apple/data:/data -v /Users/apple/data/hf_cache:/home/app/.cache/huggingface tabbyml/tabby serve --model TabbyML/SantaCoder-1B
      
  8. 你有M1/M2:Mac 人提供了编译好的二进制包,直接下载使用

  9. 现在,你已经 “成功” 地在Mac上安装了brew、code-server和Docker,并部署了Tabby。你可以通过访问code-server的URL和指定的Tabby端口来访问这个完整的开发环境。

然而你的 Tabby 并不能正常工作

  • 如果你有一台闲置的 Mac Mini M2 Pro或者Mac Mini M2 Ultra,那么恭喜你,你可以通过硬件升级来解决大部分问题,无需再进行额外的努力。
  • 但如果你只有一台较低配置的Mac Mini M2基础版,那么我们是那些希望通过努力解决问题的人,需要继续折腾。

继续折腾

我坚信,我们应该成为AI的驾驭者,而不是被替代,通过与 AI 技术的深度交互,我们应该更好地驾驭它,将其作为我编程的有力助手。

虽然按照之前提到的步骤,你可能会遇到Tabby后端无法正常运行的问题。

  1. 我在https://huggingface.co/TabbyML 上发现了 Tabby 所使用的预训练的语言模型,该模型用于 Tabby 代码辅助工具。这个发现对我来说非常有价值,因为Hugging Face提供了许多优秀的预训练模型,可以用于各种AI任务。
  2. 关于Tabby的资料在网络上非常有限,我在尝试编译Tabby时遇到了一些困难,因此博主决定尝试使用Docker来部署 Tabby。这种方式可以简化部署过程并提供更好的可移植性。
  3. 在国内的网络环境下,容器中下载 Hugging Face 的模型失败是一个常见的问题。为了解决这个问题,你可以尝试使用代理服务器或者加速器来改善下载速度和稳定性。此外,你还可以寻找国内的镜像源,或者尝试使用Hugging Face提供的离线模型,将其下载到本地后通过修改 hosts 将目标网址指向本地来使用。
  4. 关于 N 卡和 GPU 加速和依赖安装,Tabby 的执行需要 NVIDIA GPU,并且如果你需要使用 GPU 版本,需要额外安装相应的 NVIDIA CUDA Toolkit工具包。 请确保你的系统具备正确的硬件和驱动条件,并按照相关的安装指南进行操作。此外,阅读 Tabby 的文档,了解GPU加速的要求和依赖项,并确保环境设置正确。

性能测试

最后是结论。由于博主没有额外的Nvidia GPU电脑,我的电脑只有MX250 GPU,并且其中存有重要的学习资料,所以我选择了租用GPU云服务器的方式进行实际测试。

  1. 首先,我部署了Tabby的CPU版本,并使用了8核32GB内存的云服务器。通过使用apache2的ab工具进行测试,每个请求的响应速度约为2.5秒。CPU的负载超过90%,内存只使用了1.6GB,同时并发数为10时出现了卡死的现象。当我尝试使用code-server连接到Tabby服务时,几乎无法正常工作,代码提示频繁掉线,偶尔可以成功一次。
  2. 然后,我切换到了6核64GB内存的云服务器,平均请求完成时间为3秒,主要瓶颈在于CPU性能。
  3. 最后,我尝试了GPU版本,使用了T4 GPU。根据网上的资料,Tesla T4显卡相当于GTX 1060显卡(属于入门级显卡中的中等性能)。经过测试,响应时间为200毫秒,即使在10个并发请求下执行了20个请求,每个请求仍然只需200毫秒。可以看到这是串行执行的(200ms/请求已经是处理上限)。其中一个 CPU 的负载瞬间只达到了60%左右。当我使用code-server连接到Tabby服务时,工作非常顺畅,速度快,而且非常稳定。

结论及部署建议

最后是结论:如果你想拥有一套内网安全的与众不同的 AI 编码助手,即code-server + tabby,你需要一台M2(官网表示M1/M2适用于个人使用),或者一台性能相当于GTX 1060左右的服务器(T4云服务器性能相当于GTX 1650)。

对于显卡方面的建议,个人可能对其了解不深。根据网上的资料,博主找到了一些价格在 5k 人民币以下的迷你小主机:

  • 如 RTX 2060 6G、RTX 3050 8G、GTX 1060、M2、GTX 1650 4G等。
  • 根据博主的调查它们的 CUDA 核心数分别为
  • 1920、一般2500 左右、1280、300 多、896
  • M2 是一款集成在苹果电脑中的芯片,它的结构和CUDA核心数并不适用于直接比较。M2芯片有统一的内置神经网络硬件加速器,但它没有公开的 CUDA 核心数指标
  • 个人感觉除了GTX 1650外,其他显卡应该都能胜任工作。
    • GTX 1650的性能较难确定,可能比 GTX 1060 稍低一些。
    • 响应时间大约为 0.5 秒(GTX 1060 为 0.25 秒,算 3 秒,然后 1650 性能低 25% 嘛,没有实测过)。
  • 这只是博主个人的建议,取决于大家的需求和观点。

另外,博主个人喜欢玩 Blender,所以可能更倾向于 N 卡。M2 的优势在于低功耗,感觉也不错,更安静省电。

综上所述,选择适合自己需求的显卡或服务器是个人决策。不同的显卡具有不同的性能特点和优势。建议大家根据自己的预算、需求和偏好做出选择。请注意,技术和市场在不断发展变化,所以在做出决策之前最好进行进一步的研究和咨询。

感谢您的祝福!希望大家都能在使用 code-server 和 tabbyml-演示环境 的过程中玩得开心并获得所需的帮助。如果有任何测试结果不如意或其他问题,可以在评论区中寻求帮助,博主可能无法直接解决所有问题。祝愿大家能够充分利用这些工具,提高工作效率和编码体验!文章来源地址https://www.toymoban.com/news/detail-479742.html

到了这里,关于design\games\ vsCoder 在线IDE+本地部署 AI 编码助手Tabby 初探的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 本地部署FastGPT使用在线大语言模型

    FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力,它背后依赖OneApi开源项目来访问各种大语言模型提供的能力。各大语言模型提供的访问接口规范不尽相同,为此OneApi项目提供了统一的API接口去对接各种大语言模型。FastGPT的部

    2024年03月09日
    浏览(31)
  • windows10下设置本地apache\nginx站点部署ssl证书,使本地配置的域名可以用https访问

    首先我们需要下载openssl来生成证书文件: 去官方网址下载https://slproweb.com/products/Win32OpenSSL.html; 下载好了,双击exe文件,然后就下一步,下一步安装完成; 安装之后配置环境变量,新建一个系统变量OPENSSL_HOME,值就是你安装目录下的bin,然后在系统变量path,增加%OPENSSL_HO

    2024年02月15日
    浏览(20)
  • 无需本地部署 在线使用Stable Diffusion Webui 使用共享模型

    尝试本地部署Stable Diffusion的时候遇到了很多的麻烦,自己训练AI也非常的麻烦,可以尝试使用Webui使用别人上传的模型 第一步进入网站https://github.com/camenduru/stable-diffusion-webui-colab 向下拉到readme 第一个 stable_diffusion_webui_colab,点击左边Open in Colab的图标 跳转到Google Colab的网站,

    2024年02月03日
    浏览(19)
  • Linux Docker本地部署WBO在线协作白板结合内网穿透远程访问

    WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和教学,使用起来也非常有趣。 下面结合cpolar内网穿透工具,实现

    2024年02月04日
    浏览(26)
  • 在线协作白板WBO本地部署启动并结合内网穿透实现远程协同办公

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用

    2024年02月01日
    浏览(25)
  • 在线图表编辑工具Draw.io本地部署并结合内网穿透实现远程协作办公

    提到流程图,大家第一时间可能会想到Visio,不可否认,VIsio确实是功能强大,但是软件为收费,并且因为其功能强大,导致安装需要很多的系统内存,并且是不可跨平台使用。所以,今天给大家推荐一款更实用的流程图软件—— Draw.io 在线绘图工具。 其实,除了写代码,画

    2024年01月24日
    浏览(26)
  • IDE Plugin FAQ-ApiHug - API design Copilot

      🤗 ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug    apihug.com: 有爱,有温度,有质量,有信任 ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace Proto 文件不能识别, can not recognize proto file 目前IDE 支持的  Proto buffer  插件最流行有两个:

    2024年04月09日
    浏览(54)
  • 体验本地部署AI绘画程序

    目录 前言 一、AI绘画是什么? 二、Stable Diffusion简介 二、部署步骤 1.克隆代码 2.部署环境 3. 安装 4 一些错误提示的排除 总结         随着人工智能的不断发展,尤其是chatGPT的成熟,AI绘画也获得了热捧,甚至AI画的太空歌剧院( Midjourney 所作)还获得了奖项。        由于

    2024年02月16日
    浏览(15)
  • 学习AI第一课:本地部署AI大模型

    AI 大模型发展到现在,国内外都有在线和离线版本,那如何在自己本地部署大模型呢?本文分享了一种简单的办法,一起来看看吧。我们经常能看到某某公司开源了一款 AI 大模型的新闻。这些模型都有着超强的能力,从生成大段的文字、逼真的图像,到理解和翻译不同语言,

    2024年04月26日
    浏览(18)
  • TavernAI+KoboldAI本地部署实现AI对话

    必需的前提: (1)1个GPU,本文使用的是nvidia的,amd应该也可以但我没试过。显存6G或以上,大于等于16G更好; (2)科学的上网; (3)Windows系统。 linux系统也是可以的,但是我没完整地试过。本文以Windows为准。 另外最好会一些英语,因为目前KoboldAI对话模型对中文的支持

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包