Skip to content

difizen/libro

Repository files navigation

libro

Code: CI codecov License: MIT

⚡ 大模型时代的 notebook 产品方案⚡

  • 定义大模型工作流,内置大模型交互和辅助开发能力。
  • 更优雅的交互体验,兼容 jupyter notebook。
  • 方便集成和扩展,全面模块化设计。

如何使用

您需要安装 libro-server 来体验完整的 libro 能力。

Prompt cell

您可以在自己的工作流中使用 prompt cell,快速完成与大模型的交互,生成的结果也可以在上下文中继续访问。

image

lab 研发环境

image

如何集成

libro 是完全模块化的,您可以自由选择 libro 提供的原生能力模块,也可以选择增加自定义模块来完成二次开发,模块化研发方案您可以通过 mana 来了解。

您可以根据自己的需求组装不同的模块,构建自己的 notebook 产品。例如仅因为编辑器相关的模块继承到 IDE 或其他研发环境中,或者引入更多模块来组成 lab 形态的产品。

您至少需要安装 jupyter-server 来支持 libro 运行,此时您可以使用 jupyter notebook 的能力,如果需要使用更多 libro 定义的能力,您需要安装 libro-server。

编辑器

image

模块

通常用户只需要引入 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 视图嵌入到任意位置。

架构

image

贡献代码

请查阅 CONTRIBUTING.md

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages