Экстракторы и ретриверы в графе свойств

Урок 111 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

В этом 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: Легко расширяется путем наследования для реализации пользовательской логики извлечения.

План урока

  1. Создание и использование PropertyGraph
  2. SimpleLLMPathExtractor
  3. ImplicitPathExtractor
  4. SchemaLLMPathExtractor
  5. Извлечение и запросы
  6. LLMSynonymRetriever
  7. VectorContextRetriever
  8. TextToCypherRetriever

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды