Expand description
The extraction kit — Extract records with deterministic recognizers.
An Extract record declares typed fields, each filled by a Recognizer
that reads the conversation transcript on the CPU — no model, no network, no
accelerator. It compiles to a TurnExtractor (so it plugs into the
existing extraction pipeline) and promotes recognized fields into governed
State, where Flow guards (done(captured([...]))) and repair read them.
This is the deterministic, transcript-sourced slice of the kit (see the
extraction-kit RFC). LLM / fetch / MCP / agent resolvers and the
#[derive(Extract)] macro layer on top of this same record model.
use gemini_adk_rs::extract::{Extract, Recognizer};
let order = Extract::record("order")
.field("quantity", Recognizer::integer())
.field("item", Recognizer::one_of(["pizza", "salad", "soda"]))
.field("confirmed", Recognizer::yes_no())
.window(3)
.build();Structs§
- Extract
- A declarative extraction record: typed fields filled by recognizers and/or async resolvers.
- Extract
Builder - Builder for an
Extractrecord. - Field
- A field in an
Extractrecord. - Record
Extractor - A
TurnExtractorthat runs anExtractrecord’s recognizers and resolvers, and promotes the recognized fields into state.
Enums§
- Recognizer
- A deterministic transcript recognizer:
text -> (value, confidence).