eino 源码结构
2025-08-11 15:18:40 0 举报
AI智能生成
eino 源码结构
作者其他创作
大纲/内容
Eino 主体
Components
Components 在主体中只提供了接口定义,具体的实现基本都在Ext 扩展中
它把大模型常用的组件全部抽离,让整个框架可以像搭积木一样,快速搭建
编排
Graph
基于 Graph 模型 (node + edge) 的,以组件为原子节点的,以上下游类型对齐为基础的编排,本质上依然是AOP的思想。
编排的设计理念
上下游类型对齐,通过使用泛型,使一个阶段的产物成为下一个阶段的输入。
一些问题
外部变量赋值,这一条遵循Go的设计理念
扇入与合并
流式处理
全局状态
compose.WithGenLocalStat
类似与Context的思想,可玩性更高
并发安全
回调注入
在Callback中详细展开
Option 分配
嵌套
内部机制
执行时序
垂直方向上,以正常业务逻辑执行
水平方向上,以AOP切面的方式执行
运行引擎
pregel
有向有环图
当前执行中的一个或多个节点,所有的后序节点,作为一个 SuperStep,整体一起执行。
支持 Branch,支持图中有环,但是可能需要人为添加 passthrough 节点,来确保 SuperStep 中的节点符合预期
dag
有向无环图
每个节点有确定的前序节点,当所有前序节点都完成后,本节点才具备运行条件,所以不能有环。
支持 Branch。在运行时,将 Branch 未选中的节点记为已跳过,不影响 AllPredecessor 的语义。
不需要手动对齐 SuperStep。
流式编程
Invoke
Ping-Pong 模式
输入非流式、输出非流式
Stream
Server-Streaming 模式
输入非流式、输出流式
Collect
Client-Streaming
输入流式、输出非流式
Transform
Bidirectional-Streaming
输入流式、输出流式
接口能力
Callback
横切面功能注入
中间状态透出
CallOption
Graph 的全局入参
Chain
可以认为是简化版的Graph,简单场景下比较常用
Workflow
功能和Graph类型,功能更强大
输入输出类型更灵活
控制流和数据流分离
Coze-Studio 就是使用的这个方式
Flow 快速集成
React Agent
参考:https://react-lm.github.io/
简而言之,就是模型自己判断需要哪些工具辅助自己
Host Multi-Agent
Host 做意图识别后,跳转到某个专家 agent 做实际的生成。
ADK
2025年8月才推出,参考的Google-ADK ,目前没有可以分享的案例
DEV
可视化编排工具
辅助编排和测试用的
Goland 和 VSCode 都有插件
Eino Ext扩展
Tool
bing
browseruse
Commandline
Google
httprequest
sequentialthinking
wikipedia
DuckDuckGoSearch
MCP
Document Loader
loader
amazon S3
web url
local file
parser
html
pdf
ChatModel
支持市面上常见LLM
Indexer
es8
redis
milvus
volc VikingDB
Retriever
除了上述Indexer 的4个之外
dify
volcknowledge
Embedding
ollama
dashscope
qianfan
tencentcloud
ark
OpenAI
Transformer
markdown,基于MD标题分割
semantic,基于固定长度或者分隔符分割
recursive,基于规则过滤
未来,可能需要添加一个语义判断的、更高级的方式
Lambda
Tolist
MessageParser
Eino 第三方扩展
目前,尚未支持第三方扩展。根据字节开源团队的设计思路,一定会在后续版本中集成更多的组件,满足工程化的需要。
0 条评论
下一页