Gemini SDK
Вызывайте совместимый интерфейс AGTCloud Gemini Generate Content через Google Gen AI SDK для Python или TypeScript.
Google Gen AI SDK предоставляет клиенты Python и TypeScript. Пользовательская конфигурация HTTP в SDK позволяет отправлять запросы Generate Content в совместимый интерфейс Gemini в AGTCloud.
Здесь рассматриваются только generateContent и streamGenerateContent. Доступность файлов, кэша, Live API, управления моделями и других ресурсов Google проверяйте по Справочнику API AGTCloud.
Подготовка
Перед началом убедитесь, что вы:
- Создали ключ API AGTCloud на странице API Keys;
- Скопировали полный ID модели с поддержкой Gemini Generate Content из каталога моделей;
- Подготовили поддерживаемую серверную среду. Текущая версия
@google/genai2.x требует Node.js20+; перед обновлением основной версии проверьте требования заново.
MODEL_ID и your-api-key здесь служат заполнителями. Не храните настоящие ключи API в браузере, установщике клиента или открытом репозитории.
Установка SDK
python -m pip install google-genaiИспользуйте текущую стабильную версию google-genai или @google/genai. Нужна поддержка собственных Base URL, версии API и заголовков запроса; если конструктор не распознаёт http_options / httpOptions ниже, сначала обновите SDK.
Настройка ключа API
Сохраните ключ API в серверной переменной окружения:
export AGTCLOUD_API_KEY="your-api-key"Совместимый интерфейс Gemini в AGTCloud использует Bearer API Key. Настройки ниже сохраняют структуру запросов Google Gen AI SDK и явно добавляют заголовок Authorization: Bearer ....
Google Gen AI SDK всё ещё требует инициализации api_key / apiKey, поэтому дополнительно отправляет x-goog-api-key. Этот заголовок добавляет SDK, и он не заменяет Bearer Header, используемый AGTCloud.
Создание клиента и отправка запроса
В Base URL укажите API Origin с этой страницы, без /v1, /v1beta или полного бизнес-пути. По api_version / apiVersion и методу модели SDK добавит /v1beta/models/{model}:generateContent.
import os
from google import genai
from google.genai import types
api_key = os.environ["AGTCLOUD_API_KEY"]
client = genai.Client(
api_key=api_key,
http_options=types.HttpOptions(
base_url="https://api.agtcloud.cn",
api_version="v1beta",
headers={"Authorization": f"Bearer {api_key}"},
),
)
response = client.models.generate_content(
model="MODEL_ID",
contents="Представьтесь в трёх предложениях.",
)
print(response.text)Это настройки совместимого подключения к AGTCloud
Стандартная аутентификация Google Gemini API ключом отличается от Bearer-аутентификации AGTCloud. Здесь пользовательские HTTP-параметры официального SDK задают API Origin AGTCloud, версию v1beta и заголовок Authorization; не пропускайте эти настройки.
Сначала проверьте совместимость заголовков текущего SDK и шлюза
Официальный SDK отправляет одновременно Authorization и x-goog-api-key. Если минимальный текстовый запрос возвращает ошибку аутентификации или проверки заголовков, не удаляйте Bearer Header и не записывайте настоящий ключ в другие поля; сначала можно использовать HTTP-вызов из Gemini Generate Content API Reference, а после подтверждения совместимости SDK и шлюза перейти на SDK.
Потоковый вывод
import os
from google import genai
from google.genai import types
api_key = os.environ["AGTCLOUD_API_KEY"]
client = genai.Client(
api_key=api_key,
http_options=types.HttpOptions(
base_url="https://api.agtcloud.cn",
api_version="v1beta",
headers={"Authorization": f"Bearer {api_key}"},
),
)
for chunk in client.models.generate_content_stream(
model="MODEL_ID",
contents="Кратко объясните, что такое векторный поиск.",
):
if chunk.text:
print(chunk.text, end="", flush=True)Потоковый метод последовательно возвращает фрагменты ответа Generate Content. В рабочей среде обрабатывайте обрывы соединения, тайм-ауты, пустые текстовые фрагменты и некорректное завершение запроса.
Частые вопросы
| Симптом | Что проверить |
|---|---|
401 или 403 | AGTCLOUD_API_KEY загружен, пользовательские заголовки содержат Authorization: Bearer ..., шлюз принимает добавляемый SDK x-goog-api-key |
404 или повтор версии в пути | Base URL содержит только https://api.agtcloud.cn, версия API установлена в v1beta |
| Конструктор не распознаёт настройки HTTP | Обновление до текущей стабильной версии google-genai или @google/genai |
| Модель недоступна | MODEL_ID заменён ID модели, видимой текущему ключу API и поддерживающей Gemini Generate Content |
| Структура ответа отличается от ожидаемой | Проверка candidates, content и parts, а не только агрегированного response.text |
| Обычный текст работает, но расширенные возможности — нет | Поддержка нужных Parts, вызовов инструментов или мультимодального ввода целевой моделью |
Не распространяйте возможности собственного Gateway на другие ресурсы SDK
Здесь рассматриваются только Generate Content и потоковая генерация. Нельзя делать вывод, что загрузка файлов, кэш, Live API, список моделей и другие методы Google будут работать по тому же адресу; доступность других ресурсов проверяйте по Справочнику API AGTCloud.
Следующие шаги
- Прочитайте Gemini Generate Content API Reference о
contents,parts, конфигурации генерации и полной структуре ответа. - Прочитайте Gemini Stream Generate Content API Reference о потоковом эндпоинте и событиях ответа.
- Для проекта на SDK поставщика используйте миграцию SDK поставщиков, последовательно заменяя настройки и выполняя регрессионные проверки.
- При ошибках запроса прочитайте Аутентификация и ключ API и Ошибки и устранение неполадок.