О чём урок
В этом notebook мы рассмотрим, как определить экстракторы и ретриверы для PropertyGraph Index. Граф свойств представляет собой структурированную коллекцию помеченных узлов (таких как категории сущностей и текстовые метки) со свойствами (метаданными), взаимосвязанных отношениями для формирования структурированных путей (триплетов). В LlamaIndex PropertyGraphIndex играет ключевую роль в: • Построении графа • Запросах к графу Построение графа свойств включает выполнение серии экстракторов графа знаний для каждого фрагмента и прикрепление сущностей и отношений в качестве метаданных к каждому узлу. Вы можете использовать столько экстракторов, сколько необходимо, и все они будут применены. Если не указаны, по умолчанию используются SimpleLLMPathExtractor и ImplicitPathExtractor. Используйте LLM для извлечения коротких утверждений и парсинга одношаговых путей в формате (сущность1, отношение, сущность2). При желании вы также можете настроить как prompt, так и функцию, используемую для парсинга путей. Вот простой (хотя и упрощенный) пример: Извлекает пути, используя атрибут node.relationships для каждого объекта узла LlamaIndex. Этот процесс извлечения не требует LLM или модели embedding, поскольку он просто парсит свойства, которые уже существуют в объектах узлов. Извлекает пути в соответствии со строгой схемой, которая определяет разрешенные сущности, отношения и связи между ними. Используя Pydantic, структурированные выводы из LLM и интеллектуальную валидацию, мы можем динамически определять схему и проверять извлечения для каждого пути (триплета). Помеченные графы свойств предлагают различные методы запросов для извлечения узлов и путей. В LlamaIndex у нас есть возможность одновременно комбинировать несколько техник извлечения узлов! Если субретриверы не указаны, по умолчанию используются LLMSynonymRetriever и VectorContextRetriever (если embeddings включены). В настоящее время включены следующие ретриверы: • LLMSynonymRetriever: Извлекает узлы на основе ключевых слов и синонимов, сгенерированных LLM. • VectorContextRetriever: Извлекает узлы на основе embedded узлов графа. • TextToCypherRetriever: Направляет LLM для генерации Cypher-запросов на основе схемы графа свойств. • CypherTemplateRetriever: Использует Cypher-шаблон с параметрами, выведенными LLM. • CustomPGRetriever: Легко расширяется путем наследования для реализации пользовательской логики извлечения.
План урока
- Создание и использование PropertyGraph
- SimpleLLMPathExtractor
- ImplicitPathExtractor
- SchemaLLMPathExtractor
- Извлечение и запросы
- LLMSynonymRetriever
- VectorContextRetriever
- TextToCypherRetriever
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.