Extras model¶
AutoRAG’s install extras gate which methods you can call. The base
install only carries typer + pydantic + langchain-{core,ollama}.
Methods → extras¶
Method |
Extras needed |
Purpose |
|---|---|---|
|
Whisper + diarization → |
|
|
LLM topic extraction on a pre-computed transcript →
|
|
|
The combined Whisper + topics |
|
|
N-second time-bucketed transcript view. Cache reads need only
|
|
|
Write clip row + word spans to SQLite. |
|
|
Persist topic tree + embed topic titles into Chroma. |
|
base |
Document RAG: load → chunk → embed → store. |
|
base |
Retrieve + generate over the ingested corpus. |
Extras → modules¶
Extra |
Modules that import it |
Adds |
|---|---|---|
|
|
whisperx, torch, imageio-ffmpeg |
|
pyannote.audio, huggingface-hub |
|
|
|
yt-dlp |
|
|
chromadb, umap-learn, scikit-learn, numpy, pydantic_sqlite |
|
fastapi, uvicorn[standard] |
|
|
|
pika |
|
— |
union of the above |
The contract¶
A new method on AutoRAG must decide up-front
which extra(s) it needs and follow the existing pattern: do the heavy
import inside the method body, catch ModuleNotFoundError, and
re-raise via autorag.errors._missing_extra() with the extras
string. Heavy imports at module top in any of core.py,
embed.py, __init__.py, store.py, or audio_source.py
will fail the CI test-base job.
MissingExtraError is a subclass of
ImportError, so callers that want a single except for
“AutoRAG isn’t fully installed” can catch ImportError.