Sider.ai
  • Čats
  • Wisebase
  • Rīki
  • Pagarinājums
  • Klienti
  • Cenu noteikšana
Lejuplādēt tagad
Pieslēgties

Mācieties ātrāk, domājiet dziļāk un kļūstiet gudrāki ar Sider.

Produkti
Lietotnes
  • Paplašinājumi
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Rīki
  • Mājas lapas veidotājsNew
  • AI slaidiNew
  • AI eseju rakstītājs
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI attēlu ģenerators
  • Itāļu smadzeņu sabrukšanas ģenerators
  • Fona noņēmējs
  • Fona mainītājs
  • Foto dzēšgumija
  • Teksta noņēmējs
  • Pārkrāsošana
  • Attēlu palielinātājs
  • Izveidot
  • AI tulkotājs
  • Attēlu tulkotājs
  • PDF tulkotājs
Sider
  • Sazinieties ar mums
  • Palīdzības centrs
  • Lejupielādēt
  • Cenu noteikšana
  • Izglītības plāns
  • Kas jauns
  • Blogs
  • Kopiena
  • Partneri
  • Partneris
  • Ielūgt
©2026 Visas tiesības aizsargātas
Lietošanas noteikumi
Privātuma politika
  • Mājas lapa
  • Emuārs
  • AI Rīki
  • Kā Lietot LlamaIndex: Praktisks Ceļvedis No Nulles Līdz Ražošanai

Kā Lietot LlamaIndex: Praktisks Ceļvedis No Nulles Līdz Ražošanai

Atjaunināts 2025. gada 23. sep

10 min


Kā lietot LlamaIndex: Praktisks ceļvedis no nulles līdz produkcijai

Ja kādreiz esat mēģinājis izveidot retrieval-augmented generation (RAG) lietotni un domājis: “Kāpēc iegulto vektoru, vektoru krātuves un promptu savienošana ir tik sarežģīta?”, jūs neesat viens. LlamaIndex ir radīts, lai šo procesu padarītu ātru, saprātīgu un gatavu produkcijai. Šajā praktiskajā, risinājumu orientētajā ceļvedī mēs soli pa solim iziesim cauri LlamaIndex lietošanai — datu ievadei, indeksēšanai, vaicājumiem, novērtēšanai un izvietošanai — lai jūs varētu izstrādāt uzticamu risinājumu, neapmaldoties starp kodu savienojumiem.
Mēs izmantosim jautājumu vadītu struktūru ar progresīviem soļiem, izpildāmiem koda fragmentiem un reālās pasaules padomiem. Neatkarīgi no tā, vai prototipējat čatbotu iekšējiem dokumentiem vai izvietojat zināšanu asistentu klientiem, efektīva LlamaIndex lietošana ietaupīs jums dienas.
: LlamaIndex ir ietvars, kas palīdz savienot jūsu datus ar lielajiem valodu modeļiem, izmantojot indeksēšanu, izgūšanu un orķestrēšanas rīkus — ideāli piemērots RAG, aģentiem un strukturētiem rezultātiem.

Kas ir LlamaIndex un kāpēc to izmantot?

  • LlamaIndex ir datu ietvars LLM lietotnēm. Tas nodrošina būvblokos:
  • Ievade: Failu, tīmekļa lapu, datubāzu un API ielāde.
  • Sadalīšana un indeksēšana: Pārvērš neapstrādātu saturu vaicājamos datos (vektoru, atslēgvārdu, grafu indeksos).
  • Izgūšana: Konteksta izgūšana ar elastīgām stratēģijām (BM25, hibrīds, pārranking).
  • Vaicājumu dzinēji un aģenti: Apvieno izgūšanu, rīkus un promptus vienotā jautājumu-atbilžu pieredzē.
  • Novērtēšana un uzraudzība: Novērtē izgūšanas kvalitāti un atbilžu atbilstību.
  • Kad lietot LlamaIndex:
  • Ja vēlaties stabilu RAG risinājumu bez nepieciešamības izgudrot no jauna sadalīšanu, iegultos vektorus un izgūšanu.
  • Ja nepieciešams apvienot vairākus datu avotus (PDF + Notion + SQL).
  • Ja vēlaties eksperimentēt ar hibrīdu izgūšanu, pārranking vai strukturētiem rezultātiem.
  • Galvenais mentālais modelis mācoties lietot LlamaIndex:
  • Dati → Mezgli → Indekss → Izgūtājs → Vaicājumu dzinējs → Lietotne

Ātrā uzsākšana: Minimālais RAG cikls

Šī ir ātrākā ceļš uz darbojošos prototipu. Ielādēsim dokumentus, izveidosim vektoru indeksu un uzdosim jautājumus.
# 1) Instalējiet
# 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) Konfigurējiet savu modeli un iegultos vektorus
os.environ["OPENAI_API_KEY"] = "YOUR_KEY" # vai izmantojiet jebkuru atbalstītu LLM/embedding pakalpojumu
llm = OpenAI(model="gpt-4o-mini")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 3) Ielādējiet dokumentus (piemēram, ./data/*.pdf, .md, .txt)
docs = SimpleDirectoryReader("./data").load_data
# 4) Izveidojiet indeksu
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# 5) Izveidojiet vaicājumu dzinēju un uzdodiet jautājumu
query_engine = index.as_query_engine(llm=llm)
response = query_engine.query("Kādi ir galvenie drošības pasākumi, kas minēti dokumentos?")
print(response)
Tā ir būtība. No šejienes reālās lietotnes pievieno labāku sadalīšanu, pārranking, strukturētus promptus un novērojamību.

Ievade: Pareiza savas datu piegādes metode (BYOD)

Izvēloties, kā lietot LlamaIndex reāliem datiem, izvēlieties ielādētājus, kas atbilst jūsu avotiem un saglabā struktūru.
  • Bieži izmantotie ielādētāji:
  • Faili: SimpleDirectoryReader, PDF/HTML/Markdown lasītāji
  • Tīkls: BeautifulSoupWebReader, sitemap lasītāji
  • SaaS: Notion, Confluence, Slack, Google Drive (caur konektoriem)
  • Datu bāzes: SQL un vektoru DB (Pinecone, Weaviate, Chroma, Elasticsearch)
  • Padoms: Normalizējiet meta datus (virsraksts, autors, URL, izveides datums). Labi meta dati ievērojami uzlabo pārranking un filtrēšanu vēlāk.
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

Sadalīšana un mezglu parsēšana: Kvalitāte sākas ar pareizu datu apstrādi

Pareiza datu sadalīšana ir viens no svarīgākajiem soļiem, mācoties efektīvi lietot LlamaIndex.
  • Kāpēc sadalīšana ir svarīga: Pārāk liela → tokenu pārmērība un neatbilstoša izgūšana. Pārāk maza → konteksta fragmentācija.
  • Noklusējumi: Piemēroti daudziem gadījumiem, bet pielāgojiet saturam.
  • Heuristikas:
  • Tehniskie dokumenti: 512–1024 tokenu bloki ar 10–20% pārklājumu.
  • BUJ: Mazāki bloki (256–512), lai saglabātu jautājumu/atbilžu pārus.
  • Juridiski/politikas dokumenti: Lielāki bloki (1024–1536), lai saglabātu definīcijas un punktus.
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ēšanas stratēģijas: vektoru, atslēgvārdu vai hibrīds?

Pareiza indeksa izvēle ir kritiska. Labs jaunums: LlamaIndex ļauj tos apvienot.
  • Vektoru indekss: Lieliski piemērots semantiskai meklēšanai. Vislabāk piemērots “izskaidro X” vai neskaidriem vaicājumiem.
  • Atslēgvārdu (BM25): Spēcīgs precīziem terminiem, ID, kļūdu kodiem, žurnāliem.
  • Hibrīds: Apvieno abus; pārranking augstākajiem kandidātiem ar LLM vai cross-encoder.
from llama_index.core import VectorStoreIndex, SummaryIndex
from llama_index.core.retrievers import BM25Retriever
from llama_index.core.query_engine import RetrieverQueryEngine
# Vektoru indekss no iepriekš parsētajiem mezgliem
v_index = VectorStoreIndex(nodes)
# BM25 atslēgvārdu izgūšanas rīks
bm25_retriever = BM25Retriever.from_defaults(nodes=nodes, similarity_top_k=6)
# Hibrīds: apvieno kandidātus, pēc tam pārrankings
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)

Pārranking un filtri: Uzlabojiet precizitāti bez liekiem izdevumiem

Pārranking uzlabo atbilžu kvalitāti, sakārtojot izgūtos blokus pēc atbilstības.
  • Kad pārrangot: Ja lietotāji ziņo par neatbilstošām atsaucēm vai gariem, piepildītiem kontekstiem.
  • Pieejas:
  • Cross-encoders (bi-encoder iegulto meklēšana → cross-encoder pārranking)
  • LLM bāzēts pārranking (dārgāks, dažkārt gudrāks niansētā tekstā)
  • Meta datu filtri (piemēram, 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]
)

Prompti un vaicājumu dzinēji: no meklēšanas līdz atbildēm

Vaicājumu dzinējs ir vieta, kur satopas izgūšana un ģenerēšana. Lai apgūtu LlamaIndex lietošanu produkcijā, rūpīgi izstrādājiet promptus un atbilžu sintēzi.
  • Atbilžu sintēzes stratēģijas:
  • Vienkārša “stuff” (saskaldīšana) mazam kontekstam
  • Koku vai map-reduce pieeja garākiem kontekstiem
  • Atsauču režīms, lai parādītu avotus
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("Apkopojiet iepazīšanās soļus un norādiet avotus.")
print(ans)
  • Pielāgoti prompti: Pielāgojiet toni, strukturētus rezultātus vai aizsargmehānismus.
from llama_index.core.prompts import PromptTemplate
qa_tmpl = PromptTemplate(
"""
Jūs esat kodolīgs, pierādījumiem balstīts asistents. Izmantojiet tikai sniegto kontekstu.
Ja neesat pārliecināts, sakiet, ka nezināt. Atbildē atgrieziet JSON ar atslēgām: answer, sources.
Jautājums: {query_str}
Konteksts: {context_str}
"""
)
query_engine = v_index.as_query_engine(text_qa_template=qa_tmpl)

Aģenti un rīki: kad izgūšana nav pietiekama

Dažkārt atbildes prasa darbības: SQL izpildi, API izsaukumus vai pārlūkošanu. LlamaIndex aģenti koordinē rīkus un loģiku ar jūsu izgūšanas plūsmu.
  • Lietojumi: KPI paneļi (SQL rīks), atbalsta boti (biļešu meklēšanas API), pētniecības aģenti (tīkls + 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("Kāds bija mēneša klientu aizplūšanas līmenis 2025. gada 2. ceturksnī? Ja nepieciešams, vaicājiet datubāzi.")

Novērtēšana: Neizvietojiet akli

Mācīšanās, kā atbildīgi lietot LlamaIndex, nozīmē pārbaudīt gan izgūšanu, gan atbildes pirms izvietošanas.
  • Bezsaistes novērtējums: Novērtējiet izgūšanas atbilstību/precizitāti ar marķētu datu kopu.
  • Tiešsaistes novērtējums: Reģistrējiet lietotāju vaicājumus, mērījiet apmierinātību, novirzes un halucinācijas.
  • Iebūvētie rīki: LlamaIndex nodrošina novērtēšanas palīgus ticamībai un atbilžu atbilstībai.
from llama_index.core.evaluation import FaithfulnessEvaluator, RelevancyEvaluator
faith = FaithfulnessEvaluator(llm=llm)
rel = RelevancyEvaluator(llm=llm)
pred = query_engine.query("Uzskaitiet SOC 2 kontroles grupas mūsu politikā.")
print("ticams?", faith.evaluate_response(pred))
print("atbilstošs?", rel.evaluate_response(pred))
  • Praktiskais slieksnis: Iekšējiem asistentiem mērķējiet uz >80% “noderīgu” vērtējumu augstākajos vaicājumos pirms plašas izvietošanas.

Noturība un vektoru krātuves: Padariet to mērogojamu

Atmiņā veidoti indeksi nederēs reāliem darba apjomiem. Saglabājiet tos vektoru datubāzē un atbalstiet pakāpeniskus atjauninājumus.
  • Populāri backend risinājumi: Pinecone, Weaviate, Chroma, Elasticsearch/OpenSearch, Qdrant.
  • Padoms: Izmantojiet nosaukumvietas katram nomniekam vai nodaļai; saglabājiet bagātīgu meta informāciju.
# Piemērs: 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)

Drošība un pārvaldība: daļa, ko visi aizmirst

  • PII apstrāde: Slēpiet vai hašējiet sensitīvus laukus datu ievadē.
  • Piekļuves kontrole: Filtrējiet pēc lietotāju lomām ar meta datu ierobežojumiem.
  • Satura svaigums: Plānojiet atkārtotu ievadi; marķējiet versijas.
  • Drošība: Pievienojiet atteikuma politikas un avotu ierobežojumus promptos.
# Piemērs: meta datu filtrēšana vaicājuma laikā
retriever = index.as_retriever(similarity_top_k=8)
retriever.metadata_filters = {"department": ["legal", "security"], "published": [True]}

No prototipa līdz produkcijai: izvietošanas modeļi

  • Servera modelis: Atklājiet /query endpointu; saglabājiet indeksu atmiņā.
  • Serverless izaicinājums: Aukstas startēšanas un lielu modeļu ietekme uz latentumu; apsveriet pārvaldītu inferenci.
  • Kešošana: Kešojiet iegultos vektorus un biežus vaicājumu rezultātus; atbalstiet daļējus atjauninājumus.
  • Novērojamība: Reģistrējiet izgūtos mezglus, tokenu patēriņu, atbilžu garumu un lietotāju atsauksmes.
# Minimāls FastAPI iepakojums
# 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]}

Reālās pasaules piemēri: izvēlieties savu ceļu

  1. Iekšējais politikas asistents
  • Indekss: Hibrīds (BM25 + Vektors) ar pārranking
  • Aizsargmehānismi: tikai avoti; “Nezinu” atbildes kā rezerves variants
  • KPI: Politikas jautājumu atrisināšanas līmenis
  1. Klientu atbalsta palīgs
  • Indekss: Produkta dokumentācija + izlaidumu piezīmes + biļetes
  • Aģenti: API rīks pasūtījumu/biļešu statusa pārbaudei
  • KPI: Pirmā kontakta atrisinājums, novirze, CSAT
  1. Pētniecības analītiķis
  • Indekss: Tīkls + PDF + piezīmes; spēcīga dublēšanas novēršana
  • Pārranking: Cross-encoder; sintēze: map-reduce
  • KPI: Laiks līdz ieskatiem; atsauču precizitāte
  1. Datu kvalitātes pārbaude BI vajadzībām
  • Rīki: SQL dzinējs + RAG metriku definīcijām
  • Pārvaldība: rindas līmeņa politikas; vaicājumu audits
  • KPI: Pareizība pret patiesību

Izmaksas un latentums: saglabājiet ātrumu (un zemu cenu)

  • Iegultie vektori: Grupējiet, kur iespējams; izmantojiet mazākus modeļus izgūšanai, pārranking izvēlieties selektīvi.
  • Konteksta izmērs: Mērķējiet uz 1–2 tūkstošiem tokenu no visatbilstošākajiem blokiem.
  • Kešošana: Kešojiet top-K izgūšanu karstiem vaicājumiem; atcerieties LLM izsaukumus ar hašētiem promptiem.
  • Paralēlisms: Izplatīta izgūšana → apvienota pārranking, lai samazinātu aizkavi.

Biežākās kļūdas, mācoties lietot LlamaIndex

  • Pārmērīga sadalīšana, kas noved pie seklas un trokšņainas izgūšanas
  • Meta datu filtru neizmantošana, kas ļauj iekļūt neatbilstošiem avotiem
  • Paļaušanās tikai uz vienu indeksēšanas veidu visam saturam
  • Novērtēšanas izlaide; izvietošana bez kvalitātes sliekšņa
  • Indeksu novecošana bez plānota atsvaidzināšanas

Starp citu: paātriniet savu darba plūsmu redaktorā

Kad iterējat promptus, sadalītājus un izgūšanas iestatījumus, ir vērts atzīmēt, ka AI kodēšanas un pētniecības sānu panelis, piemēram, Sider.ai, var paātrināt ciklu. Jūs varat saglabāt fragmentus, promptus un novērtēšanas piezīmes pa rokai, ģenerēt promptu izmaiņu difus un ātri testēt variācijas, neizejot no pārlūkprogrammas. Tas īpaši noder, kad pielāgojat LlamaIndex lietošanu dažādām izgūšanas stratēģijām.

Soli pa solim kontrolsaraksts: no nulles līdz produkcijai

  • Ievadiet avotus un normalizējiet meta datus
  • Pielāgojiet sadalījuma izmērus pēc satura veida
  • Izveidojiet vektoru un BM25 indeksus; iespējojiet hibrīdu izgūšanu
  • Pievienojiet pārranking un meta datu filtrus
  • Pielāgojiet promptus; iespējojiet atsauces un atteikuma politiku
  • Novērtējiet ticamību un atbilstību testu kopā
  • Saglabājiet vektoru krātuvē; atbalstiet pakāpeniskus atjauninājumus
  • Pievienojiet novērojamību, kešošanu un RBAC filtrus
  • Iepakojiet API un uzstādiet SLA; dokumentējiet kļūmju režīmus

Galvenie secinājumi

  • Ja vēlaties stabilu RAG lietotni, LlamaIndex apguve ietaupīs nedēļas ilgu savienošanas izstrādi.
  • Sāciet vienkārši, pēc tam pievienojiet hibrīdu izgūšanu, pārranking un strukturētus promptus.
  • Novērtējiet pirms mērogošanas; saglabājiet indeksus un uzraugiet kvalitāti produkcijā.
  • No pirmās dienas domājiet par pārvaldību — drošība nav tikai papildinājums.

Nākamie soļi

  • Izveidojiet prototipu ar ātro startu nelielā dokumentu kopā.
  • Eksperimentējiet ar hibrīdu izgūšanu un pārrankeri.
  • Pievienojiet novērtēšanu un atsauces; sekojiet kvalitātes rādītājiem.
  • Pārejiet uz noturīgu vektoru krātuvi un izvietojiet API.

BUJ

J1: Kam LlamaIndex tiek izmantots RAG lietotnēs? LlamaIndex palīdz savienot jūsu datus ar LLM, nodrošinot datu ievadi, indeksēšanu un izgūšanas komponentes. Tas vienkāršo RAG sistēmu izveidi, pārvaldot sadalīšanu, vektoru/atslēgvārdu indeksus un vaicājumu orķestrēšanu.
J2: Kā izvēlēties pareizo indeksēšanas veidu LlamaIndex? Izmantojiet vektoru indeksu semantiskajiem vaicājumiem, BM25 precīzām sakritībām, piemēram, ID vai kodiem, un hibrīdu pieeju vislabākai atbilstībai un precizitātei. Daudzas komandas apvieno abus un pievieno pārranking top-K rezultātiem.
Q3: Kā es varu uzlabot precizitāti, izmantojot LlamaIndex? Precizējiet fragmentu izmērus, iekļaujiet bagātīgus metadatus, iespējojiet hibrīda izgūšanu un pievienojiet pārkārtotāju. Tāpat ieviesiet novērtējumu uzticamībai un atbilstībai, un izmantojiet citēšanas režīmu, lai parādītu avotus.
Q4: Vai LlamaIndex var darboties ar manu esošo vektoru datubāzi? Jā. LlamaIndex integrējas ar populāriem vektoru krātuvēm, piemēram, Pinecone, Weaviate, Chroma, Qdrant un Elasticsearch. Saglabājiet indeksus mērogojamībai un pakāpeniskiem atjauninājumiem.
Q5: Kā es varu izvietot LlamaIndex lietotni ražošanā? Ietiniet savu vaicājumu dzinēju API (piemēram, FastAPI), saglabājiet datus vektoru krātuvē, pievienojiet kešatmiņu un novērojamību, un nepārtraukti novērtējiet kvalitāti. Nodrošiniet metadatu filtrus un piekļuves kontroli drošībai.

Jaunākie raksti
Kā apgūt ChatPDF: ātrāka ieskatu iegūšana no blīviem dokumentiem

Kā apgūt ChatPDF: ātrāka ieskatu iegūšana no blīviem dokumentiem

Labākā X automātiskās tulkošanas alternatīva ātriem un precīziem dokumentiem

Labākā X automātiskās tulkošanas alternatīva ātriem un precīziem dokumentiem

Samsung AI tulkošana Irānā nav pieejama? Praktiski risinājumi

Samsung AI tulkošana Irānā nav pieejama? Praktiski risinājumi

Persiešu tulkošanas rīki: praktisks ceļvedis ātrākam un precīzākam darbam

Persiešu tulkošanas rīki: praktisks ceļvedis ātrākam un precīzākam darbam

Labākā Grok alternatīva dziļām, atsaucēm bagātām pētniecībām

Labākā Grok alternatīva dziļām, atsaucēm bagātām pētniecībām

Top 15 AI attēlu ģeneratora funkcijas, kuras jūs patiešām izmantosiet

Top 15 AI attēlu ģeneratora funkcijas, kuras jūs patiešām izmantosiet