How I Built a Reliable LLM Pipeline for Ad Creative Evaluation (with Strict Pydantic Contracts)
Art directors routinely spend 20–40 minutes per creative just checking brand guidelines, mandatory elements, and forbidden techniques. I wanted to a…
Tech news from the best sources
Art directors routinely spend 20–40 minutes per creative just checking brand guidelines, mandatory elements, and forbidden techniques. I wanted to a…
Python makes it easy to pass data around as dicts, nested JSON blobs, and “whatever the client sent”. That flexibility is useful when you own the sh…
Мой валидатор забраковал ответ, сославшись на несуществующую статью, — а ведь именно он поставлен ловить галлюцинации. После этого я собрал конвейер…
Multi-tenant applications have a way of turning simple endpoints into surprisingly complicated pieces of code. At first, tenant-specific validation…
This blog post provides an introduction to Pydantic, the popular data validation library for Python. It includes a demonstration of the value Pydant…
Our system can now classify a topic, conduct research, back it with examples, identify weak assumptions and unsupported claims, and structure everyt…
Привет, Хабр! Чат-бот может быстро ответить на типовые вопросы о товаре, стоимости или доступных вариантах. Но в сложных продажах часть диалогов неи…
Один User сначала кажется удобным: его можно принять в запросе, вернуть из API, сохранить в базу и передать дальше. Но со временем такой класс смеши…
У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везд…
В первой части мы разобрались с представлением данных. Мы сделали невалидные состояния невозможными для выражения в рамках модели. В этой части мы р…
Знакомый сценарий: фильтр или конструктор запросов начинается с одного опрятного класса, а через месяц в нём value: Any, валидатор на сотню строк и…
Как из миксинов для валидации форм вырастает полноценная TypeScript-библиотека с плагинами, масками и 500+ скачиваниями в неделю. История рефакторин…
FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency…
Когда пишешь библиотеку, рано или поздно упираешься в движок. Не в красивый внешний интерфейс и не в обёртки, а в ту часть внутри, которая гоняет пр…
Наш предыдущий обзор касался поддержки в GigaIDE — возможно, самого популярного фреймворка Python, который, однако, восходит к эпохе шаблонизаторов,…
Every few years, a new abstraction arrives that makes the previous one feel embarrassing in retrospect. Raw SQL gave way to ORMs. Callback hell gave…
You've been doing this for a while now: response = client . chat . completions . create ( model = " gemini-2.0-flash " , messages = [{ " role " : "…
Проверили Structured Outputs у OpenAI, Gemini и xAI не “по документации”, а через adversarial-тесты: просили модели специально нарушить JSON Schema…
Have you ever looked at a stack of physical medical reports and wished you could just "Ctrl+F" your health history? 📑 We’ve all been there. Every ho…
The Dangerous Bugs Are the Ones That Don't Crash: Building Input Validation for My MCP Server I was building an MCP server for an event platform tha…