Как стать автором
Обновить

Автоматизируем поиск ценной информации в групповых чатах Telegram с помощью LLM

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров11K
Всего голосов 21: ↑19 и ↓2+17
Комментарии17

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

Выглядит максимально интересно, постоянно возникала такая мысль, но до реализации думаю у меня никогда не дойдут руки

Огромный респект за статью, будем посмотреть!

Гигачат ооочень сильно уступает по качеству, как и llama 2. Кмк хоть какое-то качество может выдать mixtral или saiga2. Ну так же есть платная yagpt, она вроде бы посильнее этих двух. Так то есть варианты типа g4f, которые позволяют получить chatgpt бесплатно.

вызывает сомнение производительность gf4 и тому подобных.

я пока что gemini бесплатно использую, для таких же целей

С минимальными модификациями приложения попробовал оба варианта. Для LLaMa-2 использовал llama.cpp через LangChain (модель llama-2-7b-chat.Q5_K_M - минимальная потеря качества после квантизации). Результаты:

GigaChat
GigaChat
LLaMa-2-7B-Chat
LLaMa-2-7B-Chat

Не знаю, почему так попердолило LLaMa-2, возможно, я что-то фундаметально не так сделал.

GigaChat же:

  1. Отказался суммаризировать чат по распознаванию речи, так как нашел в нем что-то из стоп-листа (в сообщениях ничего такого нет, проверил вручную).

  2. Выдает очень посредственный результат для "испанского" чата вне зависимости от языка промпта. Посредственный в плане соответствия ответа нашему запросу.

В общем, с полтычка эти варианты не завелись. Я в будущем планировал переносить этот инструмент на локальную LLM на NVIDIA Jetson, так что может быть получится заставить работать что-то кроме GPT-4.

Было бы интересно

Осталось только прикрутить раскидывание сообщений по веткам и автомодерацию оффтопика - и вот у нас уже почти готова бледная имитация форумов.

Первоначально, вроде выглядит полезно, но если подумать, то 24 часа это узкая применимость, к чатам, где информация короткоживущая, быстро устаревающая. Гораздо полезнее было бы сделать похожий инструмент для чатов с длинной историей и условно накопленной базой знаний, длинною в годы, но возникает вопрос размера контекстного окна. А первое приходящее на ум - суммаризация суммаризаций скорее потеряет кучу ценного контекста. Да и стоимость скармливания контекстного окна такого размера в коммерческую LLM, да еще при каждой итерации запрос-ответ вероятно, будет запредельной

Главная цель этого инструмента - это как раз работа с короткоживущей информацией почти в реальном времени, поэтому для суммаризации всей истории он, конечно, не подойдет.

Насколько я понимаю, в индустрии поставленная вами задача решается обычно файнтюнингом LLM на базе знаний, с которой мы хотим работать, и реализацией RAG (Retrieval Augmented Generation), чтобы помогать LLM результатами семантического поиска по базе. Я думаю, что это вполне себе возможно автоматизировать, чтобы в инструмент можно было скормить любой чат (да что уж там, любой источник знаний в текстовом виде, архив новостного сайта например), а инструмент самостоятельно бы и затюнил LLM, и наполнил базу для RAG.

Касательно стоимости, кстати, согласен на 100%. Даже с игрушечным примером из демо видео (2 суммаризации 2 чатов в сутки с ~100-200 сообщениями в день) за OpenAI API набегало около 1$ в день, что уже много.

Что если хотим саммаризовать всю историю большого чата которая в контекст не влезет?

200k токенов claude поддерживает, а других моделей, которые с таким длинным контекстом смогут работать хорошо, нету.

Хоть один кейс для подобной задачи?

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

Самая большая проблема, это понять, какая информация 'ценная'.
Нужна нейронка, которая извлекает и проверяет факты и определяет важность информации. Основная проблема даже не в бесполезных комментариях. Есть такие нейросети или идеи как можно организовать такой конвейер?

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

Браво, ждем LLM-суммаризацию как премиум-фичу Telegram

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

Публикации

Истории