Руководство по устранению неполадок

Используйте это руководство для диагностики и решения распространённых проблем, возникающих при вызове API Gemini. Проблемы могут возникнуть как со стороны бэкэнд-службы API Gemini, так и со стороны клиентских SDK. Наши клиентские SDK доступны с открытым исходным кодом в следующих репозиториях:

Если у вас возникли проблемы с ключом API, проверьте, правильно ли вы настроили свой ключ API в соответствии с руководством по настройке ключа API .

Коды ошибок бэкэнд-службы API Gemini

В следующей таблице перечислены распространенные коды ошибок бэкэнда, с которыми вы можете столкнуться, а также объяснения их причин и шаги по устранению неполадок:

HTTP-код Статус Описание Пример Решение
400 НЕВЕРНЫЙ_АРГУМЕНТ Тело запроса неверно сформировано. В вашем запросе допущена опечатка или отсутствует обязательное поле. Ознакомьтесь со справочником API, чтобы узнать о формате запроса, примерах и поддерживаемых версиях. Использование функций более новой версии API со старой конечной точкой может привести к ошибкам.
400 НЕУДАЧНОЕ_ПРЕДУПРЕЖДЕНИЕ Бесплатный тариф Gemini API недоступен в вашей стране. Включите оплату в вашем проекте в Google AI Studio. Вы делаете запрос в регионе, где бесплатный уровень не поддерживается, и вы не включили тарификацию для своего проекта в Google AI Studio. Чтобы использовать API Gemini, вам необходимо настроить платный тариф с помощью Google AI Studio .
403 ДОСТУП ЗАПРЕЩЕН Ваш ключ API не имеет необходимых разрешений. Вы используете неправильный ключ API; вы пытаетесь использовать настроенную модель без прохождения надлежащей аутентификации . Убедитесь, что ваш ключ API настроен и имеет правильный доступ. Также обязательно пройдите надлежащую аутентификацию для использования настроенных моделей.
404 НЕ НАЙДЕНО Запрошенный ресурс не найден. Изображение, аудио или видеофайл, указанные в вашем запросе, не найдены. Проверьте, все ли параметры в вашем запросе соответствуют вашей версии API.
429 RESOURCE_EXHAUSTED Вы превысили лимит скорости. Вы отправляете слишком много запросов в минуту с помощью бесплатного API Gemini. Убедитесь, что вы не превышаете лимита модели. При необходимости запросите увеличение квоты .
500 ВНУТРЕННИЙ На стороне Google произошла непредвиденная ошибка. Слишком длинный входной контекст. Сократите входной контекст или временно переключитесь на другую модель (например, с Gemini 1.5 Pro на Gemini 1.5 Flash) и проверьте, сработает ли это. Или подождите немного и повторите запрос. Если проблема не исчезнет после повторной попытки, сообщите о ней, используя кнопку «Отправить отзыв» в Google AI Studio.
503 НЕДОСТУПНО Служба может быть временно перегружена или недоступна. Возможности сервиса временно исчерпаны. Временно переключитесь на другую модель (например, с Gemini 1.5 Pro на Gemini 1.5 Flash) и проверьте, работает ли она. Или подождите немного и повторите запрос. Если проблема не исчезнет после повторной попытки, сообщите о ней, используя кнопку «Отправить отзыв» в Google AI Studio.
504 DEADLINE_EXCEEDED Служба не может завершить обработку в установленные сроки. Ваш запрос (или контекст) слишком велик для своевременной обработки. Чтобы избежать этой ошибки, установите больший «тайм-аут» в клиентском запросе.

Проверьте вызовы API на наличие ошибок параметров модели.

Убедитесь, что параметры вашей модели находятся в пределах следующих значений:

Параметр модели Значения (диапазон)
Количество кандидатов 1-8 (целое число)
Температура 0,0-1,0
Максимальное количество выходных токенов Используйте get_model ( Python ), чтобы определить максимальное количество токенов для используемой вами модели.
ТопП 0,0-1,0

Помимо проверки значений параметров, убедитесь, что вы используете правильную версию API (например, /v1 или /v1beta ) и модель, поддерживающую необходимые вам функции. Например, если функция находится в стадии бета-тестирования, она будет доступна только в версии API /v1beta .

Проверьте, правильная ли у вас модель

Убедитесь, что вы используете поддерживаемую модель, указанную на нашей странице моделей .

Более высокая задержка или использование токенов в моделях 2.5

Если вы наблюдаете повышенную задержку или расход токенов в моделях Flash 2.5 и Pro, это может быть связано с тем, что в них функция Thinking включена по умолчанию для повышения качества. Если для вас важна скорость или вам нужно минимизировать затраты, вы можете настроить или отключить Thinking.

Инструкции и пример кода см. на странице размышлений .

Вопросы безопасности

Если вы видите, что запрос заблокирован из-за настроек безопасности в вызове API, проверьте запрос на наличие фильтров, установленных вами в вызове API.

Если вы видите BlockedReason.OTHER , запрос или ответ могут нарушать условия обслуживания или по какой-либо другой причине не поддерживаться.

Проблема с декламацией

Если вы видите, что модель перестаёт генерировать выходные данные из-за ошибки RECITATION, это означает, что выходные данные модели могут напоминать определённые данные. Чтобы исправить это, попробуйте сделать подсказку/контекст максимально уникальными и используйте более высокую температуру.

Повторяющаяся эмиссия токенов

Если вы видите повторяющиеся выходные токены, попробуйте следующие рекомендации, которые помогут уменьшить их количество или полностью устранить.

Описание Причина Предлагаемое решение
Повторяющиеся дефисы в таблицах Markdown Это может произойти, если содержимое таблицы слишком длинное, поскольку модель пытается создать визуально выровненную таблицу Markdown. Однако выравнивание в Markdown не является обязательным для корректной отрисовки.

Добавьте в приглашение инструкции, чтобы задать для модели конкретные рекомендации по генерации таблиц Markdown. Приведите примеры, соответствующие этим рекомендациям. Вы также можете попробовать изменить температуру. Для генерации кода или очень структурированного вывода, например, таблиц Markdown, высокая температура, как показала практика, работает лучше (>= 0,8).

Ниже приведен пример набора рекомендаций, которые вы можете добавить в свой запрос, чтобы предотвратить эту проблему:

          # Markdown Table Format
          
          * Separator line: Markdown tables must include a separator line below
            the header row. The separator line must use only 3 hyphens per
            column, for example: |---|---|---|. Using more hypens like
            ----, -----, ------ can result in errors. Always
            use |:---|, |---:|, or |---| in these separator strings.

            For example:

            | Date | Description | Attendees |
            |---|---|---|
            | 2024-10-26 | Annual Conference | 500 |
            | 2025-01-15 | Q1 Planning Session | 25 |

          * Alignment: Do not align columns. Always use |---|.
            For three columns, use |---|---|---| as the separator line.
            For four columns use |---|---|---|---| and so on.

          * Conciseness: Keep cell content brief and to the point.

          * Never pad column headers or other cells with lots of spaces to
            match with width of other content. Only a single space on each side
            is needed. For example, always do "| column name |" instead of
            "| column name                |". Extra spaces are wasteful.
            A markdown renderer will automatically take care displaying
            the content in a visually appealing form.
        
Повторяющиеся токены в таблицах Markdown Подобно повторяющимся дефисам, это происходит, когда модель пытается визуально выровнять содержимое таблицы. Выравнивание в Markdown не требуется для корректного отображения.
  • Попробуйте добавить в системное приглашение инструкции, подобные следующим:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • Попробуйте отрегулировать температуру. Более высокие температуры (>= 0,8) обычно помогают устранить повторения или дублирование в выходных данных.
Повторяющиеся символы переноса строк ( \n ) в структурированном выводе Если входные данные модели содержат Unicode или escape-последовательности, такие как \u или \t , это может привести к повторным переводам строк.
  • Проверьте наличие запрещённых экранированных последовательностей и замените их символами UTF-8 в вашем запросе. Например, экранированная последовательность \u в ваших примерах JSON может привести к тому, что модель также будет использовать их в своих выходных данных.
  • Дайте модели инструкции о допустимых способах выхода. Добавьте системную инструкцию следующего вида:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
Повторяющийся текст при использовании структурированного вывода Если выходные данные модели имеют порядок полей, отличный от определенной структурированной схемы, это может привести к повторению текста.
  • Не указывайте порядок полей в приглашении.
  • Сделайте все выходные поля обязательными.
Повторяющийся вызов инструмента Это может произойти, если модель теряет контекст предыдущих мыслей и/или вызывает недоступную конечную точку, к которой она вынуждена. Дайте модели указание сохранять состояние в рамках мыслительного процесса. Добавьте это в конец системных инструкций:
        When thinking silently: ALWAYS start the thought with a brief
        (one sentence) recap of the current progress on the task. In
        particular, consider whether the task is already done.
      
Повторяющийся текст, не являющийся частью структурированного вывода Это может произойти, если модель зависает на запросе, который она не может разрешить.
  • Если вы включили мышление, избегайте прямых указаний, как решать проблему. Просто спросите о конечном результате.
  • Попробуйте более высокую температуру >= 0,8.
  • Добавьте инструкции, например: «Будьте кратки», «Не повторяйтесь» или «Дайте ответ один раз».

Улучшить вывод модели

Для получения более качественных результатов моделирования попробуйте писать более структурированные запросы. В руководстве по проектированию запросов представлены некоторые базовые концепции, стратегии и рекомендации, которые помогут вам начать работу.

Если у вас есть сотни примеров хороших пар вход/выход, вы также можете рассмотреть возможность настройки модели .

Понять ограничения токенов

Ознакомьтесь с нашим руководством по токенам , чтобы лучше понять, как подсчитывать токены и каковы их лимиты.

Известные проблемы

  • API поддерживает только несколько языков. Отправка запросов на неподдерживаемых языках может привести к неожиданным или даже заблокированным ответам. Следите за обновлениями в списке доступных языков .

Сообщить об ошибке

Если у вас есть вопросы, присоединяйтесь к обсуждению на форуме разработчиков Google AI .