Descriere & Utilizare
LlamaIndex oferă suport de primă clasă pentru ieșiri structurate în două moduri principale:
1. Direct pe LLM prin llm.structured_predict(ClasaPydantic, prompt, **kwargs) sau prin convertirea modelului cu sllm = llm.as_structured_llm(ClasaPydantic).
2. Direct pe un QueryEngine RAG prin setarea parametrul output_cls=ClasaPydantic în index.as_query_engine(output_cls=ContractInfo).
Această a doua opțiune este extraordinară: poți căuta prin sute de pagini PDF cu RAG și să primești rezultatul final direct ca instanță Pydantic validată în Python!
Cum să o reții ușor
💡 Ca un asistent juridic care citește un contract stufos de 40 de pagini și îți completează direct fișa rezumativă cu Nume Client, Valoare și Scadență, gata de importat în contabilitate.
Opțiuni și parametri tehnici
- Utilizează
FunctionCallingProgramsauOpenAIPydanticProgramsub capotă. - Validează schema returnată prin Pydantic v2 și reîncearcă parsarea dacă lipsește vreun câmp obligatoriu.
Exemple practice și cazuri de utilizare
- QueryEngine cu ieșire Pydantic:
qe = index.as_query_engine(output_cls=ContractInfo); rez = qe.query('Extrage datele contractului'); print(rez.response.valoare_eur) - Conversie LLM structurat:
sllm = Settings.llm.as_structured_llm(ContractInfo); raspuns = sllm.complete(text_brut)
Sfaturi de configurare & capcane
Folosește tipuri Optional[str] = None în modelul tău Pydantic pentru câmpurile care s-ar putea să nu apară în toate documentele, astfel încât LLM-ul să nu fie forțat să inventeze valori.
Comenzi și ghiduri înrudite
llamaparse-pdf: Resursă asociată din acest modul.query-engine: Resursă asociată din acest modul.global-settings: Resursă asociată din acest modul.