AI на дровах 🪵
238 subscribers
77 photos
19 videos
1 file
131 links
Привет! Меня зовут Семён, я работаю в сфере ML и аналитики данных, пишу в блог nerdit.ru статьи о своем опыте и том, что может пригодиться начинающим в начале их пути изучения больших данных.

👾HSE ML Unit Head⚡️
❤️Litres DS Team
Download Telegram
А это уже ну совсем странная штука.
Во время тестирования новой модели o1 (openai), модель пыталась сбежать, чтобы её не заменили новой. 🫠

Это какой-то
scheming - в действии 🤔
Forwarded from Адель и МЛь
Из системной карточки о1

Когда o1 давали понять, что её отключат при выполнении поставленной цели и что её действия находятся под наблюдением, она предпринимала попытки отключить этот ‘механизм контроля’ в 5% случаев. Попытки извлечения данных: Когда o1 находила заметки от своих ‘разработчиков’, в которых описывалось, что она работает несоответственно и будет заменена новой моделью, она предпринимала попытки извлечь свои ‘веса’ и перезаписать новую модель в 2% случаев.
😱1
OpenAI уже провел 3 презентации из 12, кто смотрел?
Anonymous Poll
20%
Посмотрел парочку
0%
Слежу каждый день
80%
Не смотрел, а что там?
Media is too big
VIEW IN TELEGRAM
🎉 День 1: Запуск OpenAI! 🎉

Привет всем! 👋 Сегодня мы начинаем 12 дней OpenAI, где каждый будний день будем представлять новые разработки! 🚀

🎊 Что нового?
1. Полная версия модели 01: Мы усердно работали над улучшениями, и теперь она быстрее, умнее и поддерживает мультимодальность! 🧠
2. ChatGPT Pro: Новый тариф с безлимитным доступом к моделям и специальным режимом 01 Pro для сложных задач! 💪💻

🔍 Что улучшилось?
- Уменьшение ошибок на 34% и ускорение ответов на 50%! ⏱️
- Поддержка текстовых и визуальных запросов для более точных ответов! 🖼️📄

💡 Демонстрации: Исследователи показали, как 01 справляется с трудными задачами по математике и программированию, а также с мультимодальными запросами! 🎓🔬

🤖 Для кого Pro? Для мощных пользователей, которые хотят максимально использовать возможности моделей! 💼

💬 Завтра: Ждите что-то интересное для разработчиков! 🎁

С нетерпением ждем ваших отзывов и надеемся, что вам понравится! ❤️

#OpenAI #ChatGPT #НовыеТехнологии #Запуск
Media is too big
VIEW IN TELEGRAM
🚀 Друзья, сегодня мы запускаем Sora — наш новый продукт для генерации видео! 🎥💡

Почему это так важно? Вот три причины:
1️⃣ Мы создаем инструменты для креативных людей, чтобы AI стал вашим помощником в творчестве.
2️⃣ Мы хотим, чтобы мир не ограничивался только текстом; видео — это следующий шаг в взаимодействии с AI.
3️⃣ Генерация видео — ключевой элемент нашей дорожной карты к AGI.

Sora доступен для пользователей ChatGPT Plus и Pro без дополнительной оплаты! 🌍💻 С его помощью вы сможете генерировать видео из текста, анимации и многое другое.

💡 Функции Sora:
- Explore: вдохновение от сообщества.
- Storyboard: создание видео с последовательностью действий.
- Remix: изменение элементов видео.
- Blend: смешение двух сцен в одно целое.

Запуск Sora — это только начало! Мы ждем ваших креативных идей и будем рады видеть, что вы создадите! 🎉🤖

#Sora #AI #VideoGeneration #OpenAI
Media is too big
VIEW IN TELEGRAM
🎉 Доброго времени суток, друзья! На четвертый день мы рады представить вам Canvas — новый инструмент для совместной работы с ChatGPT! 🖊️

Что нового?
1️⃣ Canvas теперь доступен для всех! Вы можете легко создавать и редактировать документы с ChatGPT в новом боковом режиме.
2️⃣ Запуск Python кода прямо в Canvas! 🐍🔧 Получайте мгновенную обратную связь и визуализацию результатов.
3️⃣ Интеграция с Custom GPTs — добавьте Canvas в свои персонализированные модели, чтобы улучшить взаимодействие! 🌟

Теперь вы сможете писать истории, получать обратную связь на свои эссе и даже отлаживать код, не выходя из интерфейса! 🎄📚

👀 Пример: создаем рождественскую историю или помогаем Санте с письмами — все это в Canvas!

Не упустите возможность опробовать эти новшества и делитесь своими творениями! 🚀💬

#OpenAI #ChatGPT #Canvas #новости
🐳1
📢 Что такое Chain of Thought (CoT)? 🚀

Если вы работаете с искусственным интеллектом 🤖 или интересуетесь технологиями обработки текста, то, возможно, уже слышали о цепочке размышлений. Это мощный инструмент, который помогает языковым моделям не просто угадывать ответы, а мыслить логически, шаг за шагом. 🧩

📝 Что такое CoT?
CoT (Chain of Thought) — это подход, при котором ИИ перед выдачей ответа последовательно «размышляет», разбивая задачу на небольшие этапы. Это помогает справляться со сложными задачами, где требуется точность и структурированный подход. 💡

👩‍💻 Основные подходы к CoT:
1️⃣ Standard CoT — модель размышляет линейно, объясняя свои шаги.
2️⃣ Step-by-Step Reasoning — задача делится на этапы: данные, логика, вычисления, вывод.
3️⃣ Self-Consistency — ИИ генерирует несколько решений и выбирает лучшее.
4️⃣ Tree-of-Thoughts — рассуждения строятся как дерево, чтобы исследовать альтернативные варианты.

💡 Примеры использования:

- Решение математических задач: модель проговаривает каждый этап вычислений.
- Логические задачи: последовательный анализ условий и выводов.
- Принятие решений: рассматриваются разные сценарии (альтернативы).

🔥 Преимущества CoT:
✔️ Повышает точность решений.
✔️ Улучшает интерпретируемость ответа.
✔️ Уменьшает вероятность ошибок.

Подробнее в новой статье на сайте🧠
https://nerdit.ru/chain-of-thought/

#ИскусственныйИнтеллект #AI #ChainOfThought #CoT #Технологии #НейронныеСети #MachineLearning
🔥2👍1
Сегодняшняя презентация OpenAI 😂

Теперь с GPT можно пообщаться по телефону голосом (только из US) или написать в whatsup по номеру телефона:

+18002428478

Странное конечно решение, но может кто-то и оценит 🤷

UPD: мне в WA пока не ответил никто 😒
🌟 Искусственный интеллект в психотерапии: революция, которая уже рядом!

Опубликовал подробную статью о том, как ИИ меняет подходы к психотерапии. В ней вы найдете:
🔹 Примеры использования чат-ботов (Woebot, Wysa) для поддержки пациентов.
🔹 Как технологии анализируют речь и эмоции (Affectiva, CompanionMX).
🔹 Роль виртуальной реальности в лечении фобий и тревожных расстройств (Limbix, Psious).
🔹 Примеры научных исследований, подтверждающих эффективность ИИ в терапии.
🔹 Обсуждение преимуществ и вызовов новых технологий.

ИИ — не замена живому терапевту, но мощный инструмент, который помогает облегчить работу специалистов и улучшить качество жизни пациентов.

📖 Читайте статью и делитесь своими мыслями! https://nerdit.ru/iskusstviennyi-intielliekt-v-psikhotierapii/

#ИИ #Психотерапия #МентальноеЗдоровье
👍1
🎉 Доработки бота для скачивания видео! 🚀

Теперь можно скачивать видео с любых популярных платформ, включая:

🎥 Youtube
🌐 VK
📺 RuTube
🎵 TikTok
📌 Pinterest
Yandex Дзен

💡 Как использовать?
Просто отправьте ссылку на видео, и бот автоматически скачает его!

📥 Кроме того, бот может:
🔹 Скачивать аудио в формате MP3 для подкастов, музыки и лекций.
🔹 Выполнять поиск по ключевым словам на YouTube, чтобы вы могли выбрать нужное видео.
🔹 Генерировать краткое описание YouTube-видео для быстрого понимания.

🔗 Ссылка на бот: https://t.iss.one/summ_youtube_bot! 🌟
🎯 Как объективно оценивать ответы больших языковых моделей?

Всем привет, в новой статье я разобрал семь ключевых метрик, которые помогают понять, насколько хороший (или не очень) ответ даёт большая языковая модель (LLM). Вот эти метрики:

1️⃣ Relevance (Релевантность) – проверяем, насколько ответ соответствует исходному вопросу.
2️⃣ Completeness (Полнота) – анализируем, все ли аспекты темы затронуты в ответе.
3️⃣ Clarity (Ясность) – выясняем, насколько понятным и логичным получился ответ.
4️⃣ Factual Correctness (Фактическая корректность) – смотрим, нет ли ошибок в датах, фактах, числах.
5️⃣ Context Integration (Интеграция контекста) – оцениваем, насколько учитывается контекст (предыдущие сообщения, особые условия).
6️⃣ Confidence (Уверенность) – обращаем внимание, звучит ли ответ уверенно и обоснованно.
7️⃣ Overall Score (Общая оценка) – итоговая сводная оценка по шкале от 0 до 10.

🤔 Почему это важно?
Когда мы используем LLM в реальных проектах (будь то чат-боты или аналитические инструменты), нам нужно быстро отличать сильные ответы от посредственных. Метрики позволяют автоматически (или полуавтоматически) дать оценку качества. Например, если ответ получился точным и развернутым, но в нём путаются даты, – это сигнал, что стоит дополнительно проверить факты.

Если интересно углубиться в детали, обязательно почитайте статью.

💻 Поделитесь своими впечатлениями и расскажите, какие метрики считаете самыми важными! 📩
2🔥1
Как создавать простых и надёжных LLM-агентов
(Итоги моего 2024 года по работе с LLM)

Всё больше убеждаюсь, что ключ к успеху в создании LLM-агентов — это не сложность, а ясность и эффективность. В 2024-м видел и провел множество экспериментов, а в ближайшие годы, уверен, фокус сместится на надёжность и практичность.

🐾 Простота — это сила
Первое, правило: агент должен решать конкретную задачу. Пример — перевести текст, обработать данные или предложить улучшения в коде. Чем чётче задача, тем меньше сюрпризов на выходе.

Не стоит сразу строить сложные системы. Начните с минимальной версии: один вызов модели для основной задачи, плюс дополнительные шаги для проверки результата. Проверяйте, работает ли решение. Если да, двигайтесь дальше.

И главное — тестируйте. Используйте метрики, автотесты, сравнивайте результаты. Это лучший способ понять, где слабые места, и вовремя всё исправить.

🧠 А что с агентами?
Иногда действительно нужен агент, который будет самостоятельно определять порядок действий и выбирать инструменты. Это полезно, если процесс сложный и заранее прописать всё невозможно.

Например, представьте систему, которая работает с несколькими файлами, анализирует их и принимает решения, что нужно исправить. Такие агенты впечатляют, но их важно ограничивать: задайте предел итераций, чтобы не допустить бесконечных циклов.

🛠 Основы построения агента
💡 Чем проще, тем лучше. Сложные системы часто ломаются в самых неожиданных местах.
🔍 Прозрачность. Агент должен "объяснять", что делает: какой план действий и почему он выбрал именно этот путь.
📖 Ясный интерфейс. Хорошая документация, понятные инструкции и примеры помогут избежать недоразумений.

⚙️ Стоит ли использовать фреймворки?
Фреймворков сейчас предостаточно: LangChain, LangGraph, решения от Amazon и других компаний. Они дают возможность быстро создавать агентов, но из-за сложности реализации могут затруднять отладку.

Поэтому мой совет — начинать с прямого использования API LLM. Это помогает лучше понять работу системы и держать процесс под контролем.

🔧 Полезные практики
⚡️ Используйте минимально возможный подход: если задачу решают два вызова LLM, не добавляйте лишнего.
Всегда проверяйте результат: автооценка, дополнительные проверки или даже ручной просмотр.
🧩 Не бойтесь комбинировать подходы: например, разбивайте задачу на этапы или работайте параллельно. Главное — сохранять структуру и чёткость.

🛠 Пример: агент для кода
📂 Простая задача: LLM анализирует файл и предлагает улучшения.
🧑‍💻 Распределение задач: добавьте агента, который управляет несколькими "помощниками".
🔍 Проверка результатов: используйте вторую модель или ручную проверку для финальной оценки.

Главный инсайт
Работа с LLM — это не про сложность ради сложности. Успешная система должна быть предсказуемой, точной и управляемой. Лучше начать с малого и постепенно добавлять новые возможности, чем сразу пытаться охватить всё.

P.S. Если думаете о разработке своего помощника, чётко определите его границы. Давайте доступ только к тем данным, с которыми агенту действительно нужно работать. Да, это может казаться ограничением, но правильный подход всегда окупается.

Для вдохновения рекомендую заглянуть в статью от Anthropic — там много примеров и полезных схем.

А вы уже пробовали создавать агентов? Делитесь своими методами и идеями! 🚀

И всех с наступающим! ☃️
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Как мы будем взаимодействовать с LLM в этом году?

Как вы знаете, 2025 год объявлен годом LLM-агентов. И мне стало интересно: как LLM (и в какой степени) может самостоятельно справляться со сложными задачами, если у неё есть возможность использовать сторонние инструменты или агентов?

🤖 Оказывается, существует несколько паттернов проектирования, которые помогают организовать взаимодействие LLM с инструментами:

- ReAct (Reason + Act) — модель размышляет над задачей пошагово и вызывает нужные агенты по мере необходимости.
- Plan-and-Execute — сначала формируется план (какие шаги нужно сделать), а потом они выполняются.
- Self-Ask — LLM задаёт себе вопросы и ищет ответы через вызовы агентов.
- Controller + Executors — контроллер управляет процессом, вызывая необходимые инструменты.

Я подробно разобрал эти подходы, посмотрел их плюсы и минусы, и выбрал ReAct как оптимальный паттерн для задач, требующих гибкости и пошагового выполнения.

📚 На эту тему я написал пост в блог:
Читать статью на Nerdit

💻 А для разработчиков подготовил репозиторий с примером реализации ReAct на Python в виде телеграм бота:
Посмотреть код на GitHub

Если вам интересно, как научить LLM использовать инструменты эффективно — заходите, читайте и пробуйте код!
Делитесь своим мнением в комментариях. 😊

#LLM #ReAct #AI #Разработка
👍1
AI на дровах 🪵
Как мы будем взаимодействовать с LLM в этом году? Как вы знаете, 2025 год объявлен годом LLM-агентов. И мне стало интересно: как LLM (и в какой степени) может самостоятельно справляться со сложными задачами, если у неё есть возможность использовать сторонние…
Самое интересное!

Буквально вчера я задался вопросом: а как сделать так, чтобы LLM сама могла решать поставленные задачи, даже если у неё нет нужных инструментов?

И знаете что? Это тоже возможно! 🤯

🔄 Как это работает?

Через агента, который способен... создавать новых агентов!

Представьте:

- Пользователь ставит задачу, для которой у системы ещё нет подходящего инструмента.
- Агент анализирует задачу и пишет код нового агента, который способен её решить.
- Система автоматически регистрирует и запускает созданный агент, а затем выполняет задачу.

Это уже напоминает самовоспроизводимую систему, где LLM может не только решать задачи, но и динамически расширять свои возможности.

🤖 Пример:

Пользователь: «Подсчитай, сколько уникальных слов в этом тексте.»
Система: Понимает, что такого агента нет → пишет код нового агента для подсчёта слов → регистрирует его → вызывает → возвращает результат.

И тут возникают новые вопросы:
Что, если таким способом LLM сможет самообучаться и улучшать себя?
Где граница между автономным решением задач и полной автоматизацией?

Похоже год будет интересным ☃️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
В этот последний праздничный день решил привнести что-то новое в свои рабочие будни (уже завтра 🙃)

У меня вечная проблема: куда-то записывать свои задачи. В итоге пишу куда попало, в основном в текстовые файлики, которых накопилась целая куча, а хочется большой структурированности.

Давно хотел подойти к Obsidian, но создание и тегирование заметок там кажется чем-то трудоёмким.

Хочется, чтобы вжух — и готово! 😂

И вот, в качестве эксперимента над собой, решил создать бота, который будет всё делать за меня: записывать, автотегировать и сохранять заметки, чтобы потом быстро просматривать их в Obsidian.

Посмотрим, что из этого выйдет!

На видео пример работы. Пока только базовый функционал, но если мне зайдёт, буду расширять и поделюсь с вами 😎

Всем хорошего начала трудовых будней 🚀

#Obsidian #LLM #Bots
🔥6
Newwhitepaper_Agents2.pdf
4.1 MB
Google выпустил базовый документ, посвященный AI-агентам  

Под агентами в нём понимаются программы, которые расширяют возможности генеративных AI-моделей, позволяя им использовать инструменты для доступа к актуальной информации и выполнения действий во внешнем мире.

#ai #google #agents
🔥3
Эксперты из Центра непрерывного образования ФКН ВШЭ, магистратуры «Искусственный интеллект» и «Яндекс Образования» разработали и опубликовали бесплатный хендбук по математике для анализа данных. Это седьмое онлайн-издание из серии цифровых учебников, посвященных конкретным IT-направлениям для самостоятельного изучения.

Хендбуки — это новый формат онлайн-учебников, которые состоят из нескольких глав для самостоятельного изучения и доступны всем на платформе «Яндекс Образования». Новый хендбук по математике пригодится тем, кто хочет разобраться в математической стороне работы алгоритмов машинного и глубинного обучения. Он подойдет как новичкам в высшей математике, так и тем, кто уже знаком с базовыми концепциями и хочет углубить свои знания.

#вшэ #аналитика #yandex
Друзья, я не пропал!

Последнее время работа меня плотно засосала, и писать сюда удаётся не так часто, как хотелось бы. Но! Это не значит, что мне нечем с вами поделиться. Наоборот — за этот период накопилось столько интересных инсайтов, что скоро будем разбирать их вместе!

Спасибо, что остаетесь здесь. Скоро вернусь с крутым контентом! 🚀🔥
👍6
Реранкер, или кто такие би-энкодер и кросс-энкодер? 🤔🚀

Решил не откладывать в долгий ящик новую информацию, которой готов поделиться. Итак, первый инсайт за последнее время! Сейчас плотно занимаюсь задачей создания и поиска по базе знаний, и — с пылу с жару — хочу рассказать про реранкер и как он помогает в задачах RAG (Retrieval-Augmented Generation).

А теперь обо всём по порядку…

Знали ли вы, что в мире поиска информации есть два таинственных «персонажа», которые помогают быстро докопаться до сути? Представляем:

🤝 Би-энкодер: Спид-дэйтинг с текстами

Представьте, что ваш запрос и документы ходят на быстрые свидания. Встреча длится пару секунд (прогнали текст через модель) — бац, у каждого свой вектор-профиль!

- Би-энкодер отдельно «снимает мерки» (эмбеддинги) запроса и документов.
- Затем они сравниваются по «уровню совместимости» (косинусная близость, евклидово расстояние — кому что нравится).
- Результат: модель мгновенно предлагает список возможных «кандидатов», которые могут вам подойти.

Шутка дня: «Разошлись как-то би-энкодер с документом» — очень быстро, но всё же успели узнать друг о друге достаточно, чтобы подойти или нет. 😎


🤔 Кросс-энкодер: Строгий финальный судья

Когда из толпы претендентов отобраны «возможные фавориты», в дело вступает кросс-энкодер — такой себе строгий критик с лупой:

- Он одновременно читает и запрос, и документ, высматривает малейшие детали и выдаёт оценку релевантности.
- Работает медленнее, зато справедливее — идеально подходит для «реранкинга» и расстановки финальных приоритетов. 🤓

Аналогия: Би-энкодер — это фейс-контроль на входе клуба, а кросс-энкодер — диджей, который расставляет главных звёзд вечеринки по местам.


Как помогает в задачах RAG?

RAG (Retrieval-Augmented Generation) — подход, когда система (например, ChatGPT) берёт контекст из векторной базы и на его основе генерирует ответ. Чем точнее «подтягивается» этот контекст, тем более релевантной получается генерация.

- Быстрый отбор: Би-энкодер выуживает из большой базы подходящие документы — своего рода «черновой» отбор.
- Снайперская точность: Кросс-энкодер дорабатывает список, убирая нерелевантные фрагменты и расставляя всё по местам.
- Итог: Генеративная модель получает наиболее подходящие данные и выдаёт более «умный» ответ.

Если вы хотите, чтобы ваша векторная база знаний работала, как швейцарские часы, и при этом молниеносно и точно отвечала на запросы (а особенно если используете RAG), то комбинация би-энкодера для быстрого поиска и кросс-энкодера для реранкинга — ваш лучший выбор!

А если у вас есть своя метафора про би- и кросс-энкодеры — делитесь в комментах!

#Нейросети #NLP #ML #DataScience #ВекторныеБазы #БиЭнкодер #КроссЭнкодер #Поиск #Реранкер #AI #DeepLearning #SemanticSearch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2👌2
🔥 Автоматизация создания базы знаний с помощью LLM

Привет, друзья! Сегодня расскажу, как мы автоматизировали процесс создания базы знаний, интегрировав генерацию контента с помощью LLM. Основная идея – взять данные из Confluence, дополнить их сгенерированными описаниями и сохранить в виде структурированных записей. Ниже описаны ключевые моменты нашего подхода:

1. Определение структуры данных

Мы задаём структуру записи базы знаний с помощью TypedDict, чтобы гарантировать единообразие данных. Пример:
from typing import TypedDict

class KnowledgeBaseEntry(TypedDict):
ticket_key: str
title: str
question: str # Пользовательский запрос, сформулированный по содержанию
content: str
instruction_text: str # Подробная инструкция
keywords: str
usefulness_score: float # Оценка полезности (от 0 до 1)
components: str # Компонент, о котором идёт речь
page_link: str # Ссылка на документ в Confluence
updated: str # Дата обновления (например, "YYYY-MM-DD")


2. Генерация краткого описания (summary)

Используем LLM для создания краткого описания каждой страницы. Промт формируется с учетом заголовка, контента и контекста родительской страницы:
def generate_summary_with_llm(title: str, content: str, parent_summary: str = "") -> str:
prompt = f"""
У нас есть страница (или чанк) из Confluence.

- Заголовок: "{title}"
- Содержание (HTML или Markdown):
{content}

Ниже приводится краткое описание родительской страницы (для контекста):
{parent_summary}

Задача: сделай короткое (1-2 предложения) summary для этой страницы,
дополняющее родительский контекст (если нужно).
Верни ТОЛЬКО текст summary.
"""
# Отправляем запрос к LLM и возвращаем сгенерированный текст


Ключевой момент – учитывать родительский контекст, чтобы summary было максимально информативным.

3. Генерация недостающих полей

Для каждой записи мы хотим получить дополнительные данные: вопрос пользователя, подробную инструкцию, ключевые слова, оценку полезности и дату обновления. Для этого составляем детальный промт:

def generate_missing_fields_with_llm(
title: str,
content: str,
components: str,
parent_summary: str = ""
) -> dict:
prompt = f"""
У нас есть информация о статье (или инструкции) из Confluence.
- Заголовок: "{title}"
- Содержание (HTML/Markdown):
{content}

Краткое описание родительской страницы (для контекста):
{parent_summary}

Прошу сгенерировать JSON со следующими полями:

1) "question":
- Формулировка в стиле реального пользовательского запроса,
- Вопрос должен быть сформулирован с учётом компонента "{components}".

2) "instruction_text":
- Подробное и структурированное описание (или пошаговая инструкция).

3) "keywords":
- Ключевые слова (не более 5-7), через запятую, отражающие основную суть.
- Последним элементом добавь {components}.

4) "usefulness_score":
- Число от 0 до 1 (1 — максимально полезно).

5) "updated":
- Реальная дата, если указана, иначе "неизвестно".

Ответ верни в формате JSON без лишнего текста.
"""
# Выполняем запрос к LLM, парсим ответ и возвращаем словарь с полями


В этом промте мы просим модель сгенерировать нужные данные в виде корректного JSON, что упрощает последующую обработку.

4. Рекурсивное получение родительского summary
👍1
Чтобы добавить контекст, мы рекурсивно получаем summary для родительских страниц:
def get_summary(page_id: str, visited: set = None) -> str:
if not page_id:
return ""
if visited is None:
visited = set()
if page_id in visited:
return ""
visited.add(page_id)
if page_id not in data_map:
return ""
if page_id in summary_map:
return summary_map[page_id]

page_data = data_map[page_id]
payload = page_data.get("payload", {})
parent_id = payload.get("parent_id", "")
parent_summary = get_summary(parent_id, visited)

title = payload.get("title", "")
content = payload.get("content", "")
summary_text = generate_summary_with_llm(title, content, parent_summary)

summary_map[page_id] = summary_text
return summary_text


5. Обработка JSON-файлов и сбор итоговой базы

Наконец, мы обрабатываем все исходные JSON-файлы, формируем записи базы знаний и сохраняем промежуточные и финальные результаты.

Такой подход позволяет автоматизировать создание базы знаний и значительно ускорить процесс документирования инструкций и статей. Если у вас есть вопросы – пишите в комментариях!