Обновить

Пишем прототип ИИ-агента для EdTech-саппорта без векторных баз и фреймворков: чистый Python, Gemini и JSON

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.7K
Рейтинг0
Комментарии4

Комментарии 4

Здравствуйте, я ваш студент, мне нравятся статьи на этом сайте и по близкой теме у меня есть проекты, я решил написать комментарий с ключевыми моментами:

1 AbuseChecker является слишком перегруженым слоем при этом не сильно спасающим от слива ответа

на деле обычно лучшим подходом являются 2-е:

Input guardian: дешёвая модель или не используя LLM (regex/ векторный поиск по набору векторов запрещённых)

Output guardian: проверка ответа перед отправкой пользователю, если ответ плохой можно проверить вопрос и расширить список запрещённых вопросов

2 0.03$ это очень много за 7-10 запросов, есть много способов сделать дешевле, конкретно для такой модели лучше сохранять векторные значения вопроса + ответ и переиспользовать ответ по косинусному сходству вопроса, не обращаясь к llm, так со временем расходы на llm сильно упадут

3 Вместо выбора темы из предложенных каждый раз, можно держать state machine с тема + N предыдущих вопросов по ней

И правило если по 1 теме N схожих вопросов то дать более подробный или простой ответ

Так вырастет качество и снизится количество вопросов

4 некоторые модели могут выводить ответ не целиком а последовательно кусками или выводить размышления, в апи тг есть возможность редактировать сообщение (в aiogram3 точно есть поддержка, telebot не использовал, не знаю), можно для красоты редактировать сообщение для вывода размышлений или кусков ответа

5 Выбор векторной бд: Qdrant действительно безумно скоростной, но до 5млн векторов можно спокойно использовать pg + pgvector, разница не велика

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

я бы хотел подсветить потенциальную психологическую проблему

"готовый ответ меньше ценится и расслабляет ученика"

В идеале финальный слой подправить, чтобы модель "направляла на ответ", но не давала полностью в готовом виде. Подталкивала и оставляла нерешенную часть или незавершенным исследование в поисках ответа. Может показывала корреляции, может показывала наблюдения, может показывала на какой странице поискать или как составить запрос на поиск в интернете. В общем есть много вариантов, которые помогут в решении, но студенту нужно будет приложить еще чуток усилий, чтобы ответ сформулировать и запомнить.

Ну и можно добавить "проверку ответов на корректность". Если студент сформулировал его сам, то можно сказать, в чем он прав/не прав и провести несколько неожиданных параллелий/наблюдений, где такое еще применимо. Это закрепит найденный ответ и повысит его ценность.

Мы запоминаем только то, обо что стукнулись или на что потратили силы и время.

Фильтр на отдачу готового ответа уже есть в AbuseChecker (какой-никакой). А вот добавить дополнительной логики в формирование подсказок - интересная задача.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации