Google Gemini
Доступ к моделям Gemini через Google Generative Language API с поддержкой API-ключей, OAuth-токенов Gemini CLI и длинных контекстных окон до 2М токенов.
Предварительные требования
- API-ключ Google AI Studio с aistudio.google.com, или
- Установленный и аутентифицированный Gemini CLI (команда
gemini), или - Переменная окружения
GEMINI_API_KEYилиGOOGLE_API_KEY
Быстрая настройка
1. Получение API-ключа
Вариант A: API-ключ (рекомендуется для большинства пользователей)
- Посетите aistudio.google.com/app/apikey
- Нажмите Create API key
- Скопируйте ключ
Вариант B: Gemini CLI (нулевая конфигурация для существующих пользователей)
Если вы уже используете Gemini CLI, PRX автоматически обнаруживает ваш OAuth-токен из ~/.gemini/oauth_creds.json. Дополнительная настройка не требуется.
2. Конфигурация
[default]
provider = "gemini"
model = "gemini-2.5-flash"
[providers.gemini]
api_key = "${GEMINI_API_KEY}"Или задайте переменную окружения:
export GEMINI_API_KEY="AIza..."3. Проверка
prx doctor modelsДоступные модели
| Модель | Контекст | Зрение | Вызов инструментов | Примечания |
|---|---|---|---|---|
gemini-2.5-pro | 1M | Да | Да | Наиболее мощная модель Gemini |
gemini-2.5-flash | 1M | Да | Да | Быстрая и экономичная |
gemini-2.0-flash | 1M | Да | Да | Предыдущее поколение flash |
gemini-1.5-pro | 2M | Да | Да | Самое длинное контекстное окно |
gemini-1.5-flash | 1M | Да | Да | Предыдущее поколение |
Справочник конфигурации
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
api_key | string | опционально | API-ключ Google AI (AIza...) |
model | string | gemini-2.5-flash | Модель по умолчанию |
Возможности
Несколько методов аутентификации
PRX определяет учётные данные Gemini в следующем порядке приоритета:
| Приоритет | Источник | Как это работает |
|---|---|---|
| 1 | Явный API-ключ в конфигурации | Отправляется как параметр ?key= в публичный API |
| 2 | Переменная окружения GEMINI_API_KEY | Аналогично |
| 3 | Переменная окружения GOOGLE_API_KEY | Аналогично |
| 4 | OAuth-токен Gemini CLI | Отправляется как Authorization: Bearer во внутренний Code Assist API |
Интеграция с Gemini CLI OAuth
Если вы аутентифицировались через Gemini CLI (команда gemini), PRX автоматически:
- Читает
~/.gemini/oauth_creds.json - Проверяет срок действия токена (пропускает просроченные токены с предупреждением)
- Направляет запросы во внутренний Code Assist API Google (
cloudcode-pa.googleapis.com) с использованием правильного формата конверта
Это означает, что существующие пользователи Gemini CLI могут использовать PRX без дополнительной настройки.
Длинные контекстные окна
Модели Gemini поддерживают чрезвычайно длинные контекстные окна (до 2М токенов для Gemini 1.5 Pro). PRX устанавливает maxOutputTokens в 8192 по умолчанию. Полная история разговора отправляется как contents с корректным маппингом ролей (user/model).
Системные инструкции
Системные промпты отправляются с использованием нативного поля systemInstruction Gemini (а не как обычное сообщение), обеспечивая их корректную обработку моделью.
Автоматическое форматирование имён моделей
PRX автоматически добавляет models/ к именам моделей при необходимости. И gemini-2.5-flash, и models/gemini-2.5-flash работают корректно.
Псевдонимы провайдера
Следующие имена разрешаются в провайдер Gemini:
geminigooglegoogle-gemini
Устранение неполадок
«Gemini API key not found»
PRX не смог найти никакой аутентификации. Варианты:
- Задайте переменную окружения
GEMINI_API_KEY - Запустите CLI
geminiдля аутентификации (токены будут автоматически переиспользованы) - Получите API-ключ на aistudio.google.com/app/apikey
- Выполните
prx onboardдля интерактивной настройки
«400 Bad Request: API key not valid» с Gemini CLI
Это происходит, когда OAuth-токены от Gemini CLI отправляются на публичный эндпоинт API. PRX обрабатывает это, автоматически направляя OAuth-токены на внутренний эндпоинт cloudcode-pa.googleapis.com. Если вы видите эту ошибку, убедитесь, что используете последнюю версию PRX.
«Gemini CLI OAuth token expired»
Повторно запустите CLI gemini для обновления токена. PRX не обновляет токены Gemini CLI автоматически (в отличие от OAuth-токенов Anthropic).
403 Forbidden
Ваш API-ключ может не иметь включённого Generative Language API. Перейдите в Google Cloud Console и включите Generative Language API для вашего проекта.