Obiectul Settings (Configurare Globală LLM & Embeddings) în LlamaIndex & Data RAG

Ingestie, Parsare & Indexare Nivel: începător

Singleton-ul global din LlamaIndex (care a înlocuit vechiul ServiceContext) prin care configurezi într-un singur loc modelul LLM, modelul de embedding și mărimea chunk-urilor.

Sintaxă & invocare Python
from llama_index.core import Settings
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

Settings.llm = OpenAI(model='gpt-4o-mini', temperature=0.1)
Settings.embed_model = HuggingFaceEmbedding(model_name='BAAI/bge-m3')
Settings.chunk_size = 512

Descriere & Utilizare

În versiunile moderne de LlamaIndex, configurarea aplicației se face prin obiectul global Settings. Dacă nu configurezi nimic, LlamaIndex folosește implicit modelele OpenAI (gpt-3.5-turbo și text-embedding-ada-002).

Modificând atributele Settings.llm și Settings.embed_model la începutul scriptului tău, toate componentele create ulterior (indecși, motoare de căutare, agenți) vor prelua automat aceste modele fără să le mai transmiți ca parametri în fiecare funcție.

Este foarte frecventă arhitectura hibridă: setezi un model de embedding gratuit care rulează local pe placa ta video (precum BAAI/bge-m3 sau prin Ollama) pentru a indexa zeci de mii de pagini cu cost zero, și un LLM puternic în cloud sau local pentru generarea răspunsului.

Cum să o reții ușor

💡 Ca panoul de Setări Generale al telefonului: alegi o singură dată limba, rețeaua Wi-Fi și luminozitatea ecranului, iar toate aplicațiile instalate respectă automat aceste preferințe.

Opțiuni și parametri tehnici

  • Acționează ca un registru global cu încărcare leneșă (lazy initialization).
  • Controlează atât modelele (llm, embed_model), cât și parametrii de fragmentare (chunk_size, chunk_overlap) și tokenizatorul.

Exemple practice și cazuri de utilizare

  • Configurare 100% locală cu Ollama: from llama_index.llms.ollama import Ollama
    Settings.llm = Ollama(model='llama3.1', request_timeout=120.0)
  • Ajustare dimensiune noduri: Settings.chunk_size = 512; Settings.chunk_overlap = 64

Sfaturi de configurare & capcane

Configurează Settings întotdeauna înainte de a apela VectorStoreIndex.from_documents(). Dacă schimbi Settings.embed_model după ce ai creat indexul, interogările vor eșua din cauza nepotrivirii dimensiunii vectorilor.

Comenzi și ghiduri înrudite