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ștegpt-3.5-turbo, oprit de OpenAI pe 23 octombrie 2026. - Să schimbi
Settings.embed_modeldupă 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 înSettingssau în parametrii locali.
Î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.