使用tranformers.js的JupyterLab内联补全提供者。
项目描述
jupyterlab-transformers-completer
使用transformers.js
为JupyterLab提供内联补全。
此扩展旨在为JupyterLab扩展的开发者(和高级JupyterLab用户)探索JupyterLab 4.1中添加的内联补全API的集成。
此演示中链接的所有模型仅在您的浏览器中运行,
- 比最先进模型的数量级小得多,
- 因此建议/答案的准确性较低。
这些模型未经过准确性或适宜性的审查,不应在没有进一步验证的情况下部署。
用法
- 前往设置 → 内联补全 → 选择代码(在代码单元格和脚本中)和文本(在Markdown单元格和平文文件中)生成的模型。
- 模型将被下载、编译并缓存到您的浏览器中,底部右角的弹出通知中会有指示。
- 在代码单元格或Markdown单元格中键入几个单词并观察建议;悬停以查看快捷方式。
- 根据需要调整设置中的模型配置;特别是建议增加重复惩罚、调整温度和顶部 k。
已知问题
- 有时需要在安装后进入设置并修改设置以触发模型下载和编译。
- 有时浏览器会缓存一个损坏的文件(例如未完全下载的文件),导致解析时出现语法错误;您可以尝试在隐身/私密模式下确认这是暂时的,并清除浏览器缓存以删除此类文件。
要求
- JupyterLab >= 4.1.0 或 Jupyter Notebook >= 7.1.0
- 支持
SharedArrayBuffer
- Web Workers
- 为工作者动态导入(在Firefox中的
dom.workers.modules.enabled
后面) - (可选,用于更快的推理)WebGPU(在Firefox中的
dom.webgpu.enabled
后面)
jupyter-server
以启用附加头信息(jupyverse
和jupyterlite
尚未测试)
当此扩展启用时,服务器将返回附加头信息,这将防止获取外部资源,例如GitHub中的扩展徽标将不再在扩展面板中加载。
附加头信息用于通过 SharedArrayBuffer
启用与 WebWorker 的同步通信
Cross-Origin-Opener-Policy: same-origin,
Cross-Origin-Embedder-Policy: require-corp
安装
要安装扩展,请执行
pip install -U 'jupyterlab>=4.1.0' jupyterlab-transformers-completer
卸载
要删除扩展,请执行
pip uninstall jupyterlab-transformers-completer
贡献
开发安装
注意:您将需要 NodeJS 来构建扩展包。
jlpm
命令是 JupyterLab 的固定版本 yarn,它随 JupyterLab 一起安装。您可以使用 yarn
或 npm
替代下面的 jlpm
。
# Clone the repo to your local environment
# Change directory to the jupyterlab-transformers-completer directory
# Install package in development mode
pip install -e "."
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm build
您可以在不同的终端中同时监视源目录并运行 JupyterLab,以监视扩展源的变化并自动重新构建扩展。
# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab
当监视命令运行时,每个保存的更改将立即在本地上构建并可供您运行的 JupyterLab 使用。刷新 JupyterLab 以在浏览器中加载更改(您可能需要等待几秒钟以重新构建扩展)。
默认情况下,jlpm build
命令为此扩展生成源映射,以便更容易使用浏览器开发工具进行调试。要为 JupyterLab 核心扩展也生成源映射,可以运行以下命令
jupyter lab build --minimize=False
开发卸载
pip uninstall jupyterlab-transformers-completer
在开发模式下,您还需要删除由 jupyter labextension develop
命令创建的符号链接。要找到其位置,可以运行 jupyter labextension list
以确定 labextensions
文件夹的位置。然后您可以在该文件夹中删除名为 @jupyterlab/transformers-completer
的符号链接。
打包扩展
参见 RELEASE
项目详情
jupyterlab_transformers_completer-0.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9bdb4352ccbb95b1222d8a7c36c0fea778f191fdb0958ff0691164da57437fbb |
|
MD5 | dda7024376f0d41c04eb3b4a7d26325f |
|
BLAKE2b-256 | 8a0b48844fd53bc5132e73d04f47e0fd55943ae83975a16a3015cc2909b113ae |
jupyterlab_transformers_completer-0.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00c1c73b1c49506c83809c30501de19b50066b4dc38e2320d59512aecbb192cf |
|
MD5 | df475462ab66ad928420386bca996075 |
|
BLAKE2b-256 | 9725ebce5ec8c42fef4745c019d9b64f54bdd1b2e52f297d371fe3e96fca25e6 |