基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS

这篇具有很好参考价值的文章主要介绍了基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:

https://github.com/TabbyML/tabby

Docker | Tabby

Linux Debian上快速安装Docker并运行_Entropy-Go的博客-CSDN博客

Tabby - 本地化AI代码自动补全 - Windows10_Entropy-Go的博客-CSDN博客

1.为什么选择Tabby

已经有好几款类似强劲的代码补全工具,如GitHub Copilot,Codeium等,为什么还要选择Tabby?

Tabby除了和其他工具一样支持联网直接使用之外,还支持本地化部署

即对内部代码安全性要求很高时,可以采取Tabby项目模型的本地化部署,不用担心本地项目代码隐私泄露,同时有很好的享受GitHub代码库的建议。

部署完成后,如简单粗暴断开外部网络,甚至拔掉网线,依然可以使用。

可以单机使用,也可以公司内部网、局域网内共同使用。

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

2.决定动手之前,试一试 

Playground | Tabby

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

3.Linux Debian 上直接部署Tabby

前面已经在windows上部署成功,也可以直接在Linux上安装部署

4.Linux Debian上快速安装Docker

Linux Debian上快速安装Docker并运行_Entropy-Go的博客-CSDN博客

5.Git Clone tabby项目代码到本地

git clone https://github.com/TabbyML/tabby.git

6.Docker Run下载镜像

Docker | Tabby

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

本文选择了CPU,打开终端,在clone下来的tabby根目录下,执行下面的命令

CPU

docker run \
  -p 8080:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby serve --model TabbyML/SantaCoder-1B

7.部署成功

$ sudo docker run -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model TabbyML/SantaCoder-1B
2023-07-20T01:57:48.901861Z  INFO tabby::serve: crates/tabby/src/serve/mod.rs:131: Listening at 0.0.0.0:8080

检查是否部署成功

浏览器本地访问 http://localhost:8080/

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

或者在局域网络中使用   http://PC_IP:8080/

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

8.下载并安装VS Code(Visual Studio Code)

Download Visual Studio Code - Mac, Linux, Windows

安装完成后,打开VS Code,扩展中搜索Tabby并安装

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

Tabby的管理里面设置上面本地部署的Tabby服务

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github VS Code右下角显示Tabby已经可以提供服务

 基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

9.开始高效编码吧

输入注释或者编码时,会自动补全,即灰色斜体部分,如果接收就直接按Tab键,采纳建议,否则正常进行编码

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

 基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

按Tab键接收建议,灰色部分变亮

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

 编码时调用默认tabby并提示补全时,服务器资源消耗大,可以通过top命令查看,可以考虑高性能设备或者GPU加速

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

10.并行多核CPU处理,加快推理响应

卡顿还有个原因,虽然服务器性能不错,但是tabby默认最多使用4个CPU进行并行模型推理,所以可以尝试增加并行的核数

默认调用4核CPU

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

 可以增加更多核并行处理,

如服务器有16核添加参数,16/4=4, --num-replicas-per-device 4

如服务器有32核添加参数,32/4=8, --num-replicas-per-device 8

$ sudo docker run   -p 8080:8080 -v $HOME/.tabby:/data   tabbyml/tabby serve --model TabbyML/SantaCoder-1B --num-replicas-per-device 8

现在可以按照要求调用更多核CPU,VS Code中输入过程中,提示的更快。

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

11.CentOS环境安装并运行tabby

同样的,可以在CentOS上安装Docker,可参考

Linux CentOS上快速安装Docker并运行服务_Entropy-Go的博客-CSDN博客

本地服务器有32核,所以添加参数,32/4=8, --num-replicas-per-device 8

$ sudo docker run   -p 8080:8080 -v $HOME/.tabby:/data   tabbyml/tabby serve --model TabbyML/SantaCoder-1B --num-replicas-per-device 8
2023-07-27T06:56:19.280691Z  INFO tabby::serve: crates/tabby/src/serve/mod.rs:131: Listening at 0.0.0.0:8080

运行截图:基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

 在vscode中正常编码或者写代码注释时,触发tabby进行多核并行模型推理

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

按Tab键接受自动补全的代码

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

同时可以观察到服务器上CPU内存等资源使用情况,触发模型推理时使用率特别高!

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github

12.CentOS扩展Nvidia GPU运行tabby

CentOS扩展Nvidia GPU之后,推理速度超级快,边写边推荐源码,体验非常的丝滑,可以大大提高编码效率。

首先需要安装GPU,驱动,CUDA工具包和Nvidia Docker工具包,也可参考之前写的:

安装GPU,驱动,CUDA工具包
在线安装

NVIDIA GPU驱动和CUDA工具包 Linux CentOS 7 在线安装指南_Entropy-Go的博客-CSDN博客

下载安装:

Linux CentOS安装NVIDIA GPU驱动程序和NVIDIA CUDA工具包_centos 安装nvcc_Entropy-Go的博客-CSDN博客

安装Nvidia Docker工具包:

centOS 快速安装和配置 NVIDIA docker Container Toolkit_Entropy-Go的博客-CSDN博客

GPU方式运行tabby:

[ xxx ]# docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model TabbyML/SantaCoder-1B --device cuda
2023-08-17T11:00:25.128496Z  INFO tabby_download: crates/tabby-download/src/lib.rs:66: Start downloading model `TabbyML/SantaCoder-1B`
2023-08-17T11:00:31.338937Z  INFO tabby::serve: crates/tabby/src/serve/mod.rs:134: Listening at 0.0.0.0:8080

查看GPU使用情况:

[ xxx ]# nvidia-smi
Thu Aug 17 07:43:33 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10              Driver Version: 535.86.10    CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla P100-PCIE-16GB           Off | 00000000:31:00.0 Off |                    0 |
| N/A   33C    P0              30W / 250W |   4908MiB / 16384MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A     60875      C   /opt/tabby/bin/tabby                       4906MiB |
+---------------------------------------------------------------------------------------+

举个栗子:

可以使用中文输入提示词,如 

# 设计1个贪吃蛇游戏

基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS,随笔,linux,python,人工智能,机器学习,AIGC,github文章来源地址https://www.toymoban.com/news/detail-742730.html

到了这里,关于基于GitHub代码库训练模型本地化AI代码自动补全 - Tabby Linux Debian/CentOS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于Llama2和LangChain构建本地化定制化知识库AI聊天机器人

    参考: 本项目 https://github.com/PromtEngineer/localGPT 模型 https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML 云端知识库项目:基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人_Entropy-Go的博客-CSDN博客          相比OpenAI的LLM ChatGPT模型必须网络连接并通过API key云端调用模型,担心

    2024年02月08日
    浏览(50)
  • 本地化部署大语言模型 ChatGLM

    ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优

    2023年04月20日
    浏览(59)
  • 【AI工具】-Stable Diffusion本地化部署教程

    今天我们要介绍的是时下最流行的AI绘图软件Stable Diffusion,虽然Diffusion.ai已经开放api,但是长时间的商业化调用我们需要购买很多的金币。所以我们需要找一个平替的AI绘图平台,现在主流市场中AI绘图软件主要就是OpenAI的DALLE、midjourney以及今天要学习的Stable Diffusion,而前两

    2024年02月13日
    浏览(47)
  • 实战whisper:本地化部署通用语音识别模型

            Whisper 是一种通用语音识别模型。它是在大量不同音频数据集上进行训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。         这里呢,我将给出我的一些代码,来帮助你尽快实现【语音转文字】的服务部署。         以下是该A

    2024年01月18日
    浏览(88)
  • Window本地化部署stable diffusion AI绘图

    从零开始,手把手教你Window本地化部署stable diffusion AI绘图 - 知乎 (zhihu.com) 解决MAC笔记本Stable Diffusion安装时报No matching distribution found for tb-nightly的问题 - 阿狸哥哥 - 博客园 (cnblogs.com)  修改启动脚本启动命令里加入了 --precision full --no-half precision full就是全精度,no half是不使用

    2024年02月11日
    浏览(44)
  • Window本地化部署stable diffusion AI绘图+问题汇总

    1. 为什么要本地部署 本地部署没有生成数量的限制,不用花钱,生成时间快,不用排队,自由度高很多,可以调试和个性化的地方也更多。 部署过程可以熟悉环境配置的流程,熟悉工程化部署步骤。对于PM来说也是一种技术成长。 部署过程遇到各种问题,在尝试解决的过程

    2024年02月09日
    浏览(49)
  • 不需要GPU就可以玩转模型,同时支持本地化部署

            简单一款不需要GPU就可以在Win 机器跑的模型:Ollama;用于本地运行和部署大型语言模型(LLMs)的开源工具 关于Ollama的简要介绍 平台兼容性 :Ollama支持多种操作系统,包括macOS、Linux和Windows,这使得它在不同用户之间具有较好的可访问性。 模型支持 :它能够支持

    2024年04月16日
    浏览(41)
  • GPT大语言模型Alpaca-lora本地化部署实践【大语言模型实践一】

    Alpaca模型是斯坦福大学研发的LLM(Large Language Model,大语言)开源模型,是一个在52K指令上从LLaMA 7B(Meta公司开源的7B)模型微调而来,具有 70亿 的模型参数(模型参数越大,模型的推理能力越强,当然随之训练模型的成本也就越高)。 LoRA,英文全称Low-Rank Adaptation of Large

    2024年02月05日
    浏览(43)
  • AIGC生成式代码——Code Llama 简介、部署、测试、应用、本地化

            本文介绍了CodeLlama的 简介、本地化部署、测试和应用实战方案 ,帮助学习大语言模型的同学们更好地应用CodeLlama。我们详细讲解了如何将CodeLlama部署到实际应用场景中,并通过实例演示了如何使用CodeLlama进行代码生成和优化。最后,总结了CodeLlama的应用实战经验

    2024年02月05日
    浏览(78)
  • Qodana & IntelliJ IDEA,看代码质量平台如何简化IDE本地化!

    IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 当程序员规划涉及代码重构的

    2024年02月05日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包