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