AI Architecture

AI Models in Use

Per-task model selection across Aiske (customer-facing) and the Internal AI Agent. Sourced from aiske/config/llm_configs.yml and the Internal AI Agent's src/config/parameters/app.yml.
Customer-facing AI

Aiske

Cost-tiered model selection: Claude Sonnet 4.5 for anything that needs to reason or generate code (supervisor, SQL, synthesis, feedback), Amazon Nova Lite for cheap focused extractions, Nova Pro for general vision, and Gemini specifically for structured-output OCR work where it currently outperforms Bedrock options.

TaskModelProvider
Supervisor · Orchestrator · Synthesizer · Default chat eu.anthropic.claude-sonnet-4-5-20250929-v1:0 Bedrock EU
Database SQL generation eu.anthropic.claude-sonnet-4-5-20250929-v1:0 · temp 0.1 Bedrock EU
Feedback analyzer · Report synthesizer eu.anthropic.claude-sonnet-4-5-20250929-v1:0 Bedrock EU
RAG extractor eu.amazon.nova-lite-v1:0 · temp 0.3 Bedrock EU
Weather · Semantic processor · Conversation compactor · Search extractor · Satisfaction analyzer eu.amazon.nova-lite-v1:0 Bedrock EU
Evaluation judge eu.amazon.nova-2-lite-v1:0 · temp 0.0 Bedrock EU
OCR vision base eu.amazon.nova-pro-v1:0 Bedrock EU
OCR extractor · OCR validator gemini-3-pro-preview Gemini direct
OCR type guesser · Visualisation (charts) gemini-2.5-flash-lite Gemini direct
Embeddings amazon.titan-embed-text-v2:0 Bedrock
Fallback policy — On 503 errors, EU regional models automatically fall back to their global counterparts. eu.anthropic.claude-sonnet-4-5global.anthropic.claude-sonnet-4-5; same pattern for Nova Pro and Nova Lite.

Internal AI Agent

Direct Anthropic API via langchain-anthropic only. Despite langchain-aws being in pyproject.toml, Bedrock isn't called from supervisor.py — the AWS path is dormant and a candidate for cleanup.

ConfigurationModelProvider
Default model claude-sonnet-4-5 · temp 0.1 Anthropic direct
User-selectable · 🐇 Haiku (fast) claude-haiku-4-5-20251001 Anthropic direct
User-selectable · ⚡ Sonnet (smart) claude-sonnet-4-5 Anthropic direct

Provider reference

Official documentation and model pages for everything in use above.

Notes & observations

  • Both apps are on Sonnet 4.5 (released 2025-09-29). Anthropic has since shipped 4.6 and 4.7 — both are upgrade candidates once 4.7 has soaked. Sonnet 4.5 is well-validated for production and the deliberate stability choice today.
  • EU residency for customer-facing inference. All Aiske calls use eu.* Bedrock model IDs to keep customer data inside the EU; the cross-region fallback only kicks in on 503s and goes to global.* versions of the same models.
  • Why Gemini for OCR. Gemini 3 Pro Preview is currently the strongest structured-output extractor for the document types Aiske sees (herd registers, passports, dockets). The two-pass split (3 Pro for extract/validate, 2.5 Flash Lite for type-guess) keeps cost down on the cheap step.
  • The Internal AI Agent's langchain-aws dependency is dormant. The supervisor is wired to ChatAnthropic directly. The Bedrock route is in pyproject.toml but never invoked at runtime — fair game for the next dependency cleanup pass.
  • Slack model dropdown UI in the Internal AI Agent is dead code now that Slack is retired as its surface. The user-selectable Haiku/Sonnet picker is a Slack message UI feature; Claude (via the MCP) doesn't expose it. Same cleanup pass should remove slack-bolt, src/services/slack/, and src/config/parameters/slack.yml.