Собрали в одном месте самые важные ссылки
читайте нас в Twitter
Вы когда-нибудь сталкивались с тем, что языковая модель, даже лучшая, типа GPT-4 или Клод, не соблюдает строгий формат ответа? Например, выдаёт неверный JSON или добавляет лишние поля, что приводит к сбоям в сервисе? Эти проблемы могут вызывать значительные трудности при интеграции с другими системами, требуя сложных обходных решений и усложняя логику обработки данных. На этом докладе я покажу, как можно заставить модели строго следовать заданным форматам ответов. Я расскажу, как использовать современные фреймворки для контролируемой генерации, чтобы гарантировать выдачу корректных структурированных данных, будь то JSON, код или любые другие форматы. Доклад будет полезен не только специалистам по языковым моделям, но и разработчикам, знакомым с простыми концепциями конечных автоматов. Вы увидите, как эти известные алгоритмы в сочетании с языковыми моделями дают интересные результаты. Кроме того, я объясню дополнительные преимущества контролируемой генерации, такие как zero-shot классификация, вызов внешних функций и ускорение генерации.
Рубль, вложенный в тестирование библиотеки, даёт сильно больше велью, чем тот же рубль, вложенный в тесты бизнес-логики. Если пренебречь тестированием, карточный домик из абстракций легко рассыпается. Давайте разберёмся, как сделать так, чтобы как можно больше домиков не сыпались.
JIT или не JIT? Вот в чём вопрос. Python — язык с многолетней историей. И на протяжении всей своей истории он не был фаворитом в вопросах производительности. Было много разных попыток приблизиться к решению этой проблемы, в том числе и с добавлением JIT (pypy, numba, etc.), но у большинства из них был фатальный недостаток. Они были инструментами для решения конкретных проблем, про которые вспоминали, только когда других вариантов уже не осталось, когда уже не жалко инвестировать дополнительное время в ускорение узкий мест и переписывание кода. Но что же нам предвещает добавление JIT в коробочную версию cpython? Мы получим бесплатное ускорение всех наших программ и возрадуемся или всё не так просто? Давайте попробуем разобраться вместе.
Я ускорил всё, кроме себя В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги как следует «притёрли» в продакшене. Фреймворки, библиотеки, сервера, даже немного десктоп софта, сравнения — будет всё, а на что-то мы и вовсе посмотрим с неожиданных сторон.
AI-агенты захватывают наш мир, и раз бороться с ними не выйдет — стоит научиться их делать. А ещё лучше — пусть AI-агенты создают себя сами. В докладе будет разбор того, как научить агентов писать себе промпты, измерять качество решений. Обсудим основные проблемы, которые могут возникнуть, и выбор правильной схемы памяти для агентов. Отдельное внимание уделим обучающимся агентам, которые анализируют обратную связь от пользователей и становятся лучше. Доклад будет наиболее интересен тем, кто создает персонализированных AI-ассистентов.
Все, кто когда-либо писал учебники, хором говорят: не пишите учебник. Настала моя очередь присоединиться к этому хору: год назад я сел писать с нуля учебник по Python. И прямо сейчас провожу обкатку написанного на фокус-группе, а в начале 2025 года планирую издать книгу в бумаге. Это доклад о том, как увлечение нейрофизиологией переросло в мой самый большой эксперимент за 25 лет работы программистом: создание самоучителя для взрослых. Я расскажу, как выбирал последовательность обучения, почему начал учебник с expression/evaluation/value, зачем объяснять списки через словари, чем мне не нравится слово "переменная", и, главное — почему я хочу издать всё это в бумаге.
В докладе сравним подходы программиста и ГИС-специалиста к обработке гео-данных. На примере проектов посмотрим, почему не стоит ограничиваться готовыми коробочными решениями и когда переходить к разработке собственных решений. Поделимся опытом использования питона для анализа пространственных данных и расскажем о стеке инструментов, необходимых для ГИС-моделирования.
Как мы тестируем дата-пайплайны в рекламе Яндекса В рекламных технологиях Яндекса мы создаём конвейеры обработки данных для аналитики, подготовки датасетов и обучения ML-моделей. Сбои в работе этих конвейеров могут приводить к серьёзным финансовым потерям, поэтому мы вкладываем много сил в обеспечение их надёжности. Одной из целей разработки нашей платформы управления данными Logos было решение этой задачи. В докладе я поделюсь нашим опытом многоуровневого тестирования дата-пайплайнов. Вы узнаете о различных подходах к тестированию данных, их преимуществах и недостатках. Я расскажу, как мы формируем тестовые выборки данных, как верифицируем результаты тестовых расчётов, а также как устроена приёмка дата-пайплайнов в рамках релизного процесса.
Делаем из питона го. Зачем? Давайте признаем, что синхронный код писать проще: он прост, как доска. Но иногда хочется добавить какую-то многозадачность в свой код, особенно если у вас I/O-bound приложение. Асинхронность в питоне решает эту проблему, но при этом создаёт дополнительные сложности, например, классическую проблему сине-зелёных функций. А если ещё и изначально проект был на синхронном питоне, то не переписывать же его с нуля? А может, будем писать почти как в go с горутинами? Ровно так мы и делаем на нашем проекте. Расскажем, как мы к этому пришли и кому за это мы продали душу.
Зачем Яндексу своя бинарная сборка python В Яндексе используется своя система сборки, которая появилась более 10 лет назад. Она умеет собирать Python в замкнутые бинарные программы под все популярные платформы. В докладе рассмотрим разные способы дистрибуции Python сервисов и инструментов, выясним, что же такое бинарная сборка, какие она накладывает ограничения и даёт возможности.
Почему в CPython tuple на самом деле мутабельный?
Бывает так, что приходишь на проект, а тестов нет. Или тесты плохо работают, или пока ждёшь их завершения — успеваешь выпить чаю и написать ещё одну фичу, которую опять надо тестировать. Каюсь, таким разработчиком был и я. Как-то раз я написал тесты так, что перестал хотеть их запускать через месяц. Я считаю, так быть не должно. Поэтому расскажу, каким требованиям должны отвечать тесты, какие для этого есть инструменты и как повысить тестируемость вашего кода.
Мини-воркшоп о том, как решать задачу создания мультиагентных систем в комплексе. Мы пройдем по всему пути создания мультиагентного решения на примере бота техподдержки GigaChat
Расскажу, как обеспечить соблюдение командных конвенций и порядок в хранилище тестовых артефактов с помощью синтаксического анализа. Также поделюсь опытом написания и внедрения собственного линтера для проекта с пятьюстами тестовыми сценариями, который значительно упростил работу ревьюеров и улучшил читабельность отчетности.
Расскажу про успешный опыт ускорения многопоточного приложения написанного на pandas. Покажу сравнение синтаксиса и производительности polars с другими решениями. Дам полезные советы по миграции
Подход к ведению словаря терминов используемых в коде Python-проекта. Как он может помочь в уменьшении когнитивной нагрузки при чтении кода и помочь новому разработчику быстрее погрузиться в контекст проекта.