What AI leaves out, and what to use instead
Some things you might expect aren't part of Jadpo's AI support. Each row says what to do instead.
| Left out | Why | Instead |
|---|---|---|
| Training and fine-tuning | Needs GPUs, datasets and long jobs, none of which a request does | A package or outside service trains; the app calls the result by ModelId |
| Tool calling, agent loops and agent frameworks | A model choosing which actions run needs a design for policy, idempotency and budgets per step; typed generate covers extracting, classifying and drafting |
A package; code acts on the typed answer |
| Images, audio and files in prompts | ChatMessage content parts are refused (AI types); each provider differs |
A package's own operations |
| Partial objects while streaming | A half-written value can't be validated | stream for text, generate for values |
| Provider batch APIs | Answers arrive hours later; needs polls and resumable state | Batches over generate; later with polls |
| Guessing redaction of free text | Detectors miss things and give false assurance | The prompt type, the category list, to_models: false |
| Token usage returned to code | Budgets and jadpo ai usage cover cost control |
A Generated<T> form when an app bills its own users by usage |
| Answer caching (semantic caches) | One person's answer served to another; holds personal data | Recordings in tests; nothing in production |
| Vector stores other than pgvector | A second store to run, back up and erase from | A hosted vector database is a package's own operations |
| Hybrid search (text and vector ranked together) | Needs the search capability first | Two queries merged in code; later with search |
| IVFFlat indexes | Need data present when built | HNSW |
| A prompt per locale | Models write in the language they are told | A Locale placeholder |
| Evaluations against a real model | Slow, costly and not deterministic, so not a test | Later: jadpo ai eval over recorded cases, run by hand or on a schedule, as contract runs are |
| Falling back to a second provider | Left until an app asks, as for every connection | One ai connection |
| Temperature and sampling settings | Newer models restrict them, and they differ by provider | The provider's defaults |
The design notes say more about each choice (AI: design notes).
Markdown for agents: /docs/ai-left-out.md.Built from Jadpo main at a707efb.