Turn a workflow into a reusable toolYou can expose a flow as a tool, trace it, wait on an owned continuation, and optimize its components. The shared optimizer tunes the flow without a separate flow-only API.rustacademyacademy/topics/flow-operationswebsite/content-src/academy/course.mjsacademyTurn a workflow into a reusable tool
You can expose a flow as a tool, trace it, wait on an owned continuation, and optimize its components. The shared optimizer tunes the flow without a separate flow-only API.
8 focused minutesNot started
Unit example (nearest native match)
See the idea in context
let step = ax("request:string -> route:class \"support, sales, engineering\"")?;
let program = flow("supportRouter")
.execute("classify", step)
.returns(json!({"route": "classify"}));
Run itIn your own project
cargo add axllm
use axllm::{ai, ax};
use serde_json::json;
let llm = ai("openai", json!({"apiKey": std::env::var("OPENAI_API_KEY")?}))?;
let classify = ax("review:string -> sentiment:class \"positive, negative, neutral\"")?;
Set OPENAI_APIKEY in your environment before running provider-backed code.
In the ax repo
From a clone of the ax repo:
npm run example -- rust src/examples/rust/flows/branch_flow.rs