Fragments
Онтология отражает язык вашей предметной области, на котором вы разговариваете каждый день в своей работе.
Этот язык не нужно придумывать — его нужно «вытащить на поверхность» и оцифровать.
Когда вы создаёте онтологию, вы формализуете этот язык, чтобы его одинаково понимали и вы, и ваши коллеги, и машины.
В процессе создания онтологии вы и другие эксперты договариваетесь о терминах и делаете неявные знания явными.
Одновременно вы создаёте и «скелет» знаний для LLM — основу, на которую модель сможет опираться при решении ваших задач.
LLM прекрасно натренированы на синтаксисе формальных онтологий (например, Turtle) и хорошо его понимают.
Передавая онтологию в контекст LLM через промпт (in-context learning), вы выполняете «заземление» рассуждений модели (grounding) и резко снижаете вероятность галлюцинаций.
Модель буквально начинает говорить на вашем языке.
Структура формальных онтологий (тройки субъект-предикат-объект) естественным образом отображается на структуру графовых баз данных.
Разрабатывая онтологию, вы фактически проектируете схему вашей будущей графовой базы данных.
А дальше — всего один шаг, чтобы начать разговаривать с вашими данными в графовой БД на вашем языке.
Отдельный вызов — научиться фреймить контексты, чтобы не перегружать LLM и управлять её вниманием. То есть не просто передавать в модель всю онтологию, а динамически собирать из неё релевантные подграфы — «подъязыки», соответствующие конкретным задачам.
О многом из сказанного в этом тексте я уже писал в своих предыдущих постах — и пытливый ум при желании мог воссоздать эту «картину» ещё несколько месяцев назад.