OpenAI: GPT-4o-mini (2024-07-18)
"model":"openai/gpt-4o-mini-2024-07-18"
GPT-4o mini — новейшая модель OpenAI после GPT-4 Omni, поддерживающая ввод текста и изображений с текстовым выводом.
Как самая совершенная компактная модель компании, она многократно доступнее по цене, чем другие недавние флагманские модели, и более чем на 60% дешевле GPT-3.5 Turbo. Она сохраняет передовой уровень интеллекта, оставаясь при этом значительно более выгодной по стоимости.
GPT-4o mini набирает 82% в MMLU и в настоящее время опережает GPT-4 по предпочтениям пользователей в чатах в популярных рейтингах.
Подробнее в анонсе запуска.
#multimodal
Поддерживаемые параметры
Снижает вероятность токенов пропорционально тому, как часто они уже встречались в тексте. Чем выше штраф, тем сильнее модель избегает дословных повторов слов и фраз. Положительные значения делают текст разнообразнее по лексике, отрицательные, наоборот, поощряют повторения. Полезен против «зацикливания» на одних и тех же выражениях в длинных ответах.
Позволяет вручную повышать или понижать вероятность конкретных токенов через сдвиг их логитов. Сильное положительное смещение делает появление токена почти неизбежным, сильное отрицательное — фактически запрещает его. Применяется для мягкого управления лексикой: подавления нежелательных слов или поощрения нужных. Требует знания идентификаторов токенов используемого токенизатора.
Включает возврат логарифмов вероятностей для выбранных моделью токенов. По этим значениям можно оценивать уверенность модели в каждом фрагменте ответа. Используется для аналитики, фильтрации низкоуверенных ответов и исследовательских задач. На сам текст ответа параметр не влияет — только добавляет служебные данные.
Ограничивает максимальное число токенов, которое модель сгенерирует в ответе. Это потолок длины именно ответа, не считая токенов запроса; сумма запроса и ответа не может превышать размер контекстного окна. Если лимит мал, ответ может оборваться на середине. Параметр также влияет на стоимость, так как выходные токены тарифицируются отдельно.
Снижает вероятность токенов уже за сам факт того, что они появились в тексте, независимо от числа повторений. Это подталкивает модель вводить новые темы и слова, а не топтаться на уже упомянутом. Положительные значения повышают разнообразие и «широту» ответа, отрицательные удерживают модель в рамках затронутого. В отличие от штрафа за частоту, здесь важно само присутствие токена, а не его счётчик.
Задаёт требуемый формат вывода модели. В режиме JSON-объекта модель обязана вернуть синтаксически корректный JSON, что удобно для программной обработки. Можно также потребовать соответствие конкретной JSON-схеме. Использование этого параметра снижает необходимость «вычищать» свободный текст и парсить его эвристиками.
Фиксирует источник случайности генерации, чтобы при одинаковых запросе и параметрах получать максимально воспроизводимый результат. Полезно для отладки, тестов и сравнения настроек, когда нужна повторяемость. Полная детерминированность не гарантируется и зависит от инфраструктуры провайдера. Изменение seed при прочих равных даёт другой, но столь же стабильный вариант ответа.
Список строк, при появлении которых генерация немедленно останавливается. Сами стоп-строки в ответ не включаются, что удобно для обрезания вывода по разделителю или маркеру конца. Часто используется в структурированных промптах и при ролевой разметке диалога. Можно задать несколько последовательностей одновременно.
Гарантирует, что ответ модели строго соответствует заданной JSON-схеме. В отличие от обычной просьбы «верни JSON», провайдер на уровне декодирования не позволяет нарушить структуру и типы полей. Это критично для надёжных интеграций, где ответ сразу передаётся в код без дополнительной валидации. Поддерживается не всеми моделями и обычно используется вместе с описанием схемы.
Управляет случайностью выбора следующего токена. Значение около 0 делает ответы почти детерминированными и предсказуемыми — модель каждый раз выбирает наиболее вероятное продолжение. Более высокие значения (0.7–1.0 и выше) повышают разнообразие и «креативность», но и риск ошибок и бессвязности. Для фактических задач и кода обычно берут низкую температуру, для генерации идей и текстов — выше.
Управляет тем, будет ли модель вызывать инструменты и какой именно. Режим auto оставляет решение модели, none запрещает вызовы, required заставляет вызвать хотя бы один инструмент. Можно жёстко указать конкретную функцию, которую нужно вызвать. Полезно, когда логика приложения требует предсказуемого поведения вместо свободного выбора модели.
Описание набора функций (инструментов), которые модель может вызвать в ходе ответа. Для каждого инструмента передаётся имя, назначение и JSON-схема параметров. Модель сама решает, когда уместно вызвать инструмент, и возвращает имя функции с аргументами, а выполнение остаётся на стороне приложения. Это основа агентных сценариев и интеграций с внешними сервисами и данными.
Для каждой позиции возвращает несколько наиболее вероятных токенов-кандидатов вместе с их лог-вероятностями. Это даёт картину альтернатив, которые модель рассматривала, а не только итогового выбора. Полезно для оценки уверенности, отладки и построения собственных эвристик ранжирования. Обычно задаётся числом и работает вместе с включённым параметром logprobs.
Ограничивает выбор токенов наименьшим набором, суммарная вероятность которого не превышает значения p (nucleus sampling). Например, при 0.9 модель рассматривает только самые вероятные варианты, на которые приходится 90% вероятностной массы, отсекая «хвост» маловероятных. Это альтернативный температуре способ управлять разнообразием ответа. Обычно меняют либо температуру, либо top-p, а не оба параметра одновременно.
Настраивает встроенный веб-поиск для моделей, которые умеют дополнять ответ свежими данными из интернета. Здесь можно задать, например, объём поисковой выдачи или контекст местоположения. Веб-поиск помогает отвечать на вопросы о текущих событиях и фактах вне обучающих данных модели. Использование поиска тарифицируется отдельно от токенов (см. блок цены).
Быстрый старт
curl https://api.aiadapter.ru/api/v1/chat/completions \
-H "Authorization: Bearer sk-aa-v1-..." \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-4o-mini-2024-07-18","messages":[{"role":"user","content":"Привет!"}]}'