Understand the genai crate structure
mainThe genai crate is organized into several key modules:
genai::adapter: ContainsAdapterKindand logic for adapter dispatch.genai::chat: Handles chat interactions (ChatRequest,ChatResponse,ChatStream,Tools, etc.).genai::chat::printer: Provides theprint_chat_streamutility for displaying streams.genai::embed: Handles embedding requests and responses (EmbedRequest,EmbedResponse).genai::resolver: Manages authentication and routing (AuthData,AuthResolver,Endpoint,ProviderConfig,ModelMapper,ServiceTargetResolver,Headers).genai::webc: Containswebc::Errorand internal web client logic.- Flattened Exports: The following are available directly from the crate root:
Client,ClientBuilder,ClientConfigModelIden,ModelNameModelSpec,ServiceTarget,Headers,WebConfigError,Result,BoxError