Месяц назад решил добавить поддержку Gemini в Feeds Fun и под это дело изучал топовые LLM фреймворки — писать свой велосипед не хотелось.
В итоге нашёл стыдный баг в интеграции с Gemini в LLamaIndex. Судя по коду, он есть и в Haystack и в плагине для LangChain. А корень проблемы вообще в SDK Google для Python.
При инициализации нового клиента для Gemini код фреймворка перетирает/подменяет API ключи во всех клиентах, созданных до этого. Потому что API ключ, по-умолчанию, хранится в синглетоне.
Смерти подобно, если у вас multi-tenant приложение, и незаметно во всех остальных случаях. Multi-tenant — это когда ваше приложение работает с несколькими пользователями.
Например, в моём случае, в Feeds Fun пользователь может ввести свой API ключ, чтобы улучшить качество сервиса. Представьте какой забавный казус мог бы случиться: пользователь ввёл API ключ для обработки своих рассылок, а потратил токенов (заплатил) за всех пользователей сервиса.
Репортил только в LLamaIndex как security issue и уже 3 недели ноль реакции, для Haystack и LangChain лень воспроизводить. Так что это ваш шанс зарепортить багу в топовый репозиторий. Под катом будет вся инфа, воспроизвести не сложно.
Ошибка примечательна многим:
В итоге я забил на эти фреймворки и впилил свой костыль, благо HTTP API для Gemini есть.
Мой вывод из этого безобразия такой: доверять коду, который под капотом у современных LLM фреймворков нельзя. Надо перепроверять, вычитывать. То, что у них написано «production ready», не значит, что они действительно production ready.
Далее расскажу подробнее про сам баг.
Когда выкладывал отчётную презентацию (слайды) по World Builders 2023 (мои посты, сайт), обещал рассказать как делал roadmap и финансовую модель для игры. Выполняю обещание.
К концу поста у нас на руках будут:
Все итоговые документы вы можете найти тут.
В свой отпуск Юля решила показать мне красивые немецкие горы и отвезла на пару дней в Grainau — это такой кусочек Баварии, который почти как Швейцария. В Швейцарии я не был, но, судя по картинкам, похоже.
Если кратко, то очень красивое место с размеренным темпом жизни. Если надо выдохнуть, подлечить нервишки и насладиться природой, то вам сюда. Но если вы без движа не можете, то быстро заскучаете.
Что тут есть:
Это если кратко, а сейчас подробнее.
Ещё один из вариантов концепта Сказки 2.0.
Возможно, последний в этом формате: мне понравилось оформлять концепт в форме презентации, пока занимался в школе World Builders.
Lords Captains MMO
Да, это калька с Warhammer 40k и Rogue Trader в частности, но для концепта пойдёт.
Исследуй бесконечную вселенную на звёздном корабле с миллионами душ на борту, объединяй и развивай заброшенные миры.
Браузеры, мобильные.
Ориентированная на исследования торгово-политическая MMO PVE песочница.
EVE, Sim City, Crusader Kings, 4X игры, Rogue Trader.
«Piranesi» одновременно продолжение магических историй Сюзанны Кларк и независимая книга.
Прямой связи с миром английской магии из «Джонатан Стрендж и мистер Норрелл» нет. При большом желании связь можно найти и даже сказать, что мир один и тот же, только в разные времена: события «Piranesi» происходят в начале 2000-ых. Но автор не дала никаких намёков на это. Поэтому я пока считаю, что миры разные.
При этом Сюзанна продолжает очень упорно и результативно копать даже не в сторону анимизма, как основы мировосприятия, а в сторону крайне холистического взгляда на мир, в противовес доминирующему нынче редукционизму.
И от последнего, меня как технаря (а значит интуитивного редукциониста в виду профессиональной деформации), жуть как штырит. Читая «Джонатана Стренджа» и «Piranesi» я ощущал как Кларк, аки Пётр Первый, рубит мне в мозгу окно в другую картину мира, иное мировосприятие. И это прекрасно.
Кстати, не путайте холистику со, скажем, инженерным взглядом на мир, а-ля системной инженерией или даже наукой. Последние про декомпозицию реальности на составные части с чёткими границами и синтез из них «чистых» моделей мира, в то время как холистика про то, что у частей нет чётких границ и они проникают друг в друга.
Но это моя интерпретация, есть интерапретации когда холистика — просто альтернативное название системного мышления/взгляда — сейчас туго с литературой на эту тему, поэтому мне сложно сказать где правда.
Итак, «Piranesi».