Skip to content

Latest commit

 

History

History
54 lines (29 loc) · 2.39 KB

README.zh_CN.md

File metadata and controls

54 lines (29 loc) · 2.39 KB

Eino

English | 中文

概括

Eino['aino] (近似音: i know) 旨在提供 Golang 语言的 AI 应用开发框架。 Eino 参考了开源社区中诸多优秀的 AI 应用开发框架,例如 LangChain、LangGraph、LlamaIndex 等,提供了更符合 Golang 编程习惯的 AI 应用开发框架。

Eino 提供了丰富的辅助AI应用开发的原子组件、集成组件、组件编排、切面扩展等能力,可以帮助开发者更加简单便捷地开发出架构清晰、易维护、高可用的AI应用。

框架特点

  • 丰富的组件

    将多场景普遍使用的能力,抽象成可独立使用、可编排使用的组件,开箱即用。例如 ChatModel、PromptTemplate、Retriever、Loader 等。

    组件又可细分为:功能不可细拆的原子组件、由一到多中组件以某种范式组合而成的集成组件。

  • 易用的图编排

    将各组件实例,作为图的节点,以图的点边关系连接,以边的方向逐步执行节点并传输数据流,将AI应用的逻辑以图的方式进行编排和执行。

    图编排可极大简化 并行异步 逻辑的开发,并优化其代码结构

  • 完善的流处理

    根据输入、输出是否为流式,可划分成 4 种交互模式。 图编排可根据上下游节点的输入、输出是否是流,自动进行 流 和 非流 的转换,极大地方便开发者对AI应用提供流的能力

    函数名 模式说明
    Invoke 输入是非流、输出是非流
    Stream 输入是非流、输出是流
    Collect 输入是流、输出是非流
    Transform 输入是流、输出是流
  • 高扩展性的切面

    图编排为图、节点的执行前后提供切面的注入、执行机制。开发者可基于此机制,在不侵入主流程的前提下,灵活地设计和注入自己的切面能力。例如 Trace、埋点、日志等

详细文档

// TODO:链接用户手册等文档

安全

如果你在该项目中发现潜在的安全问题,或你认为可能发现了安全问题,请通过我们的安全中心漏洞报告邮箱通知字节跳动安全团队。

不要创建公开的 GitHub Issue。

开源许可证

本项目依据 Apache-2.0 许可证 授权。