微信扫码
添加专属顾问
我要投稿
llamaindex推出Workflows 1.0框架,让AI应用编排更简单高效,支持异步优先和事件驱动架构。 核心内容: 1. Workflows 1.0框架的核心特点:异步优先、事件驱动、状态管理和可观察性 2. 主要应用场景:AI代理、文档处理、多模态AI、研究助理等 3. 实战示例:通过代码展示如何创建自定义工作流
llamaindex 最新发布Workflows 1.0轻量级编排框架,不用依赖llamindex本身。创建事件驱动型自定义代理工作流的方法。
Arize Phoenix
和OpenTelemetry
从盒子里出来。异步优先的事件驱动架构可以轻松构建在不同功能之间路由的应用程序,实现并行处理模式,在复杂序列上循环,并在多个步骤中保持状态。使您的AI应用程序生产就绪所需的所有功能。
import asyncio
from workflows import Context, Workflow, step
from workflows.events import Event, StartEvent, StopEvent
class MyEvent(Event):
msg: list[str]
class MyWorkflow(Workflow):
@step
async def start(self, ctx: Context, ev: StartEvent) -> MyEvent:
num_runs = await ctx.get("num_runs", default=0)
num_runs += 1
await ctx.set("num_runs", num_runs)
return MyEvent(msg=[ev.input_msg] * num_runs)
@step
async def process(self, ctx: Context, ev: MyEvent) -> StopEvent:
data_length = len("".join(ev.msg))
new_msg = f"Processed {len(ev.msg)} times, data length: {data_length}"
return StopEvent(result=new_msg)
async def main():
workflow = MyWorkflow()
# [optional] provide a context object to the workflow
ctx = Context(workflow)
result = await workflow.run(input_msg="Hello, world!", ctx=ctx)
print("Workflow result:", result)
# re-running with the same context will retain the state
result = await workflow.run(input_msg="Hello, world!", ctx=ctx)
print("Workflow result:", result)
if __name__ == "__main__":
asyncio.run(main())
StartEvent:表示编排状态的开始
StopEvent:表示编排状态的结束
Context:用于共享编排中每一步的信息
https://github.com/run-llama/workflows-py
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-27
Dify、n8n、Coze、Fastgpt、Ragflow到底该怎么选?超详细指南~
2025-05-27
19-LlamaIndexRAG进阶-文档切分与重排序
2025-04-22
LlamaIndex入门指南和RAG原理
2025-04-03
TypeScript版LlamaIndex来袭!用Agentic RAG构建智能AI代理,效率与隐私双提升!
2025-02-25
首发完整版教程,MCP 集成至 LlamaIndex 的技术实践
2025-01-11
LlamaIndex :企业级知识助理,万物可知
2024-12-26
深入了解 LlamaIndex 工作流程:事件驱动的 LLM 架构
2024-12-23
LlamaIndex工作流详解:提升数据处理效率的关键