如何搭建免费的GitHub Copilot?

前不久,GitHub和OpenAI联合为程序员们送上了编程神器——GitHub Copilot,能根据用户输入的部分代码或注释自动生成完整代码。适用后效果的确很惊艳,但但但是近期开始收费了,现以每月 10 美元(人民币约 67 元)或每年 100 美元(人民币约 669 元)的价格出售,实在是太贵了!Copilot 是建立在 OpenAI Codex 之上,也就是 OpenAI 的旗舰 GPT-3 语言生成算法的后代,但目前还暂未开源。

最近发现一款开源的神器,可以自己搭建代码生成的服务,同时可以通过Github Copilot来调用,完美复刻。底层模型是基于Salesforce团队提出的CodeGen模型,有多种大小:350M、2B、6B、16B,支持多种常见的代码语言,最赞的是16B模型效果已超越Codex。

废话不多说,先上链接。

PaddleNLP/examples/code_generation/codegen at develop · PaddlePaddle/PaddleNLP (github.com)icon-default.png?t=M85Bhttps://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/code_generation/codegen

可以按照上述说明自行配置,简单又快捷。配置完成后,体验了一把,下面是效果,还不错。

 

另外看官方给的使用案例,还挺有趣的,可以直接拿来补全LeetCode算法题。针对LeetCode原题:求解无重复字符的最长子串的长度,通过下方代码调用并生成补全结果:

from paddlenlp import Taskflow

prompt = "def lengthOfLongestSubstring(self, s: str) -> int:"
codegen = Taskflow("code_generation", model="Salesforce/codegen-2B-mono", decode_strategy="greedy_search", repetition_penalty=1.0)
print(codegen(prompt))

得到的输出是:

        if not s:
            return 0

        start = 0
        end = 0
        max_len = 0

        while end < len(s):
            if s[end] not in s[start:end]:
                max_len = max(max_len, end - start + 1)
                end += 1
            else:
                start += 1

        return max_len

提交到LeetCode,竟然还通过了,不知道是不是巧合😂

另外,还发现几个亮点:

1. 该开源项目采用了FasterTransformer进行预测加速,在350M模型上,相对于HuggingFace加速比为10几倍!

        ​

2. 支持在用户自己的代码数据上进行微调,让Copilot更加懂用户。

参考

  1. https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/code_generation/codegen

  2. https://github.com/features/copilot/

  3. Nijkamp, Erik, et al. "A conversational paradigm for program synthesis." arXiv preprint arXiv:2203.13474 (2022)

Copilot是一款由GitHub开发的人工智能编码助手。它可以根据用户的输入提供代码片段和建议,以帮助程序员更高效地编写代码。在Pycharm中使用Copilot可以提高编码速度和质量。 要在Pycharm中使用Copilot,你需要先购买或申请认证GitHub学生账号。认证GitHub学生账户后,你就可以免费使用Copilot了。 关于Copilot的具体应用在Pycharm中,可以参考一些相关的文章,例如&quot;城南花开-copilot在pycharm的应用&quot;和&quot;vision_wang的csdn&quot;的文章。这些文章可能会提供关于如何在Pycharm中配置和使用Copilot的详细指导。 另外,如果你想申请Copilot X,你需要具备GitHub Copilot资格。虽然GitHub Copilot可以免费试用60天,但要获得Copilot订阅资格,你需要提供信用卡信息。这是为了保证服务的可靠性和订阅的有效性。<span class=&quot;em&quot;>1</span><span class=&quot;em&quot;>2</span><span class=&quot;em&quot;>3</span> #### 引用[.reference_title] - *1* *2* [copilot在Pycharm的应用](https://blog.csdn.net/vision666/article/details/123910031)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2&quot;}}] [.reference_item style=&quot;max-width: 50%&quot;] - *3* [【AIGC使用教程】GitHub Copilot 免费注册及在 PyCharm 中的安装使用](https://blog.csdn.net/youcans/article/details/130038408)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2&quot;}}] [.reference_item style=&quot;max-width: 50%&quot;] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值