我可以在 jupyter-lab/notebook 上使用 github-copilot strait 吗?

aap*_*tel 36 jupyter jupyter-notebook jupyter-lab github-copilot

我通过远程 jupyter 服务器做了很多事情。我一直在使用 vscode 在这些服务器上运行笔记本,因为这是我在使用 copilot 时找到的最简单的开发方法,但它变得相当麻烦,并且希望有一个更简单的解决方案。

感谢你们提供的任何帮助!

Mat*_*rla 14

不是答案,但评论太长了。

截至 2022 年中期,似乎还没有实施。

Copilot 使用底层工具 OpenAI Codex,它有一个名为 的模型codex-davinci-002,可以完成代码补全。 https://beta.openai.com/docs/models/codex-series-private-beta (值得注意的是,OpenAI 还有一个令人困惑的模型text-davinci-002,它将自然语言转换为代码,这不是我们想要的)。它是免费的,但有一个测试版等待名单。jupyterlab 对此进行了尝试,称为jupyterlab-codex. 考虑到搜索结果,它可能在某个时刻起作用,例如。https://medium.com/codex/jupyter-notebook-can-do-that-b3185058fe76。因此,除了“Jupyter + copilot”之外,还需要注意“Jupyter + Codex”。

编辑Jupyter Lab 最近有几个基于 GPT3 的代码完成工具,但是,据我发现,它们不如 Copilot 好,甚至有点奇怪。Copilot 确实有一个烦恼,Tab 键用于接受 Copilot 建议和 PyCharm 的建议以及添加空格。在 Jupyter Lab 选项卡中提供了一个带有选择元素的工具提示,这似乎工具Tabninekite干净地使用了它,但不会超出变量完成范围。假设您编写了一个简单的案例def convert_centimetres_to_inches(centimetres:float) -> float:,在 Copilot 3-4 中,文档字符串也会建议正确的行,但我尝试过的 jupyterlab 克隆中的情况并非如此,即使是 2.6 因子也不能强制建议。

  • emacs 有一个开源实现(https://github.com/zerolfx/copilot.el),因此它是可行的。 (2认同)
  • 在 GitHub 中,@partththakkar 对 Copilot 前端进行了详细的细分,https://thakkarparth007.github.io/copilot-explorer/,这可能是制作 Copilot 插件的一个很好的起点。笔记本 ipynb 文件只是一个简单模式中的 JSON,jupyterlab 扩展经常需要 nodeJS,所以我同意它是可行的,尽管需要相当多的编码。然而,律师令人恐惧、烦人且莫名其妙地缓慢,因此在冒险进入这一领域之前,需要与 GitHub 达成谅解备忘录,以免在编写 20-50,000 行代码(其中许多是 JS)后收到停止令。 (2认同)