Месяц назад решил добавить поддержку 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.
Далее расскажу подробнее про сам баг.
Неожиданно столкнулся с работающим правосудием в США, причём почти ничего не делал для этого.
Какие выводы можно из этого сделать:
В свой отпуск Юля решила показать мне красивые немецкие горы и отвезла на пару дней в Grainau — это такой кусочек Баварии, который почти как Швейцария. В Швейцарии я не был, но, судя по картинкам, похоже.
Если кратко, то очень красивое место с размеренным темпом жизни. Если надо выдохнуть, подлечить нервишки и насладиться природой, то вам сюда. Но если вы без движа не можете, то быстро заскучаете.
Что тут есть:
Это если кратко, а сейчас подробнее.
«Piranesi» одновременно продолжение магических историй Сюзанны Кларк и независимая книга.
Прямой связи с миром английской магии из «Джонатан Стрендж и мистер Норрелл» нет. При большом желании связь можно найти и даже сказать, что мир один и тот же, только в разные времена: события «Piranesi» происходят в начале 2000-ых. Но автор не дала никаких намёков на это. Поэтому я пока считаю, что миры разные.
При этом Сюзанна продолжает очень упорно и результативно копать даже не в сторону анимизма, как основы мировосприятия, а в сторону крайне холистического взгляда на мир, в противовес доминирующему нынче редукционизму.
И от последнего, меня как технаря (а значит интуитивного редукциониста в виду профессиональной деформации), жуть как штырит. Читая «Джонатана Стренджа» и «Piranesi» я ощущал как Кларк, аки Пётр Первый, рубит мне в мозгу окно в другую картину мира, иное мировосприятие. И это прекрасно.
Кстати, не путайте холистику со, скажем, инженерным взглядом на мир, а-ля системной инженерией или даже наукой. Последние про декомпозицию реальности на составные части с чёткими границами и синтез из них «чистых» моделей мира, в то время как холистика про то, что у частей нет чётких границ и они проникают друг в друга.
Но это моя интерпретация, есть интерапретации когда холистика — просто альтернативное название системного мышления/взгляда — сейчас туго с литературой на эту тему, поэтому мне сложно сказать где правда.
Итак, «Piranesi».
Это вторая книга Ха-Джун Чан, которую я прочитал. Первая — Злые самаритяне — оставила хорошие впечатление, плюс о ней позитивно отозвался Тим О’Рейли в книге WTF?. Поэтому «Как устроена экономика» прописалась в моей очереди на прочтение и вот я наконец до неё добрался.
По словам Чан, книга задумывалась как «введение в экономическую теорию, понятное самой широкой аудитории» (страница 299) и это хорошо отражает её суть. Я бы только добавил, с позиции моего пост-советсткого образования, что это скорее не «введение в теорию», а ммм… обзор многообразия и сложности экономики, разбавленный введением в теорию.
В книге нет математических формул и зубодробительной статистики, только конкретные факты. Зато есть набор призм, через которые можно и нужно смотреть на экономику, чтобы примерно понимать, что происходит.
По сути, Чан даёт набор точек зрения, через которые можно смотреть на экономические процессы, описывает их преимущества и недостатки, сопровождает всё это примерами, историческми справками и фактами.
Поскольку книга — своего рода учебник, я не буду пытаться её пересказывать — это привело бы к попытке повторить книгу в паре страниц, а я определённо не в состоянии это сделать. Ограничусь описанием взгляда автора на экономику в целом, как я его понял.