简介
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。