Hierarchia indeksów: wektorowy, drzewa, słów kluczowych
Porównaj VectorStoreIndex (domyślny), TreeIndex (streszczanie) i KeywordTableIndex (rzadki).
Hierarchia indeksów: wektorowy, drzewa, słów kluczowych to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Indeksy w LlamaIndex
LlamaIndex nazywa swoje struktury danych służące do wyszukiwania „indeksami”. Istnieje kilka ich typów, a każdy z nich sprawdza się w innych zadaniach.
VectorStoreIndex (domyślny)
Standardowy indeks oparty na embeddingach — narzędzie używane na co dzień:
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
print(query_engine.query('What is in the handbook?'))TreeIndex
Tworzy hierarchiczne drzewo podsumowań — przydatne w zapytaniach wymagających podsumowania:
from llama_index.core import TreeIndex
index = TreeIndex.from_documents(documents)
# Internal nodes are summaries of their children.
# Good for 'summarise the whole corpus' tasks.KeywordTableIndex
Klasyczne podejście oparte na słowach kluczowych — przydatne, gdy metoda oparta na embeddingach zawodzi w przypadku rzadkich terminów:
from llama_index.core import KeywordTableIndex
index = KeywordTableIndex.from_documents(documents)
# Falls back to exact-match for rare technical terms.SummaryIndex (dawniej ListIndex)
Płaska lista wszystkich fragmentów — przydatna, gdy model LLM ma zobaczyć wszystkie dane:
from llama_index.core import SummaryIndex
index = SummaryIndex.from_documents(documents)
# Best for short corpora where you can stuff everything into context.KnowledgeGraphIndex
Wyodrębnia z dokumentów graf wiedzy (encje i relacje):
from llama_index.core import KnowledgeGraphIndex
index = KnowledgeGraphIndex.from_documents(
documents,
max_triplets_per_chunk=10
)Wybór indeksu
| Zadanie | Indeks |
|---|---|
| Pytania i odpowiedzi według podobieństwa | VectorStoreIndex |
| Podsumowanie całego korpusu | TreeIndex / SummaryIndex |
| Rzadkie, dokładne terminy | KeywordTableIndex |
| Fakty dotyczące relacji | KnowledgeGraphIndex |
Komponowanie indeksów
Indeksy można łączyć — na przykład umieścić drzewo podsumowań nad indeksami wektorowymi poszczególnych dokumentów:
from llama_index.core import ComposableGraph
graph = ComposableGraph.from_indices(
TreeIndex,
[vector_index_doc_1, vector_index_doc_2, ...],
index_summaries=['Doc 1 summary', 'Doc 2 summary']
)Persisting an Index
index.storage_context.persist(persist_dir='./store')
# Reload later:
from llama_index.core import StorageContext, load_index_from_storage
ctx = StorageContext.from_defaults(persist_dir='./store')
index = load_index_from_storage(ctx)Korzystanie z zewnętrznych magazynów wektorowych
LlamaIndex można połączyć z Pinecone, Qdrant, Weaviate i innymi rozwiązaniami:
from llama_index.vector_stores.pinecone import PineconeVectorStore
from llama_index.core import StorageContext, VectorStoreIndex
vector_store = PineconeVectorStore(pinecone_index=pc_index)
storage = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(documents, storage_context=storage)Hybrydowe wyszukiwanie
Połącz wyszukiwanie wektorowe i oparte na słowach kluczowych za pomocą oddzielnych indeksów oraz silnika zapytań, który scala wyniki.
Odświeżanie indeksu
W przypadku aktualizacji dokumentów LlamaIndex obsługuje przyrostowe odświeżanie:
index.refresh_ref_docs(updated_documents)Indeks do podsumowywania
Który typ LlamaIndex najlepiej nadaje się do „podsumowania całego korpusu”?
Podsumowanie
Należy wybrać indeks odpowiedni do danego zadania. Domyślnie warto używać VectorStoreIndex, a po TreeIndex, KeywordTableIndex lub KnowledgeGraphIndex sięgać w wyspecjalizowanych zastosowaniach.
Ucz się AI Agents dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 60
- Lekcje
- 239
Często zadawane pytania
Czy lekcja „Hierarchia indeksów: wektorowy, drzewa, słów kluczowych” jest bezpłatna?
Tak — pełny tekst „Hierarchia indeksów: wektorowy, drzewa, słów kluczowych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Hierarchia indeksów: wektorowy, drzewa, słów kluczowych”?
Porównaj VectorStoreIndex (domyślny), TreeIndex (streszczanie) i KeywordTableIndex (rzadki). Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Hierarchia indeksów: wektorowy, drzewa, słów kluczowych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Loadery i parsery dokumentów
- Hierarchia indeksów: wektorowy, drzewa, słów kluczowych
- Silniki zapytań i synteza odpowiedzi
- Strategia dekompozycji na podzapytania