О чём урок
В этом notebook мы демонстрируем базовое использование PropertyGraphIndex в LlamaIndex. Индекс PropertyGraph будет обрабатывать неструктурированные документы, извлекать из них PropertyGraph и предлагать различные методы для запросов к этому графу. Следующие шаги происходят при создании PropertyGraph: PropertyGraphIndex.from_documents(): Мы загружаем документы в индекс. Парсинг узлов: Индекс парсит документы в узлы. Извлечение путей из текста: Узлы передаются в LLM, которому дается prompt для генерации триплетов графа знаний (т.е. путей). Извлечение неявных путей: Свойство node.relationships используется для вывода неявных путей. Генерация embedding'ов: Embeddings генерируются для каждого текстового узла и узла графа, происходя дважды в процессе. Для целей отладки SimplePropertyGraphStore по умолчанию включает вспомогательную функцию для сохранения представления графа networkx в HTML-файл. Выполнение запросов к индексу PropertyGraph обычно включает использование одного или нескольких под-ретриверов и объединение их результатов. Процесс извлечения данных из графа включает: Выбор узлов: Идентификация начальных узлов интереса в графе. Обход: Перемещение от выбранных узлов для исследования связанных элементов. По умолчанию одновременно используются два основных типа извлечения: • Расширение синонимов/ключевых слов: Использование LLM для генерации синонимов и ключевых слов, полученных из запроса. • Векторное извлечение: Использование embedding'ов для поиска узлов в вашем графе. После идентификации узлов вы можете выбрать: • Возвращать пути: Предоставлять пути, смежные с выбранными узлами, обычно в форме триплетов. • Возвращать пути и исходный текст: Предоставлять как пути, так и исходный текст фрагмента, если он доступен. По умолчанию хранение управляется с помощью наших простых in-memory абстракций — SimpleVectorStore для embedding'ов и SimplePropertyGraphStore для PropertyGraph. Мы можем сохранять и загружать эти структуры на диск и с диска. Хотя некоторые графовые базы данных, такие как Neo4j, поддерживают векторы, вы все равно можете указать, какое векторное хранилище использовать с вашим графом в случаях, когда векторы не поддерживаются, или когда вы хотите переопределить настройки по умолчанию. Ниже мы продемонстрируем, как объединить ChromaVectorStore с SimplePropertyGraphStore по умолчанию.
План урока
- Настройка
- Загрузка данных
- Создание PropertyGraphIndex
- Выполнение запросов
- Извлечение
- QueryEngine
- Хранение
- Векторные хранилища
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.