ax() API
Structured generation APIs for typed programs.
Most Used
Ax.ax
Create an AxGen program from a string or parsed signature.
| Field | Value |
|---|---|
| Kind | function |
| Ax concept | ax |
| API section | AxGen |
| Form | Ax.ax(signature) |
| Returns | AxGen |
Important Options
functionsexamplesdemossample countresult pickermodelConfigmaxRetriesstreaming assertionsfield processorscontrolasyncMode
Examples
AxGen qa = Ax.ax("question:string -> answer:string");AxGen
Structured generation program with indexed multi-sampling, winner selection, forward, streaming, optimization, trace, usage, and tool-call behavior.
| Field | Value |
|---|---|
| Kind | type |
| Ax concept | AxGen |
| API section | AxGen |
| Form | new AxGen(signature) |
| Returns | program object |
Important Options
signaturefunctionsexamplesdemossample countresult pickermemoryprompt template
Ax.fn
Build a typed function tool. Rust uses tool because fn is reserved.
| Field | Value |
|---|---|
| Kind | function |
| Ax concept | fn |
| API section | Tools |
| Form | Ax.fn(name).description(...).arg(...).handler(...).build() |
| Returns | tool builder or Tool |
Important Options
namedescriptionargsreturnshandlerexecution: blocking or backgroundcancellation-aware handler
Examples
Tool search = Ax.fn("search").description("Search docs").build();Advanced / internals / full reference
Ax.runControl
Create a controller for scoped steering, reasoning updates, cancellation, and queued/applied lifecycle events. Pass it through forward options.
| Field | Value |
|---|---|
| Kind | function |
| Ax concept | run_control |
| API section | AxGen |
| Form | Ax.runControl() |
| Returns | AxRunControl |
Examples
var control = Ax.runControl();AxRunControl
Run control shared by active and future descendant programs. Cancellation reports unresolved work and does not undo external effects.
| Field | Value |
|---|---|
| Kind | type |
| Ax concept | AxRunControl |
| API section | AxGen |
| Form | AxRunControl |
| Returns | run controller |
Important Options
steerthinking token budgettarget pathabortevent listener
AxCachingFunction
TypeScript’s cachingFunction: read and store finished AxGen outputs by key. The forward call’s function comes first, then the program’s, then the process-wide one, and a run control skips the cache.
| Field | Value |
|---|---|
| Kind | type |
| Ax concept | AxCachingFunction |
| API section | AxGen |
| Form | Map<String, Object> apply(String key, Map<String, Object> value) |
| Returns | stored output or miss |
Important Options
readstoreSHA-256 keystreamed hit as one delta
Examples
AxGen qa = new AxGen(Ax.s("question:string -> answer:string"), Map.of("cachingFunction", cache));AxGlobals.setCachingFunction
Register, replace, or clear the process-wide AxGen caching function.
| Field | Value |
|---|---|
| Kind | function |
| Ax concept | set_caching_function |
| API section | AxGen |
| Form | AxGlobals.setCachingFunction(fn) |
| Returns | void |
Important Options
caching functionclear
Examples
AxGlobals.setCachingFunction(cache);Tool
Callable tool descriptor with JSON-schema-compatible parameters and a host handler.
| Field | Value |
|---|---|
| Kind | type |
| Ax concept | Tool |
| API section | Tools |
| Form | Tool |
| Returns | tool descriptor |
Important Options
parametersreturnshandler
Full Reference
Open the full Java reference. This page highlights the ax symbols most relevant to everyday use.