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 许可证 授权。