This document describes the major components of BaseModel and the responsibility of each component.
The discovery layer finds sources that may contain useful AI model data.
Examples include provider sites, model catalogs, documentation pages, and benchmark sources.
In this repository, discovery is implemented through gateway and provider collectors in packages/collectors.
The registry layer stores canonical records after validation and normalization.
It is the source of truth for providers, models, capabilities, pricing, licenses, APIs, and benchmark records.
In this repository, the registry layer lives in packages/registry.
The intelligence layer derives search, alternatives, and cost information from registry data.
It does not modify canonical records.
In this repository, the intelligence layer lives in packages/intelligence.
The publishing layer converts registry and intelligence data into public datasets.
In this repository, the publisher writes static JSON outputs to dist/.
@basemodel/schemadefines canonical schemas and types.@basemodel/registryreads, writes, and validates registry files.@basemodel/collectorsdiscovers and collects gateway data.@basemodel/intelligencecomputes derived model intelligence.@basemodel/publishergenerates the public datasets.@basemodel/cliexposes the intelligence layer from the terminal.
BaseModel intentionally does not include:
- Inference runtimes
- GPU execution
- Chat interfaces
- Prompt management
- Runtime orchestration
- Model hosting
These systems consume BaseModel data. They are not part of BaseModel itself.
Architecture describes the components. The pipeline describes the order in which data moves through those components.
| Pipeline Stage | Architecture Layer |
|---|---|
| Discovery | Discovery Layer |
| Collection | Discovery Layer |
| Validation | Registry Layer |
| Normalization | Registry Layer |
| Registry | Registry Layer |
| Intelligence | Intelligence Layer |
| Generation | Publishing Layer |
| Publication | Publishing Layer |
The architecture should remain stable even if implementation details, libraries, or infrastructure change.