ai-forever / gigachain

⚡ Фреймворк для создания комплексных приложений с LLM ⚡
MIT License
298 stars 36 forks source link

DOC: Пример с суммаризацией книги не работает без streaming=True #192

Closed e41q closed 3 days ago

e41q commented 1 month ago

Контрольный список

Проблема с существующей документацией:

https://github.com/ai-forever/gigachain/blob/master/hub/prompts/summarize/map_reduce/summarize_examples.ipynb

Запрос на доработку:

Пытался воспроизвести пример summarize_examples.ipynb

Создавал объект модели так

giga = GigaChat(
    credentials="MjM4Y...ZiMQ==",
    model="GigaChat-Pro",
    )

И на шаге

res = chain.invoke({"input_documents": documents})

Получал результат

Giga generation stopped with reason: blacklist
Giga generation stopped with reason: blacklist
Giga generation stopped with reason: blacklist
Giga generation stopped with reason: blacklist

Чтобы результат был нормальным, надо создавать объект чата с аргументом streaming=True

giga = GigaChat(
    credentials="MjM4Y...ZiMQ==",
    model="GigaChat-Pro",
    streaming=True
    )

Тогда шаг проходит нормально.

e41q commented 1 month ago

Про аргумент подглядел здесь

Rai220 commented 1 week ago

Добрый день! К сожалению это частая проблема. Ответ "Giga generation stopped with reason: blacklist" означает, что запрос был задержан системой-цензором, мы работаем над этим. Для юрлиц возможно отключение цензора на аккаунте.

e41q commented 1 week ago

@Rai220 ещё раз - ваш пример построен на Мастере и Маргарите, блоки которой, по-вашим словам, не проходят цензуру)) Зато, если добавить streaming=True, то всё начинает работать.

Мой поинт в том, что надо пример поправить, а не с цензоромо беда.

Rai220 commented 1 week ago

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

Rai220 commented 3 days ago

На данный момент добавлен вывод warning-сообщений в случае, если blacklist работает во время стриминга.

Вариантов решения проблемы в этом случае три:

  1. Использовать книги в которых нет компонентов, которые цензор гигачата считает опасными
  2. Зарепортить проблему на support@gigachat.ru и ждать пока улучшать цензор (работа идёт постоянно, скоро как раз выйден новая, менее агрессивная версия)
  3. Запросить отключение цензора (для юрлиц)