Obiectul Settings (configurare globală LLM și embeddings) în LlamaIndex & Data RAG

Singleton-ul global din llama-index-core (introdus în 0.10.0 în locul lui ServiceContext) care dă valorile implicite pentru LLM, modelul de embedding, node parser, tokenizer și callback-uri.

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

Settings.llm = OpenAI(model="gpt-6-astra")
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
Settings.chunk_size = 512
Settings.chunk_overlap = 50

Settings este un obiect global, inițializat leneș: atributele se creează abia când un modul are nevoie de ele. Orice componentă care nu primește explicit un LLM, un model de embedding sau transformări le ia din Settings. Configurările locale au prioritate: VectorStoreIndex.from_documents(docs, embed_model=..., transformations=...) sau index.as_query_engine(llm=...). ServiceContext a fost înlocuit de Settings în 0.10.0; în 0.14 constructorul lui aruncă ValueError.

Dacă nu setezi nimic, LlamaIndex creează OpenAI() și OpenAIEmbedding() cu valorile implicite ale integrărilor: în llama-index-llms-openai 0.8.3 modelul implicit este încă gpt-3.5-turbo, pe care OpenAI l-a oprit pe 23 octombrie 2026, iar în llama-index-embeddings-openai 0.7.0 embedding-ul implicit este text-embedding-ada-002. De aceea setezi explicit Settings.llm și Settings.embed_model. Node parser-ul implicit este SentenceSplitter() (1024 de tokeni, suprapunere 200), iar tokenizer-ul implicit este cel tiktoken pentru gpt-3.5-turbo.

ID-urile gpt-6-astra și gpt-6-luna sunt recunoscute de llama-index-llms-openai începând cu 0.8.2. Pachetul umbrelă llama-index 0.14.25 cere llama-index-llms-openai sub 0.8, așa că pentru aceste modele instalezi pachetele separat: pip install llama-index-core llama-index-llms-openai llama-index-embeddings-openai llama-index-readers-file. Poți folosi și modele locale: un embedding de pe Hugging Face (HuggingFaceEmbedding) și un LLM prin Ollama.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
Settings.llm LLM-ul implicit pentru răspunsuri și pentru modulele care cer un LLM (rutare, sub-întrebări, extractori).
Settings.embed_model Modelul de embedding pentru indexare și interogare. Acceptă și string-uri ca "local:BAAI/bge-m3" (cere llama-index-embeddings-huggingface).
Settings.node_parser / text_splitter Splitter-ul implicit (text_splitter este un alias).
Settings.chunk_size / chunk_overlap Schimbă dimensiunea și suprapunerea splitter-ului implicit.
Settings.transformations Lista de transformări aplicată documentelor la ingestie.
Settings.tokenizer Funcția de numărare a tokenilor; ar trebui să corespundă LLM-ului folosit.
Settings.callback_manager Manager global de callback-uri, de exemplu TokenCountingHandler.
Settings.context_window / num_output Fereastra de context și tokenii rezervați pentru răspuns; de obicei se iau din LLM.

Exemple practice și scenarii reale

Exemplul 1: Configurare cu Anthropic pentru răspunsuri și OpenAI pentru embeddings

# pip install llama-index-core llama-index-llms-anthropic llama-index-embeddings-openai
from llama_index.core import Settings
from llama_index.llms.anthropic import Anthropic
from llama_index.embeddings.openai import OpenAIEmbedding

Settings.llm = Anthropic(model="claude-sonnet-5-5")
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")

Exemplul 2: Configurare locală: Ollama și un embedding Hugging Face

# pip install llama-index-llms-ollama llama-index-embeddings-huggingface
from llama_index.core import Settings
from llama_index.llms.ollama import Ollama
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

Settings.llm = Ollama(model="llama3.1", request_timeout=120.0)
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-m3")

Exemplul 3: Suprascriere locală pentru un singur motor

from llama_index.llms.openai import OpenAI

ieftin = index.as_query_engine(llm=OpenAI(model="gpt-6-luna"))
complet = index.as_query_engine(llm=OpenAI(model="gpt-6-astra"), similarity_top_k=5)

Greșeli frecvente și capcane

  • Să te bazezi pe modelul implicit. Fără Settings.llm, integrarea OpenAI folosește gpt-3.5-turbo, oprit de OpenAI pe 23 octombrie 2026.
  • Să schimbi Settings.embed_model după ce ai construit sau salvat indexul. Întrebările vor fi vectorizate cu alt model decât documentele: eroare de dimensiune sau rezultate fără sens. Reindexează după orice schimbare de model de embedding.
  • Cod vechi cu ServiceContext.from_defaults(...). În 0.14 aruncă ValueError; mută configurarea în Settings sau în parametrii locali.

Noțiuni și module înrudite

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Obiectul Settings (configurare globală LLM și embeddings)

Ai o întrebare despre Obiectul Settings (configurare globală LLM și embeddings) sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.