Sider.ai
  • Čet
  • Wisebase
  • Алати
  • Продужетак
  • Клијенти
  • Прицинг
Преузми сада
Пријавите се

Učite brže, razmišljajte dublje i rastite pametnije uz Sider.

Proizvodi
Aplikacije
  • Ekstenzije
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Alati
  • Kreator vebaNew
  • AI SlajdoviNew
  • AI Pisac Eseja
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI Generator Slika
  • Italijanski generator mozgalica
  • Uklanjanje Pozadine
  • Menjač Pozadine
  • Brisanje Fotografija
  • Uklanjanje Teksta
  • Inpaint
  • Povećanje Rezolucije Slika
  • Kreiraj
  • AI Prevodilac
  • Prevodilac Slika
  • PDF Prevodilac
Sider
  • Kontaktirajte nas
  • Centar za pomoć
  • Preuzimanje
  • Cene
  • Plan obrazovanja
  • Šta je novo
  • Blog
  • Zajednica
  • Partneri
  • Partnerstvo
  • Pozovi
©2026 Sva prava zadržana
Uslovi korišćenja
Politika privatnosti
  • Почетна страница
  • Блог
  • AI Alati
  • Kako koristiti LlamaIndex: Praktični vodič od nule do produkcije

Kako koristiti LlamaIndex: Praktični vodič od nule do produkcije

Ažurirano 23. Sep. 2025.

10 min


Kako koristiti : Praktični vodič od nule do produkcije

Ako ste ikada pokušali da napravite aplikaciju za generisanje obogaćeno preuzimanjem (RAG) i pomislili: „Zašto je povezivanje ugrađivanja, vektorskih baza podataka i upita tako komplikovano?“, niste jedini. postoji da bi taj proces bio brz, razuman i spreman za produkciju. U ovom praktičnom vodiču orijentisanom na rešenja, proći ćemo kroz to kako da koristite od početka do kraja – unos podataka, indeksiranje, upite, evaluaciju i primenu – tako da možete da isporučite nešto pouzdano bez gubljenja u bespotrebnom kodu.
Koristićemo strukturu vođenu pitanjima sa progresivnim koracima, izvršnim isečcima koda i savetima iz stvarnog sveta. Bilo da pravite prototip chatbot-a za interne dokumente ili primenjujete pomoćnika za znanje za korisnike, učenje kako da efikasno koristite će vam uštedeti dane.
: je okvir koji vam pomaže da povežete svoje podatke sa velikim jezičkim modelima pomoću alata za indeksiranje, preuzimanje i orkestraciju – idealan za RAG, agente i strukturirane izlaze.

Šta je i zašto ga koristiti?

  • LlamaIndex je okvir podataka za LLM aplikacije. Pruža gradivne blokove za:
  • Unos: Učitavanje datoteka, veb stranica, baza podataka i API-ja.
  • Grupisanje i indeksiranje: Pretvaranje sirovog sadržaja u strukture koje se mogu pretraživati (vektorski, ključni, graf indeksi).
  • Preuzimanje: Preuzimanje konteksta pomoću fleksibilnih strategija (BM25, hibridno, ponovno rangiranje).
  • Upitni motori i agenti: Sastavljanje preuzimanja, alata i upita u koherentno QA iskustvo.
  • Evaluacija i monitoring: Procena kvaliteta preuzimanja i relevantnosti odgovora.
  • Kada koristiti LlamaIndex:
  • Želite robustan RAG stek bez ponovnog izmišljanja grupisanja, ugrađivanja i preuzimanja.
  • Potrebno je da kombinujete više izvora podataka (PDF-ovi + + SQL).
  • Želite da eksperimentišete sa hibridnim preuzimanjem, ponovnim rangiranjem ili strukturiranim izlazima.
  • LlamaIndex prilikom učenja kako da koristite LlamaIndex:
  • Podaci → Čvorovi → Indeks → Preuzimač → Upitni motor → Aplikacija

Brzi početak: Minimalna RAG petlja

Ovo je najbrži put do radnog prototipa. Učitavamo dokumente, gradimo vektorski indeks i postavljamo pitanja.
# 1) Instalacija
# pip install llama-index llama-index-embeddings-openai llama-index-llms-openai
import os
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
# 2) Konfigurišite svoj model + ugrađivanja
os.environ["OPENAI_API_KEY"] = "YOUR_KEY" # ili koristite bilo kog podržanog LLM/embedding provajdera
llm = OpenAI(model="gpt-4o-mini")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 3) Učitavanje dokumenata (npr., ./data/*.pdf, .md, .txt)
docs = SimpleDirectoryReader("./data").load_data
# 4) Izgradnja indeksa
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# 5) Kreiranje upitnog motora i postavljanje pitanja
query_engine = index.as_query_engine(llm=llm)
response = query_engine.query("What are the key security practices mentioned in the docs?")
print(response)
To je suština. Odavde, stvarne aplikacije dodaju bolje grupisanje, ponovno rangiranje, strukturirane upite i mogućnost posmatranja.

Unos: Donesite svoje podatke (BYOD) na pravi način

Kada odlučujete kako da koristite za stvarne podatke, izaberite učitavače koji odgovaraju vašim izvorima i čuvaju strukturu.
  • Uobičajeni učitavači:
  • Datoteke: SimpleDirectoryReader, čitači PDF/HTML/Markdown
  • Veb: BeautifulSoupWebReader, čitači mapa sajta
  • SaaS: , , , (preko konektora)
  • Baze podataka: SQL i vektorske baze podataka (, , , )
  • Savet: Normalizujte metapodatke (naslov, autor, URL, created_at). Dobri metapodaci kasnije superpune ponovno rangiranje i filtriranje.
from llama_index.core import SimpleDirectoryReader
from llama_index.readers.web import SimpleWebPageReader
file_docs = SimpleDirectoryReader("./policies").load_data
web_docs = SimpleWebPageReader(html_to_text=True).load_data
all_docs = file_docs + web_docs

Grupisanje i parseri čvorova: Loš unos, loš izlaz

Pravilno grupisanje je jedan od najvažnijih koraka prilikom učenja kako da efikasno koristite .
  • Zašto je grupisanje važno: Preveliko → preopterećenje tokenima i irelevantno preuzimanje. Premalo → fragmentacija konteksta.
  • Podrazumevane vrednosti: Razumne za mnoge slučajeve, ali podesite za vaš tip sadržaja.
  • Heuristika:
  • Tehnička dokumentacija: 512–1024 tokena sa 10–20% preklapanja.
  • FAQ: Manji delovi (256–512) da bi se Q/A parovi održali netaknutim.
  • Pravno/Politika: Veći delovi (1024–1536) da bi se sačuvale definicije + klauzule.
from llama_index.core.node_parser import SentenceSplitter
from llama_index.core import Document
parser = SentenceSplitter(chunk_size=800, chunk_overlap=100)
nodes = []
for d in all_docs:
nodes.extend(parser.get_nodes_from_documents([Document(text=d.text, metadata=d.metadata)]))

Strategije indeksiranja: Vektorsko, ključno ili hibridno?

Izbor pravog indeksa je ključan. Dobra vest: vam omogućava da ih kombinujete.
  • Vektorski indeks: Odličan za semantičko pretraživanje. Najbolji za „objasni X“ ili nejasne upite.
  • Ključna reč (BM25): Snažan za tačne termine, ID-ove, kodove grešaka, logove.
  • Hibridno: Kombinujte oba; ponovo rangirajte najbolje kandidate pomoću LLM-a ili unakrsnog enkodera.
from llama_index.core import VectorStoreIndex, SummaryIndex
from llama_index.core.retrievers import BM25Retriever
from llama_index.core.query_engine import RetrieverQueryEngine
# Vektorski indeks iz prethodno parsiranih čvorova
v_index = VectorStoreIndex(nodes)
# BM25 preuzimač ključnih reči
bm25_retriever = BM25Retriever.from_defaults(nodes=nodes, similarity_top_k=6)
# Hibridno: spajanje kandidata, zatim ponovno rangiranje
from llama_index.core.retrievers import RouterRetriever
from llama_index.retrievers.merge import MergerRetriever
v_retriever = v_index.as_retriever(similarity_top_k=6)
hybrid = MergerRetriever(retrievers=[v_retriever, bm25_retriever], top_k=8)
query_engine = RetrieverQueryEngine.from_args(retriever=hybrid)

Ponovno rangiranje i filteri: Povećajte preciznost bez preplaćivanja

Ponovno rangiranje poboljšava kvalitet odgovora preuređivanjem preuzetih delova prema relevantnosti.
  • Kada ponovo rangirati: Ako korisnici prijave citate van teme ili duge, podstavljene kontekste.
  • Pristupi:
  • Unakrsni enkoderi (pretraga ugrađivanja bi-enkodera → ponovno rangiranje unakrsnog enkodera)
  • Ponovno rangiranje zasnovano na LLM-u (skuplje, ponekad pametnije na nijansiranom tekstu)
  • Filteri metapodataka (npr., source == 'handbook', created_at > 2024-01-01)
from llama_index.postprocessor.flag_embedding_reranker import FlagEmbeddingReranker
from llama_index.core.query_engine import RetrieverQueryEngine
reranker = FlagEmbeddingReranker(top_n=5, model="BAAI/bge-reranker-base")
query_engine = v_index.as_query_engine(
similarity_top_k=12,
node_postprocessors=[reranker]
)

Podsticanje i upitni motori: Od pretrage do odgovora

Upitni motor je mesto gde se preuzimanje susreće sa generisanjem. Da biste savladali kako da koristite u produkciji, pažljivo dizajnirajte upite i sintezu odgovora.
  • Sinteza odgovora strategije:
  • Jednostavno „naguravanje“ (konkatenacija) za male kontekste
  • Stablo ili smanjenje mape za duže kontekste
  • Režim citiranja za prikaz izvora
from llama_index.core.response_synthesizers import get_response_synthesizer
from llama_index.core import ServiceContext
synth = get_response_synthesizer(response_mode="tree_summarize")
query_engine = v_index.as_query_engine(response_synthesizer=synth)
ans = query_engine.query("Summarize the onboarding steps and cite sources.")
print(ans)
  • Prilagođeni upiti: Prilagodite ton, strukturirane izlaze ili zaštitne ograde.
from llama_index.core.prompts import PromptTemplate
qa_tmpl = PromptTemplate(
"""
You are a terse, evidence-first assistant. Use only the provided context.
If unsure, say you don't know. Return JSON with keys: answer, sources.
Question: {query_str}
Context: {context_str}
"""
)
query_engine = v_index.as_query_engine(text_qa_template=qa_tmpl)

Agenti i alati: Kada preuzimanje nije dovoljno

Ponekad odgovori zahtevaju radnje: pokretanje SQL-a, pozivanje API-ja ili pregledanje. agenti koordiniraju alate i rezonovanje sa vašim cevovodom za preuzimanje.
  • Slučajevi upotrebe: KPI kontrolne table (SQL alat), botovi za podršku (API za pretragu tiketa), agenti za istraživanje (veb + RAG).
from llama_index.core.agent import ReActAgent
from llama_index.tools.sql import SQLQueryEngineTool
from sqlalchemy import create_engine
engine = create_engine("sqlite:///analytics.db")
sql_tool = SQLQueryEngineTool.from_engine(engine)
agent = ReActAgent.from_tools([sql_tool], llm=llm, verbose=True)
agent.chat("What was monthly churn in Q2 2025? If needed, query the DB.")

Evaluacija: Nemojte isporučivati na slepo

Učenje kako da odgovorno koristite znači validaciju i preuzimanja i odgovora pre uvođenja.
  • Offline eval: Procenite opoziv/preciznost preuzimanja na označenom skupu.
  • Online eval: Evidentirajte korisničke upite, merite zadovoljstvo, stope skretanja i halucinacije.
  • LlamaIndex: LlamaIndex pruža pomoćnike za evaluaciju za vernost i relevantnost odgovora.
from llama_index.core.evaluation import FaithfulnessEvaluator, RelevancyEvaluator
faith = FaithfulnessEvaluator(llm=llm)
rel = RelevancyEvaluator(llm=llm)
pred = query_engine.query("List SOC 2 control families in our policy.")
print("faithful?", faith.evaluate_response(pred))
print("relevant?", rel.evaluate_response(pred))
  • Praktična granica: Za interne pomoćnike, ciljajte >80% ocene „korisno“ na vrhunskim upitima pre širokog lansiranja.

Upornost i vektorske baze podataka: Učinite ga skalabilnim

Indeksi izgrađeni u memoriji neće uspeti za stvarna opterećenja. Sačuvajte u vektorskoj bazi podataka i omogućite inkrementalna ažuriranja.
  • Qdrant: Qdrant, Qdrant, Qdrant, Qdrant/Qdrant, Qdrant.
  • Savet: Koristite prostore imena po zakupcu ili odeljenju; neka metapodaci budu bogati.
# Primer: Chroma
# pip install chromadb llama-index-vector-stores-chroma
from llama_index.vector_stores.chroma import ChromaVectorStore
from llama_index.core import StorageContext
import chromadb
chroma_client = chromadb.PersistentClient(path="./chroma_store")
collection = chroma_client.get_or_create_collection("company_knowledge")
vector_store = ChromaVectorStore(chroma_collection=collection)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(all_docs, storage_context=storage_context)

Sigurnost i upravljanje: Deo koji svi zaboravljaju

  • Rukovanje PII: Redigujte ili heširajte osetljiva polja tokom unosa.
  • Kontrole pristupa: Filtrirajte po ulogama korisnika sa ograničenjima metapodataka.
  • Svežina sadržaja: Zakažite ponovni unos; označite verzije.
  • Sigurnost: Dodajte politike odbijanja i ograničenja samo izvora u upitima.
# Primer: filtriranje zasnovano na metapodacima u vreme upita
retriever = index.as_retriever(similarity_top_k=8)
retriever.metadata_filters = {"department": ["legal", "security"], "published": [True]}

Od prototipa do produkcije: Obrasci primene

  • Serverski obrazac: Izložite /query krajnju tačku; neka indeks bude topao u memoriji.
  • Serverski bez servera: Hladni startovi + veliki modeli mogu da naškode latenciji; razmotrite upravljano zaključivanje.
  • Keširanje: Keširajte ugrađivanja i česte rezultate upita; omogućite delimična ažuriranja.
  • Mogućnost posmatranja: Evidentirajte preuzete čvorove, upotrebu tokena, dužinu odgovora i povratne informacije korisnika.
# Minimalni FastAPI omotač
# pip install fastapi uvicorn
from fastapi import FastAPI
app = FastAPI
qe = index.as_query_engine(llm=llm)
@app.post("/query")
async def query(payload: dict):
q = payload.get("q", "")
resp = qe.query(q)
return {"answer": str(resp), "sources": [s.node.metadata for s in resp.source_nodes]}

Nacrti iz stvarnog sveta: Izaberite svoj put

  1. Interni pomoćnik za politiku
  • Indeks: Hibridni (BM25 + vektorski) sa ponovnim rangiranjem
  • Zaštitne ograde: Režim samo izvora; „Ne znam“ povratna opcija
  • KPI: Stopa rešavanja za pitanja politike
  1. Kopilot korisničke podrške
  • Indeks: Dokumenti o proizvodu + beleške o izdanju + tiketi
  • Agenti: API alat za proveru statusa porudžbine/tiketa
  • KPI: Rešavanje prvog kontakta, skretanje, CSAT
  1. Analitičar istraživanja
  • Indeks: Veb + PDF-ovi + beleške; snažna deduplikacija
  • Ponovno rangiranje: Unakrsni enkoder; sinteza: smanjenje mape
  • KPI: Vreme do uvida; tačnost citiranja
  1. QA podataka za BI
  • Alati: SQL motor + RAG na definicijama metrike
  • Upravljanje: Politike na nivou reda; revizija upita
  • KPI: Ispravnost u odnosu na osnovnu istinu

Troškovi i latencija: Neka bude brzo (i jeftino)

  • Ugrađivanja: Grupišite gde je moguće; koristite manje modele za opoziv, ponovo rangirajte selektivno.
  • Veličina konteksta: Ciljajte na 1–2k tokena najrelevantnijih delova.
  • Keširanje: Keširajte preuzimanje top‑K za popularne upite; memorišite LLM pozive sa heširanim upitima.
  • Paralelizam: Preuzimanje ventilatora → ponovno rangiranje ventilatora da bi se smanjila latencija repa.

Uobičajene zamke prilikom učenja kako da koristite

  • Prekomerno grupisanje, što dovodi do plitkog, bučnog preuzimanja
  • Nema filtera metapodataka, što uzrokuje da se irelevantni izvori uvuku
  • Oslanjanje na jedan tip indeksa za sav sadržaj
  • Preskakanje evaluacije; isporuka bez kvaliteta
  • Dozvoljavanje da indeksi zastare; nema zakazanog osvežavanja

Usput: Ubrzavanje vašeg toka rada u uređivaču

Dok ponavljate upite, grupisanje i podešavanja preuzimanja, vredi napomenuti da AI kodiranje i bočna traka za istraživanje kao što je Sider.ai može ubrzati petlju. Možete držati isečke, upite i beleške o evaluaciji pri ruci, generisati razlike u promenama upita i brzo testirati varijacije bez napuštanja pregledača. Ovo je posebno korisno kada podešavate kako da koristite u različitim strategijama preuzimanja.

Kontrolna lista korak po korak: Od nule do produkcije

  • Unesite izvore i normalizujte metapodatke
  • Podesite veličine delova po tipu sadržaja
  • Izgradite vektorske + BM25 indekse; omogućite hibridno preuzimanje
  • Dodajte ponovno rangiranje i filtere metapodataka
  • Prilagodite upite; omogućite citate i politiku odbijanja
  • Procenite vernost i relevantnost na testnom skupu
  • Sačuvajte u vektorskoj bazi podataka; omogućite inkrementalna ažuriranja
  • Dodajte mogućnost posmatranja, keširanje i RBAC filtere
  • Umotajte u API i postavite SLA; dokumentujte režime neuspeha

Ključni zaključci

  • Ako želite robusnu RAG aplikaciju, učenje kako da koristite će uštedeti nedelje inženjeringa.
  • Počnite jednostavno, a zatim slojevito hibridno preuzimanje, ponovno rangiranje i strukturirane upite.
  • Procenite pre nego što skalirate; sačuvajte indekse i pratite kvalitet u produkciji.
  • Dizajnirajte za upravljanje od prvog dana – sigurnost nije dodatak.

Sledeći koraci

  • Napravite prototip brzog starta na malom skupu dokumenata.
  • Eksperimentišite sa hibridnim preuzimanjem i ponovnim rangiranjem.
  • Dodajte evaluaciju i citate; pratite metrike kvaliteta.
  • Pređite na trajnu vektorsku bazu podataka i primenite API.

FAQ

Q1: Za šta se koristi u RAG aplikacijama? vam pomaže da povežete svoje podatke sa LLM-ovima pomoću komponenti za unos, indeksiranje i preuzimanje. Pojednostavljuje izgradnju RAG sistema rukovanjem grupisanjem, vektorskim/ključnim indeksima i orkestracijom upita.
Q2: Kako da izaberem pravi tip indeksa u ? Koristite vektorski indeks za semantičke upite, BM25 za tačna podudaranja kao što su ID-ovi ili kodovi, i hibridni pristup za najbolji ukupni opoziv i preciznost. Mnogi timovi kombinuju oba i dodaju ponovno rangiranje za top‑K rezultate.
P3: Kako mogu poboljšati preciznost kada koristim LlamaIndex? Podesite veličinu delova teksta (chunk sizes), uključite bogate metapodatke, omogućite hibridno pretraživanje i dodajte "reranker". Takođe, implementirajte evaluaciju za vernost i relevantnost, i koristite režim citiranja (citation mode) da biste prikazali izvore.
P4: Da li LlamaIndex može da radi sa mojom postojećom vektorskom bazom podataka? Da. LlamaIndex se integriše sa popularnim vektorskim bazama podataka kao što su Pinecone, Weaviate, Chroma, Qdrant i Elasticsearch. Sačuvajte indekse za skalabilnost i inkrementalna ažuriranja.
P5: Kako da implementiram LlamaIndex aplikaciju u produkciji? Umotajte vaš upitni mehanizam u API (npr. FastAPI), sačuvajte podatke u vektorskoj bazi podataka, dodajte keširanje i mogućnost nadzora (observability) i kontinuirano procenjujte kvalitet. Primenite filtere metapodataka i kontrolu pristupa radi bezbednosti.

Nedavni članci
Kako savladati ChatPDF: Brže do uvida iz složenih dokumenata

Kako savladati ChatPDF: Brže do uvida iz složenih dokumenata

Najbolja alternativa za X Auto-Translation za brze i precizne dokumente

Najbolja alternativa za X Auto-Translation za brze i precizne dokumente

Samsung AI Prevod Nije Dostupan u Iranu? Praktična Rešenja

Samsung AI Prevod Nije Dostupan u Iranu? Praktična Rešenja

Alati za prevođenje na persijski: praktičan vodič za brži i tačniji rad

Alati za prevođenje na persijski: praktičan vodič za brži i tačniji rad

Najbolja Grok alternativa za dubinsko, citirano istraživanje

Najbolja Grok alternativa za dubinsko, citirano istraživanje

Top 15 Funkcija AI Generatora Slika Koje Ćete Zaista Koristiti

Top 15 Funkcija AI Generatora Slika Koje Ćete Zaista Koristiti