0Pricing
AI Agents · Урок

Иерархия индексов: векторный, древовидный, ключевой

Сравните VectorStoreIndex (по умолчанию), TreeIndex (суммаризация) и KeywordTableIndex (разреженный индекс).

«Иерархия индексов: векторный, древовидный, ключевой» — бесплатный урок AI Agents на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Индексы в LlamaIndex

LlamaIndex называет свои структуры данных для извлечения «индексами». Существует несколько типов, каждый из которых подходит для разных задач.

VectorStoreIndex (по умолчанию)

Стандартный индекс на основе эмбеддингов — Ваш основной инструмент на каждый день:

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

Строит иерархическое дерево сводок — полезно для запросов на суммирование:

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

Классический индекс на основе ключевых слов — подходит, когда индекс на основе эмбеддингов не справляется с редкими терминами:

from llama_index.core import KeywordTableIndex

index = KeywordTableIndex.from_documents(documents)
# Falls back to exact-match for rare technical terms.

SummaryIndex (ранее ListIndex)

Плоский список всех фрагментов — полезен, когда Вы хотите, чтобы LLM увидела ВСЕ данные:

from llama_index.core import SummaryIndex

index = SummaryIndex.from_documents(documents)
# Best for short corpora where you can stuff everything into context.

KnowledgeGraphIndex

Извлекает из документов граф знаний (сущности и связи):

from llama_index.core import KnowledgeGraphIndex

index = KnowledgeGraphIndex.from_documents(
    documents,
    max_triplets_per_chunk=10
)

Выбор индекса

ЗадачаИндекс
Вопросы и ответы по сходствуVectorStoreIndex
Суммирование всего корпусаTreeIndex / SummaryIndex
Редкие точные терминыKeywordTableIndex
Факты о связяхKnowledgeGraphIndex

Комбинирование индексов

Можно объединять индексы — например, создать дерево сводок поверх векторных индексов отдельных документов:

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)

Использование внешних векторных хранилищ

Объедините LlamaIndex с Pinecone, Qdrant, Weaviate и другими системами:

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)

Гибридное извлечение

Объединяйте векторный поиск и поиск по ключевым словам с помощью отдельных индексов и механизма запросов, объединяющего результаты.

Обновление индекса

Для обновления документов LlamaIndex поддерживает инкрементальное обновление:

index.refresh_ref_docs(updated_documents)

Индекс для суммирования

Какой тип LlamaIndex лучше всего подходит для задачи «суммировать весь корпус»?

Повторение

Выбирайте индекс в соответствии с задачей. По умолчанию используйте VectorStoreIndex, а для специализированных задач выбирайте TreeIndex, KeywordTableIndex или KnowledgeGraphIndex.

Часто задаваемые вопросы

Урок «Иерархия индексов: векторный, древовидный, ключевой» бесплатный?

Да — полный текст урока «Иерархия индексов: векторный, древовидный, ключевой» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Иерархия индексов: векторный, древовидный, ключевой»?

Сравните VectorStoreIndex (по умолчанию), TreeIndex (суммаризация) и KeywordTableIndex (разреженный индекс). Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Иерархия индексов: векторный, древовидный, ключевой»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Загрузчики и разборщики документов
  2. Иерархия индексов: векторный, древовидный, ключевой
  3. Механизмы запросов и синтез ответов
  4. Стратегия декомпозиции на подвопросы
← Назад к AI Agents