Branch, loop, and run work in parallelYou keep important branches, loops, and parallel work under application control. The model handles typed steps instead of improvising the orchestration plan.cppacademyacademy/topics/flow-controlwebsite/content-src/academy/course.mjsacademyBranch, loop, and run work in parallel
You keep important branches, loops, and parallel work under application control. The model handles typed steps instead of improvising the orchestration plan.
9 focused minutesNot started
Unit example (nearest native match)
See the idea in context
auto step = axllm::ax("request:string -> route:class \"support, sales, engineering\"");
auto program = axllm::flow(axllm::object({{"id", "supportRouter"}}))
.execute("classify", step)
.returns(axllm::object({{"route", "classify"}}));
Run itIn your own project
include(FetchContent)
FetchContent_Declare(axllm GIT_REPOSITORY https://github.com/ax-llm/ax GIT_TAG main SOURCE_SUBDIR packages/cpp)
FetchContent_MakeAvailable(axllm)
target_link_libraries(your_app PRIVATE axllm::axllm)
#include <axllm/axllm.hpp>
auto llm = axllm::ai("openai", axllm::object({{"apiKey", std::getenv("OPENAI_API_KEY")}}));
auto classify = axllm::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 -- cpp src/examples/cpp/flows/branch_flow.cpp