ratel-ai-core is Ratel's Rust retrieval engine. Register tool, skill, or fact metadata once, then rank the catalog for each agent turn. Tools and skills are pulled on relevance; facts are constant grounding content the higher layers push into the context, always-on or retrieval-gated. BM25 is the model-free default; semantic and hybrid retrieval use either an in-process model or a configured OpenAI-compatible embedding endpoint. The retrieval engine and cache stay in-process, with no vector database or Ratel service to deploy.
Every catalog entry can set the experimental experimental_searchable_description independently of its model-facing description or payload. When set, it replaces only that component while name and skill/fact tags remain searchable; opted-in tool schemas are not indexed. When unset, stable behavior is unchanged: tools rank their description and schema tokens, while skills and facts rank their description. This API may change or be removed before graduation.
This crate owns retrieval and its local trace stream. Tool execution, MCP connections, and authentication integrations live in the SDK and local distribution.
Install
Quickstart
Add this to src/main.rs, then run cargo run:
use ;
Package layout: src/ holds the retrieval and trace engine, including embedding_artifact.rs (wire format / merge) and artifact_warm.rs (miss policy and warm errors) for build-time dense-cache warming (ADR 0018); artifact persistence is host-owned and the core artifact APIs accept/return bytes with no artifact filesystem I/O. examples/ contains runnable demos, and tests/ covers integration behavior.
From a repository checkout, run cargo test -p ratel-ai-core or cargo run -p ratel-ai-core --example search_demo.
Continue with tool retrieval, the Rust API reference, or the source repository. Benchmark results are maintained separately in ratel-ai/ratel-bench.