当前位置:   article > 正文

如何搭建免费的GitHub Copilot?_免费github colipolt

免费github colipolt

前不久,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原题:求解无重复字符的最长子串的长度,通过下方代码调用并生成补全结果:

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

得到的输出是:

  1. if not s:
  2. return 0
  3. start = 0
  4. end = 0
  5. max_len = 0
  6. while end < len(s):
  7. if s[end] not in s[start:end]:
  8. max_len = max(max_len, end - start + 1)
  9. end += 1
  10. else:
  11. start += 1
  12. return max_len

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/347793
推荐阅读
相关标签