Sider.ai
  • Pokalbis
  • Wisebase
  • Įrankiai
  • Pratęsimas
  • Klientai
  • Kainodara
Parsisiųsti dabar
Prisijungti

Mokykitės greičiau, mąstykite giliau ir augkite protingiau su Sider.

Produktai
Programėlės
  • Plėtiniai
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Įrankiai
  • Interneto kūrėjasNew
  • AI skaidrėsNew
  • AI esė rašytojas
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI vaizdų generatorius
  • Italų smegenų puvimo generatorius
  • Fono šalinimas
  • Fono keitiklis
  • Nuotraukų trintukas
  • Teksto šalinimas
  • Inpaint
  • Vaizdo didinimas
  • Sukurti
  • AI vertėjas
  • Vaizdo vertėjas
  • PDF vertėjas
Sider
  • Susisiekite su mumis
  • Pagalbos centras
  • Atsisiųsti
  • Kainodara
  • Švietimo planas
  • Kas naujo
  • Tinklaraštis
  • Bendruomenė
  • Partneriai
  • Partnerystė
  • Pakviesti
©2026 Visos teisės saugomos
Naudojimo sąlygos
Privatumo politika
  • Pagrindinis puslapis
  • Dienoraštis
  • AI Įrankiai
  • Kaip naudoti LlamaIndex: praktinis vadovas nuo nulio iki produkcijos

Kaip naudoti LlamaIndex: praktinis vadovas nuo nulio iki produkcijos

Atnaujinta 2025 m. rugsėjo 23 d.

10 min


Kaip naudoti LlamaIndex: praktinis vadovas nuo nulio iki produkcijos

Jei kada nors bandėte sukurti retrieval-augmented generation (RAG) programėlę ir pagalvojote: „Kodėl įterpimų, vektorių saugyklų ir užklausų sujungimas toks sudėtingas?“, jūs nesate vieni. LlamaIndex yra sukurtas tam, kad šis procesas būtų greitas, aiškus ir paruoštas produkcijai. Šiame praktiškame, sprendimams skirtame vadove žingsnis po žingsnio pereisime per LlamaIndex naudojimą – nuo duomenų įkėlimo, indeksavimo, užklausų vykdymo, vertinimo iki diegimo, kad galėtumėte patikimai pristatyti sprendimą be painios „klijų“ kodo rašymo.
Naudosime klausimais pagrįstą struktūrą su progresyviais žingsniais, vykdomais kodo pavyzdžiais ir realaus pasaulio patarimais. Nesvarbu, ar kuriate vidinį pokalbių robotą dokumentams, ar diegiate žinių asistentą klientams – efektyvus LlamaIndex naudojimas sutaupys jums dienų.
: LlamaIndex yra karkasas, padedantis susieti jūsų duomenis su dideliais kalbos modeliais per indeksavimo, paieškos ir koordinavimo įrankius – idealus RAG, agentams ir struktūrizuotiems rezultatams.

Kas yra LlamaIndex ir kodėl verta jį naudoti?

  • LlamaIndex yra duomenų karkasas LLM programoms. Jis suteikia pagrindinius komponentus:
  • Duomenų įkėlimas: Įkelkite failus, tinklalapius, duomenų bazes ir API.
  • Dalijimas ir indeksavimas: Paverskite žalią turinį į užklausoms pritaikytas struktūras (vektoriaus, raktažodžių, grafų indeksus).
  • Paieška: Gaukite kontekstą naudodami lanksčias strategijas (BM25, hibridinę, perskirstymą).
  • Užklausų varikliai ir agentai: Sudėkite paiešką, įrankius ir užklausų šablonus į nuoseklią klausimų ir atsakymų patirtį.
  • Vertinimas ir stebėsena: Įvertinkite paieškos kokybę ir atsakymų aktualumą.
  • Kada naudoti LlamaIndex:
  • Jei norite tvirto RAG sprendimo be būtinybės iš naujo kurti dalijimą, įterpimus ir paiešką.
  • Jei reikia sujungti kelis duomenų šaltinius (PDF + Notion + SQL).
  • Jei norite eksperimentuoti su hibridine paieška, perskirstymu ar struktūrizuotais rezultatais.
  • Pagrindinė mintis mokantis naudoti LlamaIndex:
  • Duomenys → Mazgai → Indeksas → Paieškos variklis → Užklausų variklis → Programa

Greitas pradžios vadovas: minimalus RAG ciklas

Tai greičiausias kelias iki veikiančio prototipo. Įkelsime dokumentus, sukursime vektorių indeksą ir užduosime klausimus.
# 1) Įdiekite
# 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) Konfigūruokite modelį ir įterpimus
os.environ["OPENAI_API_KEY"] = "YOUR_KEY" # arba naudokite bet kurį palaikomą LLM/embedding tiekėją
llm = OpenAI(model="gpt-4o-mini")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 3) Įkelkite dokumentus (pvz., ./data/*.pdf, .md, .txt)
docs = SimpleDirectoryReader("./data").load_data
# 4) Sukurkite indeksą
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# 5) Sukurkite užklausų variklį ir užduokite klausimą
query_engine = index.as_query_engine(llm=llm)
response = query_engine.query("Kokios pagrindinės saugumo praktikos paminėtos dokumentuose?")
print(response)
Tai esmė. Toliau realios programos prideda geresnį dalijimą, perskirstymą, struktūruotus užklausų šablonus ir stebėseną.

Duomenų įkėlimas: teisingas BYOD (Bring Your Own Data) metodas

Kai nusprendžiate, kaip naudoti LlamaIndex su realiais duomenimis, pasirinkite įkėlimo įrankius, atitinkančius jūsų šaltinius ir išlaikančius struktūrą.
  • Dažniausiai naudojami įkėlėjai:
  • Failai: SimpleDirectoryReader, PDF/HTML/Markdown skaitytuvai
  • Tinklalapiai: BeautifulSoupWebReader, svetainių žemėlapių skaitytuvai
  • SaaS: Notion, Confluence, Slack, Google Drive (per jungtis)
  • Duomenų bazės: SQL ir vektorių DB (Pinecone, Weaviate, Chroma, Elasticsearch)
  • Patarimas: Normalizuokite metaduomenis (pavadinimas, autorius, URL, sukūrimo data). Kokybiški metaduomenys pagerina perskirstymą ir filtravimą vėliau.
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

Dalijimas ir mazgų analizatoriai: šiukšlės įeina, šiukšlės išeina

Teisingas dalijimas yra vienas svarbiausių žingsnių mokantis efektyviai naudoti LlamaIndex.
  • Kodėl dalijimas svarbus: Per dideli gabalai → per daug žetonų ir nereikalinga paieška. Per maži → konteksto fragmentacija.
  • Numatytieji nustatymai: Tinka daugeliui atvejų, bet derinkite pagal turinio tipą.
  • Heuristikos:
  • Techniniai dokumentai: 512–1024 žetonų gabalai su 10–20 % persidengimu.
  • DUK: Mažesni gabalai (256–512), kad klausimų ir atsakymų poros išliktų vientisos.
  • Teisiniai/politikos dokumentai: didesni gabalai (1024–1536), kad išliktų apibrėžimai ir punktai.
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)]))

Indeksų strategijos: vektorius, raktažodis ar hibridas?

Tinkamo indekso pasirinkimas yra labai svarbus. Gera žinia: LlamaIndex leidžia juos derinti.
  • Vektorių indeksas: Puikus semantinei paieškai. Geriausias „paaiškink X“ ar neaiškioms užklausoms.
  • Raktažodžių (BM25): Stiprus tiksliems terminams, ID, klaidų kodams, žurnalams.
  • Hibridas: Kombinuokite abu; perskirstykite geriausius kandidatus su LLM arba kryžminiu koduotoju.
from llama_index.core import VectorStoreIndex, SummaryIndex
from llama_index.core.retrievers import BM25Retriever
from llama_index.core.query_engine import RetrieverQueryEngine
# Vektorių indeksas iš iš anksto apdorotų mazgų
v_index = VectorStoreIndex(nodes)
# BM25 raktažodžių paieškos įrankis
bm25_retriever = BM25Retriever.from_defaults(nodes=nodes, similarity_top_k=6)
# Hibridas: sujungia kandidatus, tada perskirsto
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)

Perskirstymas ir filtrai: pagerinkite tikslumą neišleidžiant daug

Perskirstymas pagerina atsakymų kokybę pertvarkant rastus gabalus pagal aktualumą.
  • Kada perskirstyti: Jei vartotojai skundžiasi neį temą nukreipiančiomis citatomis ar ilgais, išpūstais kontekstais.
  • Metodai:
  • Kryžminiai koduotojai (bi-koduotojo įterpimų paieška → kryžminis perskirstymas)
  • LLM pagrindu atliekamas perskirstymas (brangesnis, bet kartais išmanesnis subtiliam tekstui)
  • Metaduomenų filtrai (pvz., 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]
)

Užklausų šablonai ir varikliai: nuo paieškos iki atsakymų

Užklausų variklis – tai vieta, kur susitinka paieška ir generavimas. Norint išmokti naudoti LlamaIndex produkcijoje, svarbu kruopščiai kurti užklausų šablonus ir atsakymų sintezę.
  • Atsakymų sintezės strategijos:
  • Paprastas „sujungimas“ mažiems kontekstams
  • Medžio arba map-reduce metodai ilgesniems kontekstams
  • Citavimo režimas, rodantis šaltinius
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("Apibendrinkite įvedimo žingsnius ir nurodykite šaltinius.")
print(ans)
  • Individualūs užklausų šablonai: pritaikykite toną, struktūrizuotus rezultatus ar apsaugas.
from llama_index.core.prompts import PromptTemplate
qa_tmpl = PromptTemplate(
"""
Jūs esate lakoniškas, įrodymus pirmiausia pateikiantis asistentas. Naudokite tik pateiktą kontekstą.
Jei nesate tikri, pasakykite, kad nežinote. Grąžinkite JSON su raktais: answer, sources.
Klausimas: {query_str}
Kontekstas: {context_str}
"""
)
query_engine = v_index.as_query_engine(text_qa_template=qa_tmpl)

Agentai ir įrankiai: kai paieškos nepakanka

Kartais atsakymai reikalauja veiksmų: vykdyti SQL užklausas, kviesti API arba naršyti internete. LlamaIndex agentai koordinuoja įrankius ir logiką su jūsų paieškos pipeline.
  • Panaudojimo atvejai: KPI skydeliai (SQL įrankis), palaikymo botai (bilietų paieškos API), tyrimų agentai (tinklas + 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("Koks buvo mėnesinis churnas 2025 m. II ketv.? Jei reikia, užduokite užklausą DB.")

Vertinimas: neįdiekite aklai

Mokantis atsakingai naudoti LlamaIndex, svarbu patikrinti tiek paieškos, tiek atsakymų kokybę prieš diegiant.
  • Neprisijungus vertinimas: Įvertinkite paieškos atgavimą/tikslumą su pažymėtu rinkiniu.
  • Prisijungus vertinimas: Sekite vartotojų užklausas, matuokite pasitenkinimą, nukreipimo rodiklius ir klaidų dažnį.
  • Integruoti įrankiai: LlamaIndex teikia vertinimo pagalbininkus tikslumui ir atsakymų aktualumui.
from llama_index.core.evaluation import FaithfulnessEvaluator, RelevancyEvaluator
faith = FaithfulnessEvaluator(llm=llm)
rel = RelevancyEvaluator(llm=llm)
pred = query_engine.query("Išvardinkite SOC 2 kontrolės šeimas mūsų politikoje.")
print("ar tikslu?", faith.evaluate_response(pred))
print("ar aktualu?", rel.evaluate_response(pred))
  • Praktinis standartas: vidiniams asistentams tikslas – >80 % „naudinga“ įvertinimas pagrindinėms užklausoms prieš plačią diegimą.

Išliekamumas ir vektorių saugyklos: padarykite sprendimą mastelį

Atmintyje laikomi indeksai nepakanka realiems darbo krūviams. Išsaugokite vektorių duomenų bazėje ir įgalinkite inkrementinius atnaujinimus.
  • Populiarios platformos: Pinecone, Weaviate, Chroma, Elasticsearch/OpenSearch, Qdrant.
  • Patarimas: Naudokite vardų sritis pagal nuomininką ar skyrių; išlaikykite turtingus metaduomenis.
# Pavyzdys: 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)

Saugumas ir valdymas: dalykas, kurį visi pamiršta

  • Asmens duomenų tvarkymas: slėpkite arba maišykite jautrius laukus įkėlimo metu.
  • Prieigos kontrolė: filtruokite pagal vartotojų roles su metaduomenų apribojimais.
  • Turinio šviežumas: suplanuokite pakartotinį įkėlimą; žymėkite versijas.
  • Saugumas: pridėkite atsisakymo taisykles ir šaltinio apribojimus užklausų šablonuose.
# Pavyzdys: metaduomenų filtravimas užklausų metu
retriever = index.as_retriever(similarity_top_k=8)
retriever.metadata_filters = {"department": ["legal", "security"], "published": [True]}

Nuo prototipo iki produkcijos: diegimo modeliai

  • Serverio modelis: atverkite /query galinį tašką; laikykite indeksą įkaitintą atmintyje.
  • Serverless niuansai: šaltieji startai ir dideli modeliai gali pakenkti vėlinimui; apsvarstykite valdomą inferenciją.
  • Talpinimas: talpinkite įterpimus ir dažnai užduodamus užklausimus; įgalinkite dalinius atnaujinimus.
  • Stebėsena: registruokite rastus mazgus, žetonų naudojimą, atsakymų ilgį ir vartotojų atsiliepimus.
# Minimalus FastAPI apvalkalas
# 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]}

Realūs šablonai: pasirinkite savo kelią

  1. Vidinis politikos asistentas
  • Indeksas: hibridinis (BM25 + vektorius) su perskirstymu
  • Apsaugos: tik šaltinio režimas; „Nežinau“ atsarginis variantas
  • KPI: politikos klausimų sprendimo rodiklis
  1. Klientų aptarnavimo kopilotas
  • Indeksas: produkto dokumentai + leidimų pastabos + bilietai
  • Agentai: API įrankis užsakymų/bilietų statusui tikrinti
  • KPI: pirmo kontakto sprendimas, nukreipimas, CSAT
  1. Tyrimų analitikas
  • Indeksas: tinklas + PDF + užrašai; stipri dublikacijų prevencija
  • Perskirstymas: kryžminis koduotojas; sintezė: map-reduce
  • KPI: laikas iki įžvalgos; citavimo tikslumas
  1. Duomenų kokybės užtikrinimas BI
  • Įrankiai: SQL variklis + RAG metrikų apibrėžimams
  • Valdymas: eilučių lygio politikos; užklausų auditas
  • KPI: teisingumas lyginant su tiesa

Kaina ir vėlinimas: palaikykite greitį (ir žemas sąnaudas)

  • Įterpimai: naudokite partijomis, kur įmanoma; mažesni modeliai atgavimui, perskirstymui – selektyviai.
  • Konteksto dydis: siekite 1–2 tūkst. žetonų aktualiausių gabalų.
  • Talpinimas: talpinkite top-K paieškas karštoms užklausoms; memoizuokite LLM kvietimus su maišytais užklausų šablonais.
  • Lygiagretumas: fan-out paieška → fan-in perskirstymas, kad sumažintumėte vėlinimą.

Dažnos klaidos mokantis naudoti LlamaIndex

  • Per didelis dalijimas, vedantis į paviršutinišką, triukšmingą paiešką
  • Metaduomenų filtrų trūkumas, leidžiantis įtraukti nereikalingus šaltinius
  • Pasikliaujama vienu indeksų tipu visam turiniui
  • Vertinimo praleidimas; diegimas be kokybės standarto
  • Indeksų pasenimas; nėra suplanuoto atnaujinimo

Beje: kaip pagreitinti darbą redaktoriuje

Tobulinant užklausų šablonus, dalijimą ir paieškos nustatymus, verta žinoti, kad AI kodavimo ir tyrimų šoninė juosta, tokia kaip Sider.ai, gali pagreitinti procesą. Galite laikyti kodo fragmentus, užklausų šablonus ir vertinimo pastabas po ranka, generuoti užklausų pakeitimų skirtumus ir greitai išbandyti variantus neišeidami iš naršyklės. Tai ypač patogu, kai derinate LlamaIndex naudojimą įvairioms paieškos strategijoms.

Žingsnis po žingsnio kontrolinis sąrašas: nuo nulio iki produkcijos

  • Įkelkite šaltinius ir normalizuokite metaduomenis
  • Derinkite gabalų dydžius pagal turinio tipą
  • Sukurkite vektorių ir BM25 indeksus; įgalinkite hibridinę paiešką
  • Pridėkite perskirstymą ir metaduomenų filtrus
  • Individualizuokite užklausų šablonus; įgalinkite citavimą ir atsisakymo politiką
  • Įvertinkite tikslumą ir aktualumą testų rinkinyje
  • Išsaugokite vektorių saugykloje; įgalinkite inkrementinius atnaujinimus
  • Pridėkite stebėseną, talpinimą ir RBAC filtrus
  • Supakuokite į API ir nustatykite SLA; dokumentuokite gedimų scenarijus

Svarbiausios įžvalgos

  • Jei norite tvirto RAG sprendimo, LlamaIndex mokymasis sutaupys jums savaičių inžinerijos laiko.
  • Pradėkite paprastai, vėliau pridėkite hibridinę paiešką, perskirstymą ir struktūruotus užklausų šablonus.
  • Įvertinkite prieš mastelį; saugokite indeksus ir stebėkite kokybę produkcijoje.
  • Nuo pat pradžių projektuokite valdymą – saugumas nėra papildoma funkcija.

Kiti žingsniai

  • Sukurkite greito pradžios prototipą su nedideliu dokumentų rinkiniu.
  • Eksperimentuokite su hibridine paieška ir perskirstytuvu.
  • Pridėkite vertinimą ir citavimą; sekite kokybės rodiklius.
  • Perkelkite į išliekamą vektorių saugyklą ir diegkite API.

DUK

K1: Kam naudojamas LlamaIndex RAG programose? LlamaIndex padeda susieti jūsų duomenis su LLM per duomenų įkėlimą, indeksavimą ir paiešką. Tai supaprastina RAG sistemų kūrimą, automatizuodamas dalijimą, vektorių/raktažodžių indeksus ir užklausų koordinavimą.
K2: Kaip pasirinkti tinkamą indekso tipą LlamaIndex? Naudokite vektorių indeksą semantinėms užklausoms, BM25 – tiksliems atitikmenims, pvz., ID ar kodams, o hibridinį metodą – geriausiam atgavimui ir tikslumui. Daugelis komandų derina abu ir prideda perskirstymą top-K rezultatams.
3 klausimas: kaip pagerinti tikslumą naudojant LlamaIndex? Sureguliuokite segmentų dydžius, įtraukite išsamius metaduomenis, įgalinkite hibridinę paiešką ir pridėkite perrūšiavimą. Taip pat įdiekite vertinimą dėl patikimumo ir aktualumo bei naudokite citavimo režimą šaltiniams rodyti.
4 klausimas: ar LlamaIndex gali veikti su mano esama vektorine duomenų baze? Taip. LlamaIndex integruojasi su populiariomis vektorinėmis saugyklomis, tokiomis kaip Pinecone, Weaviate, Chroma, Qdrant ir Elasticsearch. Išsaugokite indeksus, kad užtikrintumėte mastelio keitimą ir laipsniškus atnaujinimus.
5 klausimas: kaip įdiegti LlamaIndex programą gamyboje? Apvyniokite savo užklausų variklį API (pvz., FastAPI), išsaugokite duomenis vektorinėje saugykloje, pridėkite kaupimą talpykloje ir stebėjimą bei nuolat vertinkite kokybę. Užtikrinkite metaduomenų filtrus ir prieigos kontrolę, kad užtikrintumėte saugumą.

Naujausi straipsniai
Kaip įvaldyti ChatPDF: Greitesnės įžvalgos iš sudėtingų dokumentų

Kaip įvaldyti ChatPDF: Greitesnės įžvalgos iš sudėtingų dokumentų

Geriausia X automatinio vertimo alternatyva greitiems ir tiksliems dokumentams

Geriausia X automatinio vertimo alternatyva greitiems ir tiksliems dokumentams

„Samsung“ AI vertimas neprieinamas Irane? Praktiniai sprendimai

„Samsung“ AI vertimas neprieinamas Irane? Praktiniai sprendimai

Persų kalbos vertimo įrankiai: praktiškas vadovas greitesniam ir tikslesniam darbui

Persų kalbos vertimo įrankiai: praktiškas vadovas greitesniam ir tikslesniam darbui

Geriausia Grok alternatyva giluminiams, cituojamiems tyrimams

Geriausia Grok alternatyva giluminiams, cituojamiems tyrimams

15 geriausių AI vaizdų generatoriaus funkcijų, kurias iš tikrųjų naudosite

15 geriausių AI vaizdų generatoriaus funkcijų, kurias iš tikrųjų naudosite