Skip to content

自己搭建github copilot!

Posted on:2022年12月14日 at 22:43

简介

github copilot是一个很强大的智能代码提示助手,这一点母庸质疑,人们对它最大的争议主要是在价格上。

它收费10美元每月,对个人来说也是一笔不小的支出。

但是有一种方案,可以在本地搭建类似于github copilot的服务,但是因为我算力垃圾跑不动大模型,所以一般电脑看看就好。

它就是由百度开发的 PaddlePaddle 深度学习平台。智能代码补全是其中一个范例。

接下来,我就来讲讲如何安装它已经过程中我踩的坑。

开始安装

克隆存储库

我克隆的是飞桨的官方github仓库,可以使用如下命令克隆(depth为1是为了加快克隆)

ssh命令(前提是你配置了ssh公钥):

git clone git@github.com:PaddlaPaddle/PaddleNLP --depth 1

如果没有配置,也可以用https克隆(有亿点慢)。

git clone https://github.com/PaddlePaddle/PaddleNLP --depth 1

代码补全的范例保存在 /examples/code_generation/codegen 下。

创建conda环境

没有conda也别划走,也能用

因为paddlepaddle本质是一个python框架,所以我们需要python的环境。(没有conda请跳过这步)

conda create --name 自己取个名字 python=3.9 # 创建python环境
conda activate 你的环境名字

这时候,你就可以将这个环境当成正常python用了。

安装依赖

首先cd到 仓库根目录/examples/code_generation/codegen

然后pip安装依赖:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple paddlepaddle
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

运行

万事俱备,只欠运行!

python ./codegen_server.py

应该会报错缺少包,然后pip安装上就行。

在这里还有一个问题就是一定要改配置文件!!!

它的配置文件在它代码的这里:

from pydantic import BaseModel

# 这里是代码的第25行
class DefaultConfig:
    model_name_or_path = "" # 这里自己选一个模型,个人建议是350M或2B(再以上只有服务器扛得住了)
    device = "cpu" # 一般改成cpu,你总不指望每个人家里的显卡都支持cuda吧
    temperature = 0.5
    top_k = 10
    top_p = 1.0
    repetition_penalty = 1.0
    min_length = 0
    max_length = 16
    decode_strategy = "greedy_search"
    load_state_as_np = True
    use_faster = False # 如果报错改成false
    use_fp16_decoding = False # 如果报错改成false
    default_dtype = "float16" if use_faster and use_fp16_decoding else "float32"


class Input(BaseModel):
    prompt: str

在vscode中使用

有一个叫fauxpilot的插件,下载后在设置里配置一下就行。

打完代码停顿一会就会有补全,按tab接受。

使用体验

这玩意不是很好用。

因为它只是为了展示paddlepaddle和当今AI模型的实力而产生的一个小项目。

所以仅供娱乐,当前阶段真正要代码补全还得是github。



在 Rickyxrc's blog 出现的文章,若无特殊注明,均采用 CC BY-NC-SA 4.0 协议共享,也就是转载时需要注明本文章的地址,并且引用本文章的文章也要使用相同的方式共享。