Logbook Search Service (ARIEL)#
ARIEL (Agentic Retrieval Interface for Electronic Logbooks) provides intelligent search over facility electronic logbooks. It is built around a modular architecture with three main layers: a data ingestion pipeline that normalizes logbook entries from any facility into a common PostgreSQL schema, composable search modules such as keyword matching, semantic similarity, and RAG-powered question answering, and a web interface for interactive exploration. These components connect to the rest of Osprey through the logbook_search capability integration.
Every layer is designed to be facility-agnostic and extensible. Ingestion adapters, search modules, and enhancement stages are all registerable — you can implement your own and plug them into the full pipeline without modifying ARIEL’s source code. Out of the box, adapters are included for facilities such as ALS, JLab, and ORNL, and search strategies range from keyword lookup to a multi-step ReAct agent that chains searches autonomously.
ARIEL data flow: facility logbooks are normalized through pluggable adapters into a shared PostgreSQL database, enhanced by modular processing stages, and queried through composable search modules and pipelines.#
Prerequisites
ARIEL requires a working Osprey installation. Make sure you have the following ready before proceeding. See the Installation & Setup guide for detailed setup instructions.
Python 3.11+ with a virtual environment
Osprey installed:
pip install osprey-frameworkContainer runtime: Docker Desktop 4.0+ or Podman 4.0+ (for PostgreSQL and the web interface)
LLM API access: An API key for your configured provider (e.g.,
ANTHROPIC_API_KEY)(Recommended) Ollama — for local text embeddings powering semantic search:
brew install ollama ollama serve & # Start Ollama in the background ollama pull nomic-embed-text
curl -fsSL https://ollama.com/install.sh | sh ollama serve & # Start Ollama in the background ollama pull nomic-embed-text
Ollama is optional. ARIEL degrades gracefully to keyword-only search if Ollama or pgvector is unavailable. You can install them later and re-run
osprey ariel quickstartto enable semantic search.
Quick Start
The easiest way to get started is to create a new project from the
control_assistant template, which includes ARIEL pre-configured:
osprey init my-project --template control_assistant
cd my-project
This generates a ready-to-use config.yml with PostgreSQL, the ARIEL
web interface, and all search modules enabled — skip to Step 2.
Manual configuration (existing projects)
If you already have an Osprey project, add the following to your
config.yml:
# -- Deployed Services (add to existing list) --
deployed_services:
- jupyter
- postgresql # Required for ARIEL
- ariel_web # ARIEL web interface
# -- Container Configuration --
services:
postgresql:
database: ariel
username: ariel
password: ariel
port_host: 5432
ariel_web:
path: ./services/ariel-web
port_host: 8085
# -- ARIEL Search Configuration --
ariel:
database:
uri: postgresql://ariel:ariel@localhost:5432/ariel
search_modules:
keyword:
enabled: true
semantic:
enabled: true # Degrades gracefully if unavailable
provider: ollama
model: nomic-embed-text
pipelines:
rag:
enabled: true
retrieval_modules: [keyword, semantic]
agent:
enabled: true
retrieval_modules: [keyword, semantic]
enhancement_modules:
text_embedding:
enabled: true # Degrades gracefully if unavailable
provider: ollama
models:
- name: nomic-embed-text
dimension: 768
reasoning:
provider: cborg
model_id: anthropic/claude-haiku
Two commands bring everything up. The first run pulls container images, so it may take a few minutes depending on your internet connection and how many services you have configured.
Generate Docker Compose files from your config.yml, pull the
container images (PostgreSQL, ARIEL web UI, and any other deployed
services), and start them in the background with networking and volume
mounts:
osprey deploy up
Once the containers are running, connect to PostgreSQL, run database
migrations (creates tables, indexes, and the pgvector extension if
available), then ingest the demo logbook data and generate embeddings:
osprey ariel quickstart
Three ways to query the logbook. The web interface is the easiest way to explore during development; the CLI and agent are better for scripting and interactive sessions.
Open the ARIEL web UI, which provides a direct interface to the database and the full search service. Already running from Step 2.
Open http://localhost:8085 in your browser
Query the logbook service directly from the command line.
osprey ariel search "What happened with the RF cavity?"
Ask the Osprey agent. The logbook_search capability connects
the main agent with the ARIEL search service, so it can combine
logbook results with other context.
osprey chat
>>> What does the logbook say about the last RF cavity trip?
Learn More#
Facility adapters, enhancement pipeline, and database schema.
Keyword, semantic, RAG pipeline, and agent execution strategies.
Capability, context flow, prompt builder, and error classification.
FastAPI app, frontend architecture, capabilities API, and REST endpoints.
See Also#
- Built-in Capabilities
Built-in capabilities reference including
logbook_search- Prompt Customization
Logbook search prompt builder for facility-specific customization
- CLI Reference
CLI reference for all
osprey arielcommands