⚡ 大模型时代的 notebook 产品方案⚡
- 定义大模型工作流,内置大模型交互和辅助开发能力。
- 更优雅的交互体验,兼容 jupyter notebook。
- 方便集成和扩展,全面模块化设计。
您需要安装 libro-server 来体验完整的 libro 能力。
您可以在自己的工作流中使用 prompt cell,快速完成与大模型的交互,生成的结果也可以在上下文中继续访问。
libro 是完全模块化的,您可以自由选择 libro 提供的原生能力模块,也可以选择增加自定义模块来完成二次开发,模块化研发方案您可以通过 mana 来了解。
您可以根据自己的需求组装不同的模块,构建自己的 notebook 产品。例如仅因为编辑器相关的模块继承到 IDE 或其他研发环境中,或者引入更多模块来组成 lab 形态的产品。
您至少需要安装 jupyter-server 来支持 libro 运行,此时您可以使用 jupyter notebook 的能力,如果需要使用更多 libro 定义的能力,您需要安装 libro-server。
通常用户只需要引入 libro-jupyter
模块即可,该模块包含了 notebook 常用的模块。用户可以通过增加自定义模块来完成个性化定制需求。
非 jupyter 场景用户可以选择在 libro-core
模块的基础上,有选择的引入其他模块,以满足自己的需求定制。
- 内核:定义基础交互,提供可扩展单元格和输出规范。
- kernel:提供面向 jupyter 服务的 API,提供 session 和 kernel 通信封装。
- prompt cell:大模型对话能力。
- markdown cell:基于 codemirror 的 markdown 单元格。
- code cell:基于 codemirror 的 code 单元格。
- raw cell:基于 codemirror 的 raw 单元格。
- 输出:内置支持多种输出类型。
- mime 渲染:提供多种 mime 渲染器,支持自定义渲染器。
- 大纲:提供基于 markdown 和输出区的大纲能力。
- 全文搜索:提供对单元格编辑区域和输出区域的全文搜索能力,支持自定义提供搜索能力。
- 本地化:提供多语言支持。
- jupyter:面向 jupyter 服务的预设模块。
import { ManaComponents } from '@difizen/mana-app';
import { LibroJupyterModule } from "@difizen/libro-jupyter";
<ManaComponents.Application
modules={[LibroJupyterModule]}
renderChildren
>
<LibroComponent options={{ id: 'identify' }} />
</ManaComponents.Application>
- Application: mana 上下文容器,建议放在应用的外层,多个 libro 示例可以共享上下文。
- LibroComponent:libro 视图组件,可以将 libro 视图嵌入到任意位置。
请查阅 CONTRIBUTING.md