Modelul de embeddings pentru RAG în Open WebUI & RAG Local

Modelul de embeddings transformă fragmentele de document și întrebările în vectori; implicit Open WebUI rulează local sentence-transformers/all-MiniLM-L6-v2, dar poate folosi un model din Ollama, OpenAI sau Azure OpenAI, iar orice schimbare cere reindexarea.

Configurare & comandă
Settings > Admin > Documents > Embedding Model Engine (Default (SentenceTransformers) / Ollama / OpenAI / Azure OpenAI) + Embedding Model

Setarea este în Settings > Admin > Documents. Embedding Model Engine lăsat pe „Default (SentenceTransformers)” rulează modelul în containerul Open WebUI, pe placa video cu imaginea :cuda. Modelul implicit, sentence-transformers/all-MiniLM-L6-v2, produce vectori de 384 de dimensiuni și trunchiază textul de peste 256 de word pieces, conform cardului lui. Se poate alege orice model sentence-transformers de pe Hugging Face, de exemplu BAAI/bge-m3, multilingv (peste 100 de limbi, texte de până la 8192 de tokeni, vectori de 1024 de dimensiuni, după card).

Cu Ollama, vectorii sunt calculați de serverul Ollama de la RAG_OLLAMA_BASE_URL (implicit aceeași adresă ca OLLAMA_BASE_URL); modelul se descarcă înainte, de exemplu nomic-embed-text, bge-m3, qwen3-embedding sau embeddinggemma din biblioteca Ollama. Cu OpenAI sau Azure OpenAI se folosește API-ul furnizorului. Imaginea :slim nu are motor local: acolo RAG_EMBEDDING_ENGINE trebuie să fie ollama, openai sau azure_openai.

Vectorii a două modele diferite nu sunt compatibili. După schimbarea modelului, butonul Reindex din aceeași pagină reface vectorii tuturor bazelor Knowledge, pornind de la textul extras inițial. Fișierele încărcate direct în chat nu sunt reindexate și trebuie reîncărcate. La fiecare pornire, Open WebUI verifică pe Hugging Face dacă modelul local are o versiune nouă; RAG_EMBEDDING_MODEL_AUTO_UPDATE=false sau OFFLINE_MODE=true opresc verificarea.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
RAG_EMBEDDING_ENGINE Gol (SentenceTransformers local), ollama, openai, azure_openai. ConfigVar.
RAG_EMBEDDING_MODEL Implicit sentence-transformers/all-MiniLM-L6-v2. ConfigVar.
RAG_OLLAMA_BASE_URL Serverul Ollama pentru embeddings, dacă diferă de cel pentru chat.
Embedding Batch Size Câte fragmente se trimit într-o cerere de embeddings.
Reindex Refragmentează și recalculează vectorii tuturor bazelor Knowledge cu setările curente.
RAG_EMBEDDING_MODEL_AUTO_UPDATE Implicit True: verifică actualizările modelului local la pornire.
VECTOR_DB Unde se salvează vectorii: implicit chroma; alternative între care pgvector, qdrant, milvus.

Exemple practice și scenarii reale

Exemplul 1: Embeddings prin Ollama, din interfață

ollama pull bge-m3

Settings > Admin > Documents
  Embedding Model Engine: Ollama
  Embedding Model:        bge-m3
  Save, apoi Reindex

Exemplul 2: Aceeași configurare prin variabile, la prima pornire

-e RAG_EMBEDDING_ENGINE=ollama \
-e RAG_EMBEDDING_MODEL=nomic-embed-text \
-e RAG_OLLAMA_BASE_URL=http://host.docker.internal:11434

Exemplul 3: Model multilingv local

Modelul se descarcă de pe Hugging Face la pornire; în modul offline trebuie descărcat înainte.

-e RAG_EMBEDDING_MODEL=BAAI/bge-m3

Greșeli frecvente și capcane

  • Schimbi modelul de embeddings și nu apeși Reindex: întrebările sunt comparate cu vectori din alt spațiu, iar rezultatele nu mai au sens.
  • Schimbi RAG_EMBEDDING_MODEL în mediu după prima pornire; fiind ConfigVar, rămâne valoarea salvată până o schimbi din interfață.
  • Legi o bază vectorială externă (Qdrant, Milvus, pgvector) populată cu alt model decât cel din Open WebUI: interogarea e vectorizată cu modelul Open WebUI, deci modelul și dimensiunile trebuie să fie aceleași.

Noțiuni și module înrudite