The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Documents · SKILL.md

rag-core

rag-core

Build and troubleshoot programmatic Kotaemon RAG pipelines with core components, documents, indexes, retrieval, reranking, QA, reasoning, and citations.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: rag-core description: "Build and troubleshoot programmatic Kotaemon RAG pipelines with core components, documents, indexes, retrieval, reranking, QA, reasoning, and citations." disable-model-invocation: true metadata: disco-role: operating license: Apache 2.0

Kotaemon RAG Core

Use this sub-skill when an agent needs to compose or debug Kotaemon's programmatic RAG layer: component graphs, document schemas, vector indexing/retrieval, reranking, evidence formatting, prompt templates, reasoning chains, QA output metadata, and citation traces.

Route elsewhere when the task is primarily:

  • App setup, .env, flowsettings.py, Gradio login, Docker, PDF.js, or migration operations: use app-deployment.
  • Model credentials, provider endpoints, local LLM servers, embedding model setup, reranker provider setup, or GraphRAG provider toggles: use model-providers.
  • Loading/parsing/splitting source files, OCR, table extraction, or parser optional dependencies: use document-ingestion.
  • ktem app extensions, custom pages, flow registration, templates, or plugin UI work: use extensions.

Start Here

  1. Identify the layer: schema/component contract, indexing, retrieval, reranking, QA/citation, prompt/reasoning, or storage abstraction.
  2. Use references/api-reference.md for class contracts and import paths.
  3. Use references/rag-workflows.md for composition patterns and metadata-preserving examples.
  4. Use references/troubleshooting.md for common failure modes before changing provider or ingestion code.
  5. Run scripts/inspect_pipeline_components.py --repo-root <repo> when source or environment drift is suspected.

Core Mental Model

  • BaseComponent is the composable unit. Implement run(...); call components directly with component(...) for normal execution. invoke, stream, and async variants exist for components that implement them, but run is the common subclass contract.
  • Document carries content, text, metadata, optional source, and optional channel. RetrievedDocument extends it with score and retrieval_metadata.
  • VectorIndexing embeds documents, writes vectors to a BaseVectorStore, and optionally stores full Document objects in a BaseDocumentStore.
  • VectorRetrieval embeds the query, fetches ids/scores from the vector store, loads documents from the docstore, returns RetrievedDocument objects, and can apply rerankers.
  • QA flows convert retrieved documents to evidence text, generate answers, and attach metadata such as citation, qa_score, mindmap, and citation_viz.

Difficult Cases

  • Low-confidence cited answer: trace RetrievedDocument.score, retrieval_metadata, reranker output, qa_score, and citation spans through references/rag-workflows.md; route provider scoring failures to ../model-providers/SKILL.md and parser evidence gaps to ../document-ingestion/SKILL.md.
  • Custom component pipeline loses metadata: check the BaseComponent.run(...) boundary, preserve Document.metadata when transforming chunks, and use scripts/inspect_pipeline_components.py to confirm the expected schema/index classes are present.

Bundled References

  • references/api-reference.md - core classes, import paths, method contracts, and metadata expectations.
  • references/rag-workflows.md - indexing/retrieval/QA wiring patterns, prompt and reasoning usage, and safe introspection.
  • references/troubleshooting.md - provider object, embedding/vectorstore mismatch, empty retrieval, metadata loss, citation confidence, prompt variables, missing reranker, and call-style failures.

Bundled Script

python skills/kotaemon/sub-skills/rag-core/scripts/inspect_pipeline_components.py --repo-root <repo-root>

The inspector attempts import-light discovery for key Kotaemon modules, then falls back to AST parsing if imports fail because optional provider dependencies are absent. It reports public classes/functions, base classes, method names, signatures when available, and the discovery mode used per module.

Saved skills