大神网
大神网

暂无菜单项

首页/文章/技术折腾/
打开 MD 链接

打造本地 GitHub Copilot 替代品:FauxPilot 完全设置指南

大神
发布于 2023/9/14
10

你是否曾经想要在本地使用强大的代码生成工具,但却不想依赖云服务?FauxPilot正是为此而生。本文将向你介绍如何搭建一个本地托管的代码生成服务器,它使用了SalesForce CodeGen模型以及NVIDIA的Triton Inference Server和FasterTransformer后端。这是你在本地环境中获得GitHub Copilot类似功能的完整指南。

引子:代码生成的新时代

在过去,写代码是一项需要耐心和时间的任务。然而,随着机器学习的发展,我们迎来了代码生成的新时代。GitHub Copilot是一个广受欢迎的云端代码生成工具,但是它需要连接到互联网,而且有一些隐私和依赖性的顾虑。FauxPilot则是一个本地解决方案,让你在本地环境中获得了相似的强大功能。

准备工作

在开始之前,你需要确保满足以下几个先决条件:

  • Docker
  • docker-compose >= 1.28
  • 一块NVIDIA GPU,计算能力需大于等于6.0,并且具备足够的显存来运行你选择的模型。
  • nvidia-docker
  • curl和zstd,用于下载和解压模型。

请注意,所需的显存是总数,如果你有多个GPU,你可以将模型分配到它们中间。例如,如果你有两块NVIDIA RTX 3080 GPU,你可以将6B模型的一半放在每块GPU上。

支持与保修

是不是觉得FauxPilot的支持和保修信息很有趣?其实,目前它仍然处于早期阶段,虽然有一些维基页面和讨论论坛可以提供一些帮助,但它仍然没有正式的支持和保修。

安装步骤

现在,让我们一起来安装FauxPilot服务器和客户端。

步骤1:选择模型

首先,运行设置脚本来选择要使用的模型。这将从Huggingface/Moyix下载模型,该模型以GPT-J格式提供,然后将其转换为FasterTransformer可用的格式。运行以下命令:

$ ./setup.sh

你将看到以下选项:

Models available:
[1] codegen-350M-mono (2GB total VRAM required; Python-only)
[2] codegen-350M-multi (2GB total VRAM required; multi-language)
[3] codegen-2B-mono (7GB total VRAM required; Python-only)
[4] codegen-2B-multi (7GB total VRAM required; multi-language)
[5] codegen-6B-mono (13GB total VRAM required; Python-only)
[6] codegen-6B-multi (13GB total VRAM required; multi-language)
[7] codegen-16B-mono (32GB total VRAM required; Python-only)
[8] codegen-16B-multi (32GB total VRAM required; multi-language)
Enter your choice [6]: 2
Enter number of GPUs [1]: 1
Where do you want to save the model [/home/moyix/git/fauxpilot/models]? /fastdata/mymodels
Downloading and converting the model, this will take a while...

在这里,你可以选择模型(选择2代表codegen-350M-multi),输入使用的GPU数量,以及模型保存的位置。脚本将自动下载和转换模型,这可能需要一些时间。

步骤2:启动FauxPilot服务器

安装完成后,运行以下命令来启动FauxPilot服务器:

$ ./launch.sh

你将看到类似以下的输出:

[+] Running 2/0
 ⠿ Container fauxpilot-triton-1         Created
 ⠿ Container fauxpilot-copilot_proxy-1  Created
Attaching to fauxpilot-copilot_proxy-1, fauxpilot-triton-1
fauxpilot-triton-1         |
fauxpilot-triton-1         | =============================
fauxpilot-triton-1         | == Triton Inference Server ==
fauxpilot-triton-1         | =============================
fauxpilot-triton-1         |
...

至此,你已经成功启动了FauxPilot服务器。

结束语

FauxPilot为代码生成提供了一个本地解决方案,让你无需依赖云服务,同时享受到强大的功能。尽管它仍然处于早期阶段,但它有着巨大的潜力,可以帮助开发人员更高效地编写代码。

无论你是想要提高工作效率,还是只是对这个项目感兴趣,都可以尝试一下FauxPilot,看看它能为你带来什么好处。现在,你已经了解了如何设置FauxPilot服务器和客户端,是时候开始你的本地代码生成之旅了!

0 点赞
0 收藏
分享
0 讨论
反馈
0 / 600
细中粗
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
把实践写下来。AI、教程、杂文与生活。
文章
教程
Skills
关于
关于大神
关于
AI 实践、杂文、生活记录、教程与下载分享。

装箱单空白模板:只记箱件、重量、尺码和唛头,不写货价

2次下载
免费
下载分享
24 000

商业发票空白模板:填写字段、费用说明与核对清单

2次下载
免费
下载分享
20 000

报价单空白模板:列出货价、术语地点、有效期和付款条件

2次下载
免费
下载分享
36 000

散人杂谈 国庆节特别篇|你可以随时打开自己,也可以随时关掉自己

杂文
65 000

从这里开始:大神网会分享什么

杂文
63 000

我在改写你们的过去

杂文
26 000
大神 AI 转型AI 转型把 AI 用进真实工作了解
教程与下载教程下载一步一步能跟着做查看
Skill HubSkill Hub自有 Skill 与工具入口进入
大神网
大神网
首页
文章
AI Hub
生活
小店
导航
社区
教程
关于
大神 · 把实践写下来
AI、教程、杂文与生活
关于文章教程小店隐私政策服务条款退款与交付联系客服
大神网 © 2026