Sider.ai
  • Chat
  • Wisebase
  • Værktøjer
  • Udvidelse
  • Kunder
  • Prissætning
Hent nu
Log på

Lær hurtigere, tænk dybere, og bliv klogere med Sider.

Produkter
Apps
  • Udvidelser
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
Værktøjer
  • WebskaberNew
  • AI DiasNew
  • AI-opgaveforfatter
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI-billedgenerator
  • Italiensk Hjerneforvirringsgenerator
  • Baggrundsfjerner
  • Baggrundsskifter
  • Foto viskelæder
  • Tekstfjerner
  • Inpaint
  • Billedforstørrer
  • Opret
  • AI-oversætter
  • Billedoversætter
  • PDF-oversætter
Sider
  • Kontakt os
  • Hjælpecenter
  • Download
  • Prissætning
  • Uddannelsesplan
  • Hvad er nyt
  • Blog
  • Fællesskab
  • Partnere
  • Affiliate
  • Inviter
©2026 Alle rettigheder forbeholdes
Brugsbetingelser
Privatlivspolitik
  • Hjemmeside
  • Blog
  • AI Værktøjer
  • Sådan bruges LlamaIndex: En praktisk guide fra nul til produktion

Sådan bruges LlamaIndex: En praktisk guide fra nul til produktion

Opdateret den 23. sept. 2025

10 min


Sådan bruges LlamaIndex: En praktisk guide fra nul til produktion

Hvis du nogensinde har forsøgt at bygge en retrieval-augmented generation (RAG) app og tænkt: “Hvorfor er det så besværligt at forbinde embeddings, vektorlagre og prompts?”, så er du ikke alene. LlamaIndex er skabt for at gøre den pipeline hurtig, fornuftig og klar til produktion. I denne praktiske, løsningsorienterede guide vil vi gennemgå, hvordan du bruger LlamaIndex fra start til slut – dataindtagelse, indeksering, forespørgsler, evaluering og implementering – så du kan levere noget pålideligt uden at fare vild i forbindelseskode.
Vi vil bruge en spørgsmålsdrevet struktur med progressive trin, eksekverbare kodebidder og tips fra den virkelige verden. Uanset om du laver en prototype af en chatbot til interne dokumenter eller implementerer en vidensassistent til kunder, vil det spare dig for dage at lære, hvordan du bruger LlamaIndex effektivt.
: LlamaIndex er et framework, der hjælper dig med at forbinde dine data til store sprogmodeller med indekserings-, hentnings- og orkestreringsværktøjer – ideelt til RAG, agenter og strukturerede outputs.

Hvad er LlamaIndex, og hvorfor bruge det?

  • LlamaIndex er et data-framework til LLM-apps. Det leverer byggesten til:
  • Indtagelse: Indlæs filer, websider, databaser og API'er.
  • Chunking & Indeksering: Lav råt indhold om til forespørgselsbare strukturer (vektor-, nøgleords-, grafindekser).
  • Hentning: Hent kontekst med fleksible strategier (BM25, hybrid, reranking).
  • Forespørgselsmaskiner & Agenter: Sammensæt hentning, værktøjer og prompts til en sammenhængende QA-oplevelse.
  • Evaluering & Overvågning: Vurder hentningskvalitet og svarrelevans.
  • Hvornår skal man bruge LlamaIndex:
  • Du ønsker en robust RAG-stack uden at genopfinde chunking, embeddings og hentning.
  • Du har brug for at kombinere flere datakilder (PDF'er + Notion + SQL).
  • Du vil gerne eksperimentere med hybrid hentning, reranking eller strukturerede outputs.
  • Central mental model, når du lærer at bruge LlamaIndex:
  • Data → Nodes → Index → Retriever → Query Engine → App

Hurtig start: Det minimale RAG-loop

Dette er den hurtigste vej til en fungerende prototype. Vi indlæser dokumenter, bygger et vektorindeks og stiller spørgsmål.
# 1) Installer
# 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) Konfigurer din model + embeddings
os.environ["OPENAI_API_KEY"] = "YOUR_KEY" # eller brug en understøttet LLM/embedding-udbyder
llm = OpenAI(model="gpt-4o-mini")
embed_model = OpenAIEmbedding(model="text-embedding-3-small")
# 3) Indlæs dokumenter (f.eks. ./data/*.pdf, .md, .txt)
docs = SimpleDirectoryReader("./data").load_data
# 4) Byg et indeks
index = VectorStoreIndex.from_documents(docs, embed_model=embed_model)
# 5) Opret en forespørgselsmaskine og stil et spørgsmål
query_engine = index.as_query_engine(llm=llm)
response = query_engine.query("What are the key security practices mentioned in the docs?")
print(response)
Det er essensen. Herfra tilføjer rigtige apps bedre chunking, reranking, strukturerede prompts og observerbarhed.

Indtagelse: Bring Your Own Data (BYOD) på den rigtige måde

Når du beslutter, hvordan du skal bruge LlamaIndex til rigtige data, skal du vælge loaders, der matcher dine kilder og bevarer strukturen.
  • Almindelige loaders:
  • Filer: SimpleDirectoryReader, PDF/HTML/Markdown-læsere
  • Web: BeautifulSoupWebReader, sitemap-læsere
  • SaaS: Notion, Confluence, Slack, Google Drive (via connectors)
  • Databaser: SQL og vektor-DB'er (Pinecone, Weaviate, Chroma, Elasticsearch)
  • Tip: Normaliser metadata (titel, forfatter, URL, created_at). Gode metadata giver superkræfter til reranking og filtrering senere.
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

Chunking og Node Parsers: Garbage In, Garbage Out

At få chunking rigtigt er et af de vigtigste trin, når du lærer at bruge LlamaIndex effektivt.
  • Hvorfor chunking er vigtigt: For stort → token bloat og irrelevant hentning. For småt → kontekstfragmentering.
  • Defaults: Rimelige i mange tilfælde, men juster dem til din indholdstype.
  • Heuristikker:
  • Tekniske dokumenter: 512–1024 token chunks med 10–20 % overlap.
  • FAQ'er: Mindre chunks (256–512) for at holde Q/A-par intakte.
  • Juridisk/Politik: Større chunks (1024–1536) for at bevare definitioner + klausuler.
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)]))

Indeksstrategier: Vektor, nøgleord eller hybrid?

At vælge det rigtige indeks er afgørende. Den gode nyhed: LlamaIndex lader dig kombinere dem.
  • Vektorindeks: Fantastisk til semantisk søgning. Bedst til “forklar X” eller fuzzy forespørgsler.
  • Nøgleord (BM25): Stærk til eksakte termer, ID'er, fejlkoder, logs.
  • Hybrid: Kombiner begge; rerank topkandidater med en LLM eller cross-encoder.
from llama_index.core import VectorStoreIndex, SummaryIndex
from llama_index.core.retrievers import BM25Retriever
from llama_index.core.query_engine import RetrieverQueryEngine
# Vektorindeks fra præ-parsede noder
v_index = VectorStoreIndex(nodes)
# BM25 nøgleords-retriever
bm25_retriever = BM25Retriever.from_defaults(nodes=nodes, similarity_top_k=6)
# Hybrid: flet kandidater, og rerank derefter
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)

Reranking og filtre: Øg præcisionen uden at betale for meget

Reranking forbedrer svarkvaliteten ved at omordne hentede chunks efter relevans.
  • Hvornår skal man reranke: Hvis brugerne rapporterer citationer uden for emnet eller lange, polstrede kontekster.
  • Tilgange:
  • Cross-encoders (bi-encoder embedding search → cross-encoder rerank)
  • LLM-baseret reranking (dyrere, nogle gange smartere på nuanceret tekst)
  • Metadatafiltre (f.eks. 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]
)

Prompting og forespørgselsmaskiner: Fra søgning til svar

En forespørgselsmaskine er der, hvor hentning møder generering. For at mestre, hvordan du bruger LlamaIndex i produktion, skal du designe prompts og responssyntese omhyggeligt.
  • Svargenerering strategier:
  • Simpel “stuff” (sammenkædning) til små kontekster
  • Træ eller map-reduce til længere kontekster
  • Citations-tilstand for at vise kilder
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)
  • Brugerdefinerede prompts: Skræddersy tone, strukturerede outputs eller guardrails.
from llama_index.core.prompts import PromptTemplate
qa_tmpl = PromptTemplate(
"""
Du er en kortfattet, evidensbaseret assistent. Brug kun den angivne kontekst.
Hvis du er usikker, så sig, at du ikke ved det. Returner JSON med nøgler: answer, sources.
Question: {query_str}
Context: {context_str}
"""
)
query_engine = v_index.as_query_engine(text_qa_template=qa_tmpl)

Agenter og værktøjer: Når hentning ikke er nok

Nogle gange kræver svar handlinger: kørsel af SQL, kald af API'er eller browsing. LlamaIndex-agenter koordinerer værktøjer og ræsonnement med din hentningspipeline.
  • Anvendelsestilfælde: KPI-dashboards (SQL-værktøj), supportbots (ticket lookup API), research-agenter (web + 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.")

Evaluering: Send ikke noget blindt

At lære at bruge LlamaIndex ansvarligt betyder at validere både hentning og svar før udrulning.
  • Offline eval: Vurder hentnings recall/præcision på et mærket sæt.
  • Online eval: Log brugerprompts, mål tilfredshed, deflection rates og hallucinationer.
  • Indbyggede: LlamaIndex leverer evalueringshjælpere til troværdighed og svarrelevans.
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))
  • Praktisk bar: For interne assistenter skal du målrette >80 % “nyttig” vurdering på topforespørgsler før bred lancering.

Persistens og vektorlagre: Gør det skalerbart

Indekser, der er bygget i hukommelsen, er ikke nok til rigtige arbejdsbelastninger. Gem i en vektor-DB og aktiver trinvise opdateringer.
  • Populære backends: Pinecone, Weaviate, Chroma, Elasticsearch/OpenSearch, Qdrant.
  • Tip: Brug namespaces pr. tenant eller afdeling; hold metadata rige.
# Eksempel: 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)

Sikkerhed og governance: Den del, alle glemmer

  • PII-håndtering: Rediger eller hash følsomme felter under indtagelse.
  • Adgangskontrol: Filtrer efter brugerroller med metadatabegrænsninger.
  • Indholdets friskhed: Planlæg genindtagelse; marker versioner.
  • Sikkerhed: Tilføj afvisningspolitikker og kilde-kun begrænsninger i prompts.
# Eksempel: metadata-baseret filtrering ved forespørgselstid
retriever = index.as_retriever(similarity_top_k=8)
retriever.metadata_filters = {"department": ["legal", "security"], "published": [True]}

Fra prototype til produktion: Implementeringsmønstre

  • Servermønster: Eksponer et /query endpoint; hold indekset varmt i hukommelsen.
  • Serverless gotcha: Kolde starter + store modeller kan skade latency; overvej managed inference.
  • Caching: Cache embeddings og hyppige forespørgselsresultater; aktiver delvise opdateringer.
  • Observerbarhed: Log hentede noder, tokenforbrug, svarlængde og brugerfeedback.
# Minimal FastAPI wrapper
# 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]}

Virkelige blueprints: Vælg din vej

  1. Intern politikassistent
  • Indeks: Hybrid (BM25 + Vektor) med reranking
  • Guardrails: Kilde-kun tilstand; “Jeg ved det ikke” fallback
  • KPI: Opløsningsrate for politikspørgsmål
  1. Kundesupport Copilot
  • Indeks: Produktdokumenter + release notes + tickets
  • Agenter: API-værktøj til at kontrollere ordre-/ticketstatus
  • KPI: Første kontaktløsning, deflection, CSAT
  1. Research Analyst
  • Indeks: Web + PDF'er + noter; stærk deduplikering
  • Rerank: Cross-encoder; syntese: map-reduce
  • KPI: Tid til indsigt; citationsnøjagtighed
  1. Data QA for BI
  • Værktøjer: SQL-maskine + RAG på metriske definitioner
  • Governance: Politikker på rækkeniveau; forespørgselsrevision
  • KPI: Korrekthed vs. ground truth

Omkostninger og latency: Hold det hurtigt (og billigt)

  • Embeddings: Batch, hvor det er muligt; brug mindre modeller til recall, rerank selektivt.
  • Kontekststørrelse: Sigt efter 1-2k tokens af de mest relevante chunks.
  • Caching: Cache top-K hentning til hot forespørgsler; memoize LLM-kald med hashede prompts.
  • Parallelisme: Fan-out hentning → fan-in rerank for at reducere tail latency.

Almindelige faldgruber, når du lærer at bruge LlamaIndex

  • Over-chunking, hvilket fører til overfladisk, støjende hentning
  • Ingen metadatafiltre, hvilket får irrelevante kilder til at smutte ind
  • At stole på en enkelt indekstype til alt indhold
  • At springe evaluering over; at sende uden en kvalitetsbar
  • At lade indekser blive forældede; ingen planlagt opdatering

I øvrigt: Fremskynd din arbejdsgang i editoren

Når du itererer på prompts, chunkers og hentningsindstillinger, er det værd at bemærke, at en AI-kodnings- og research-sidebar som Sider.ai kan fremskynde loopen. Du kan holde kodebidder, prompts og evalueringsnoter ved hånden, generere diffs af promptændringer og hurtigt teste variationer uden at forlade din browser. Dette er især praktisk, når du finjusterer, hvordan du bruger LlamaIndex på tværs af forskellige hentningsstrategier.

Trin-for-trin-tjekliste: Fra nul til produktion

  • Indtag kilder og normaliser metadata
  • Juster chunkstørrelser efter indholdstype
  • Byg vektor + BM25 indekser; aktiver hybrid hentning
  • Tilføj reranking og metadatafiltre
  • Tilpas prompts; aktiver citationer og afvisningspolitik
  • Evaluer troværdighed og relevans på et testsæt
  • Gem i et vektorlager; aktiver trinvise opdateringer
  • Tilføj observerbarhed, caching og RBAC-filtre
  • Wrap i en API og indstil SLA'er; dokumenter fejltilstande

Vigtigste pointer

  • Hvis du vil have en robust RAG-app, vil det at lære at bruge LlamaIndex spare uger af forbindelsesarbejde.
  • Start simpelt, og lag derefter hybrid hentning, reranking og strukturerede prompts.
  • Evaluer, før du skalerer; gem indekser og overvåg kvaliteten i produktionen.
  • Design til governance fra dag ét – sikkerhed er ikke noget, der tilføjes bagefter.

Næste trin

  • Lav en prototype af hurtigstarten på et lille dokumentsæt.
  • Eksperimenter med hybrid hentning og en reranker.
  • Tilføj evaluering og citationer; spor kvalitetsmålinger.
  • Flyt til et persistent vektorlager og implementer en API.

FAQ

Q1: Hvad bruges LlamaIndex til i RAG-applikationer? LlamaIndex hjælper dig med at forbinde dine data til LLM'er med indtagelses-, indekserings- og hentningskomponenter. Det strømliner opbygningen af RAG-systemer ved at håndtere chunking, vektor-/nøgleordsindekser og forespørgselsorkestrering.
Q2: Hvordan vælger jeg den rigtige indekstype i LlamaIndex? Brug et vektorindeks til semantiske forespørgsler, BM25 til eksakte match som ID'er eller koder og en hybridtilgang for den bedste samlede recall og præcision. Mange teams kombinerer begge og tilføjer reranking for top-K resultater.
Spørgsmål 3: Hvordan kan jeg forbedre nøjagtigheden, når jeg bruger LlamaIndex? Juster chunk-størrelser, inkluder fyldige metadata, aktiver hybrid hentning og tilføj en reranker. Implementer også evaluering for troskab og relevans, og brug citationstilstand for at vise kilder.
Spørgsmål 4: Kan LlamaIndex arbejde sammen med min eksisterende vektor database? Ja. LlamaIndex integreres med populære vektorlagre som Pinecone, Weaviate, Chroma, Qdrant og Elasticsearch. Gem indekser for skalerbarhed og inkrementelle opdateringer.
Spørgsmål 5: Hvordan implementerer jeg en LlamaIndex-app i produktion? Indpak din forespørgselsmotor i en API (f.eks. FastAPI), gem data i et vektorlager, tilføj caching og observerbarhed, og evaluer kvaliteten løbende. Håndhæv metadatafiltre og adgangskontrol for sikkerhed.

Seneste artikler
Sådan mestrer du ChatPDF: Få hurtigere indsigt i tætte dokumenter

Sådan mestrer du ChatPDF: Få hurtigere indsigt i tætte dokumenter

Det bedste alternativ til X Auto-Translation for hurtige og præcise dokumenter

Det bedste alternativ til X Auto-Translation for hurtige og præcise dokumenter

Samsung AI-oversættelse ikke tilgængelig i Iran? Praktiske løsninger

Samsung AI-oversættelse ikke tilgængelig i Iran? Praktiske løsninger

Persiske oversættelsesværktøjer: en praktisk guide til hurtigere og mere præcist arbejde

Persiske oversættelsesværktøjer: en praktisk guide til hurtigere og mere præcist arbejde

Det bedste Grok-alternativ til dybdegående, citeret forskning

Det bedste Grok-alternativ til dybdegående, citeret forskning

Top 15 funktioner i AI-billedgeneratorer, du rent faktisk vil bruge

Top 15 funktioner i AI-billedgeneratorer, du rent faktisk vil bruge