К
Константин Доронин
@kdoronin_blog5.7K подп.
2.2Kпросмотров
38.6%от подписчиков
18 марта 2026 г.
question📷 ФотоScore: 2.4K
Как покрыть доменную область с помощью Graphiti? У данного фреймворка есть три основных сущности: 1. Episodes: узлы графа, которые пользователь подаёт извне. 2. Entities: порождаемые узлы, создаваемые LLM при добавлении эпизода. 3. Edges: рёбра между узлами. Также Graphiti позволяет создавать кастомные Entity и Edge. При этом количество кастомных сущностей может быть не более 10, а кастомных эпизодов в Graphiti не предусмотрено. Попробуйте найди область знаний, которую можно покрыть десятком кастомных типов сущностей. Это не так-то просто – я пробовал. Как быть? На самом деле, 10 кастомных сущностей/связей – это то количество, которое Graphiti с помощью LLM может создать на базе одного эпизода. Почему бы не заводить кастомные эпизоды на уровне приложения? А отличаться они будут набором сущностей (Entity&Edges), которые мы передаём в качестве порождаемых при отправке эпизода. Создаём каталог сущностей, через Pydantic задаём их поля. А потом соотносим их с нужными типами эпизодов. Таким образом мы решаем следующие проблемы: 1. Покрытие домена детерменированными понятными узлами и связями. 2. Понятное разделение между типами событий, которые отправляет приложение. 3. Анализ информации при извлечении из графа становится проще. Без расплывчатых "Entity", которые могут скрывать в себе всё, что угодно. Само собой, я не агитирую создавать сущности ради сущностей. Но существуют кейсы, когда их нужно больше десятка. Как быть в таком случае – я описал выше. p.s.: тут не так давно neo4j обновили интерфейс своего дашборда. И сняли ограничение на 300 узлов в отображаемом графе. Поэтому теперь можно делать скриншоты с 1000+ узлов в интерфейсе. В медиа поста граф, в котором около 20 кастомных Entity.
2.2K
просмотров
1741
символов
Нет
эмодзи
Да
медиа

Другие посты @kdoronin_blog

Все посты канала →
Как покрыть доменную область с помощью Graphiti? У данного ф — @kdoronin_blog | PostSniper