Skip to content

Providers Overview

Django RAGKit features a modular provider architecture designed to decouple AI backend services from core business logic.


Provider Types

  1. LLM Providers (django_ragkit.providers.LLM): Responsible for taking the assembled context and query and producing an informed answer.
  2. Ollama LLM Provider (Local, zero-cost, private)
  3. OpenRouter LLM Provider (Cloud gateway to Claude, GPT-4, Llama 3, Gemini, Mistral)

  4. Embedding Providers (django_ragkit.providers.embeddings): Responsible for converting arbitrary text into fixed-dimension floating-point vector arrays.

  5. Ollama Embeddings (e.g. nomic-embed-text, bge-m3)
  6. OpenRouter Embeddings (e.g. baai/bge-m3, openai/text-embedding-3-small)

Factory Pattern

Providers are instantiated on-demand using factory functions based on your settings.RAGKIT configuration:

# Returns an instance of the configured LLM provider
from django_ragkit.providers.LLM.factory import get_LLM_provider
llm = get_LLM_provider()
answer = llm.generate_response(prompt)

# Returns an instance of the configured Embedding provider
from django_ragkit.providers.embeddings.factory import get_embedding_provider
embedder = get_embedding_provider()
vector = embedder.embed("How do I reset my password?")