Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

Введение

Gemini CLI — официальный инструмент командной строки от Google, позволяющий разработчикам взаимодействовать с AI-моделями Gemini из терминала. После настройки API APIMart вы можете использовать в Gemini CLI продвинутые модели APIMart — GPT, Claude и Gemini.

Предварительные требования

Перед началом:
  1. Установлены Node.js и npm
    Скачайте и установите с сайта Node.js (рекомендуется v16 или новее)
  2. Есть API-ключ APIMart
    Войдите в консоль APIMart и скопируйте API-ключ (начинается с sk-)
Совет: если у вас ещё нет аккаунта APIMart, сначала зарегистрируйтесь на APIMart и создайте API-ключ.

Шаг 1: Установите Gemini CLI

1.1 Глобальная установка

Установите Gemini CLI глобально через npm:
npm install -g @google/gemini-cli

1.2 Проверка установки

Проверьте, что CLI доступен:
gemini --version
Если выводится номер версии, установка прошла успешно.
Совет: если команда не найдена, перезапустите терминал или проверьте настройку глобального PATH npm.

Шаг 2: Настройте API APIMart

2.1 Временные переменные окружения

Для тестирования или разового использования; значения теряются при закрытии терминала. Windows (PowerShell):
$env:GEMINI_API_KEY = "sk-xxxxxxxxxxxx"
$env:GEMINI_BASE_URL = "https://api.apimart.ai/v1"
macOS/Linux (Bash):
export GEMINI_API_KEY="sk-xxxxxxxxxxxx"
export GEMINI_BASE_URL="https://api.apimart.ai/v1"

2.2 Постоянные переменные окружения (рекомендуется)

Сохраните конфигурацию, чтобы новые сессии подхватывали её автоматически. Windows (PowerShell):
  1. Запустите PowerShell от администратора
  2. Установите переменные окружения пользователя:
[System.Environment]::SetEnvironmentVariable('GEMINI_API_KEY', 'sk-xxxxxxxxxxxx', 'User')
[System.Environment]::SetEnvironmentVariable('GEMINI_BASE_URL', 'https://api.apimart.ai/v1', 'User')
  1. Перезапустите PowerShell или перезагрузите переменные:
$env:GEMINI_API_KEY = [System.Environment]::GetEnvironmentVariable('GEMINI_API_KEY', 'User')
$env:GEMINI_BASE_URL = [System.Environment]::GetEnvironmentVariable('GEMINI_BASE_URL', 'User')
macOS/Linux (Bash):
  1. Отредактируйте rc-файл вашего шелла:
# Bash
nano ~/.bashrc

# Zsh (по умолчанию в macOS)
nano ~/.zshrc
  1. Добавьте:
# APIMart Gemini CLI
export GEMINI_API_KEY="sk-xxxxxxxxxxxx"
export GEMINI_BASE_URL="https://api.apimart.ai/v1"
  1. Перезагрузите:
source ~/.bashrc   # Bash
source ~/.zshrc    # Zsh

2.3 Использование файла .env

Создайте .env в вашем проекте:
# .env
GEMINI_API_KEY=sk-xxxxxxxxxxxx
GEMINI_BASE_URL=https://api.apimart.ai/v1
Загрузите переменные перед запуском Gemini: macOS/Linux:
export $(cat .env | xargs) && gemini chat
Windows (PowerShell):
Get-Content .env | ForEach-Object {
    $name, $value = $_.split('=')
    Set-Content env:\$name $value
}
gemini chat
Важно: - Замените sk-xxxxxxxxxxxx на ваш реальный ключ из консоли APIMart - Установите GEMINI_BASE_URL равным https://api.apimart.ai/v1, чтобы Gemini CLI обращался к APIMart - Добавьте .env в .gitignore, чтобы ключи не попадали в коммиты

2.4 Проверьте конфигурацию

macOS/Linux:
echo $GEMINI_API_KEY
echo $GEMINI_BASE_URL
Windows (PowerShell):
echo $env:GEMINI_API_KEY
echo $env:GEMINI_BASE_URL
Если значения корректные, конфигурация настроена.

Шаг 3: Используйте Gemini CLI

3.1 Базовый чат

Интерактивная сессия:
gemini chat
Разовый промпт:
gemini "Give a short overview of the history of artificial intelligence"

3.2 Выбор модели

gemini chat --model gpt-4o
Или:
gemini "Write a Python quicksort implementation" --model claude-sonnet-4-5-20250929

3.3 Чтение промптов из файла

gemini --input prompt.txt
Или через pipe:
cat prompt.txt | gemini

3.4 Сохранение вывода в файл

gemini "Generate a React component" --output component.jsx

Шаг 4: Вызов APIMart из кода

4.1 Python SDK

import openai

# APIMart
openai.api_key = "sk-xxxxxxxxxxxx"  # Your APIMart API key
openai.api_base = "https://api.apimart.ai/v1"

response = openai.ChatCompletion.create(
    model="gemini-2.0-flash-exp",
    messages=[
        {"role": "user", "content": "Hi—please introduce yourself"}
    ]
)

print(response.choices[0].message.content)

4.2 JavaScript / TypeScript

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-xxxxxxxxxxxx",
  baseURL: "https://api.apimart.ai/v1",
});

async function main() {
  const completion = await client.chat.completions.create({
    model: "gemini-2.0-flash-exp",
    messages: [{ role: "user", content: "Hi—please introduce yourself" }],
  });

  console.log(completion.choices[0].message.content);
}

main();

4.3 cURL

curl https://api.apimart.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxx" \
  -d '{
    "model": "gemini-2.0-flash-exp",
    "messages": [
      {"role": "user", "content": "Hi—please introduce yourself"}
    ]
  }'

Шаг 5: Выберите модель

Рекомендуемые модели

APIMart поддерживает много моделей; выбирайте по задаче и бюджету. Gemini
Имя моделиID моделиОсобенностиПодходит для
Gemini 2.0 Flashgemini-2.0-flash-expБыстрая, мультимодальнаяБыстрые ответы, vision + текст
Gemini 2.5 Progemini-2.5-proСильные возможностиСложные задачи, анализ
Gemini 2.5 Flashgemini-2.5-flashОчень отзывчиваяЧат в реальном времени, пакетные задачи
GPT
Имя моделиID моделиОсобенностиПодходит для
GPT-5gpt-5ТоповаяРассуждения, креативный текст
GPT-4ogpt-4oВысокое качествоОбщий чат, контент
GPT-4o Minigpt-4o-miniВыгоднаяПростые задачи, высокий объём
Claude
Имя моделиID моделиОсобенностиПодходит для
Claude Sonnet 4.5claude-sonnet-4-5-20250929Сильное рассуждениеКод, логика
Claude Haiku 4.5claude-haiku-4-5-20251001Очень быстраяQ&R, чат с низкой задержкой
Быстрый выбор: - 🚀 Стек Google-стиля: gemini-2.0-flash-exp, gemini-2.5-pro - 💡 Кодинг: claude-sonnet-4-5-20250929, gpt-5 - 💰 Экономия: gpt-4o-mini, claude-haiku-4-5-20251001 - ⚡ Скорость: gemini-2.0-flash-exp, gpt-4o-mini

Расширенные возможности

Мультимодальность (изображения)

С мультимодальной моделью, такой как Gemini 2.0 Flash:
response = openai.ChatCompletion.create(
    model="gemini-2.0-flash-exp",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What's in this image?"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/image.jpg"
                    }
                }
            ]
        }
    ]
)

Стриминг

Получайте токены по мере поступления:
stream = openai.ChatCompletion.create(
    model="gemini-2.0-flash-exp",
    messages=[{"role": "user", "content": "Write a short poem about spring"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end='')

Настройка параметров

Контроль случайности и длины:
response = openai.ChatCompletion.create(
    model="gemini-2.0-flash-exp",
    messages=[{"role": "user", "content": "Your question"}],
    temperature=0.7,        # randomness (0–2)
    max_tokens=2000,        # max output length
    top_p=0.9,              # nucleus sampling
    presence_penalty=0,     # topic diversity
    frequency_penalty=0     # repetition penalty
)

Часто задаваемые вопросы

Q1: «Invalid API key» или ошибки аутентификации

  1. Формат ключа
    • Должен начинаться с sk-
    • Без лишних пробелов при вставке
  2. Переменные окружения
    # macOS / Linux
    echo $GEMINI_API_KEY
    echo $GEMINI_BASE_URL
    
    # Windows PowerShell
    echo $env:GEMINI_API_KEY
    echo $env:GEMINI_BASE_URL
    
  3. Статус ключа
    • Проверьте ключ в консоли APIMart
    • Убедитесь, что на аккаунте есть баланс

Q2: Как проверить настройку API?

import openai

openai.api_key = "sk-xxxxxxxxxxxx"
openai.api_base = "https://api.apimart.ai/v1"

try:
    response = openai.ChatCompletion.create(
        model="gemini-2.0-flash-exp",
        messages=[{"role": "user", "content": "test"}],
        max_tokens=10
    )
    print("✅ API configuration OK")
    print(f"Reply: {response.choices[0].message.content}")
except Exception as e:
    print(f"❌ API configuration failed: {e}")

Q3: Какие языки поддерживаются?

Любой язык, способный отправлять HTTP-запросы, работает с APIMart:
  • Python — рекомендуется OpenAI SDK
  • JavaScript / TypeScript — Node или браузер
  • Java — HTTP-клиент
  • Go — stdlib или библиотеки
  • PHP — cURL или Guzzle
  • Ruby — HTTP gems
  • C# / .NETHttpClient
  • SwiftURLSession
  • Другие — что угодно с HTTP

Q4: Где посмотреть использование и биллинг?

В консоли APIMart:
  • 📊 Статистика вызовов в реальном времени
  • 💰 Расходы и счета
  • 📈 Тенденции использования
  • 🔍 Логи запросов
  • ⚙️ Управление API-ключами

Q5: Распространённые ошибки API

ОшибкаВероятная причинаЧто делать
401 UnauthorizedНеверный или отозванный ключИсправьте ключ в env / консоли
429 Too Many RequestsЛимит запросовЗамедлите или повысьте план
500 Internal Server ErrorВременная проблема сервераПовторите позже; если сохраняется — поддержка
insufficient_quotaНизкий балансПополните в консоли

Лучшие практики

1. Повторы и backoff

import openai
import time

def call_with_retry(max_retries=3):
    for i in range(max_retries):
        try:
            response = openai.ChatCompletion.create(
                model="gemini-2.0-flash-exp",
                messages=[{"role": "user", "content": "Your question"}]
            )
            return response
        except openai.error.RateLimitError:
            if i < max_retries - 1:
                time.sleep(2 ** i)
                continue
            raise
        except Exception as e:
            print(f"Error: {e}")
            raise

response = call_with_retry()

2. Контроль затрат

def choose_model(complexity):
    if complexity == "simple":
        return "gpt-4o-mini"
    elif complexity == "medium":
        return "gemini-2.0-flash-exp"
    return "gpt-5"

model = choose_model("simple")
response = openai.ChatCompletion.create(
    model=model,
    messages=[{"role": "user", "content": "Your question"}],
    max_tokens=500
)

3. Системные промпты

response = openai.ChatCompletion.create(
    model="gemini-2.0-flash-exp",
    messages=[
        {
            "role": "system",
            "content": "You are an expert Python assistant who writes clear, efficient code."
        },
        {
            "role": "user",
            "content": "Implement quicksort for me"
        }
    ]
)

Возможности

С Google AI Studio и APIMart вы получаете:
  • 🤖 Много моделей — GPT, Claude, Gemini и другие
  • 🌍 OpenAI-совместимость — знакомая форма запросов/ответов
  • Производительность — низкая задержка, высокая параллельность
  • 💰 Прозрачное ценообразование — оплата по факту
  • 📊 Наблюдаемость — мониторинг вызовов в реальном времени
  • 🔒 Безопасность — корпоративные меры защиты
  • 🚀 Быстрая интеграция — простые HTTP / SDK вызовы
  • 📚 Документация — руководства и примеры

Поддержка


Начните с APIMart

Создайте аккаунт, получите API-ключ и используйте несколько AI-моделей из рабочих процессов Google AI Studio и не только.