Недавно наткнулся на не очевидную задержку при использовании Structured Output (ответ в виде Json-а по какой то схеме)
Под капотом, при структуред аутпуте мы динамический на каждом сгенерированном токене редактируем словарь модели не позволяя ей генерировать невалидный json. Для того что бы это работало, openai перед выполнением запроса строит префиксное деревео по переданной схеме. Если эта схема достаточно сложная, или содержит Literal[...] с выбором из множественных значений, то создание этого дерева может занять до минуты. API на своей стороне кеширует это дерево, так что если вы используете один и тот же формат ответа много раз, то проблем быть не должно, но часто бывает нужно под каждый запрос формировать свою собственную схему, из за чего могут возникнуть значительные задержки.
Разобраться в этой проблеме мне помог bogdanisssimo, фаундер VibeDatingBot - очень классного дейтинг ассистента. У него тоже есть свой канал на котором незаслуженно мало подписоты (хотя все равно больше чем у меня 🥹)
Post #126
2.62K

- 👍 10
- 🤡 3
- 🔥 2
- 👎 1