Полное руководство по настройке LiteLLM для стороннего сервиса-прокси API: 5 шагов для подключения APIYI

Как заставить LiteLLM одновременно управлять множеством больших языковых моделей (OpenAI, Claude, Gemini, DeepSeek и др.), не спотыкаясь о проблемы с зарубежными аккаунтами, доступом к сети или оплатой? Ответ прост: подключить LiteLLM к стороннему сервису-прокси API, совместимому с OpenAI. В этой статье мы на примере LiteLLM + APIYI (apiyi.com) пошагово разберем процесс настройки.

Ключевая ценность: Прочитав статью, вы освоите 3 основных способа настройки LiteLLM для работы через сторонний сервис-прокси (SDK, Proxy YAML, переменные окружения) и сможете подключить APIYI буквально за 5 минут.

litellm-configure-third-party-api-relay-tutorial-apiyi-ru 图示

Основные аспекты настройки LiteLLM со сторонним сервисом-прокси

LiteLLM — это open-source шлюз/SDK для LLM, цель которого — вызывать более 100 моделей через единый интерфейс, совместимый с OpenAI. Он «из коробки» поддерживает любые эндпоинты, совместимые с OpenAI: достаточно указать api_base вашего прокси-сервиса и использовать API-ключ, выданный этим сервисом. APIYI (apiyi.com) — это стандартный прокси-сервис с поддержкой OpenAI, поэтому они идеально подходят друг другу.

Аспект Описание Преимущество
Совместимость с OpenAI LiteLLM использует префикс openai/ для маршрутизации Подключение любого прокси одной строкой
Три способа настройки SDK, Proxy YAML, переменные окружения Подходит для скриптов, продакшена и CLI
Единое именование моделей openai/<provider-model> или кастомное имя Код не зависит от смены провайдера
Диагностика ошибок base_url должен заканчиваться на /v1 90% ошибок 404 возникают из-за этого
Отказоустойчивость YAML-режим поддерживает балансировку Максимальная доступность в продакшене

Подробности настройки LiteLLM

В официальной документации LiteLLM четко сказано: достаточно добавить префикс openai/ к имени модели и указать api_base, чтобы LiteLLM использовал клиент OpenAI для обращения к вашему эндпоинту. Это значит, что независимо от того, стоит ли за прокси GPT-5, Claude Opus 4.6, Gemini 3 Pro или DeepSeek, для LiteLLM это всегда «просто эндпоинт OpenAI».

Base_url сервиса APIYI (apiyi.com) — https://api.apiyi.com/v1. Он полностью соответствует стандартам /v1/chat/completions, /v1/embeddings, /v1/images/generations, поэтому идеально совместим с LiteLLM без каких-либо дополнительных патчей.

litellm-configure-third-party-api-relay-tutorial-apiyi-ru 图示

Быстрый старт: настройка LiteLLM с использованием стороннего сервис-прокси API

Подготовка

Перед началом работы убедитесь, что у вас есть:

  1. API-ключ APIYI: Зарегистрируйтесь на apiyi.com и создайте новый ключ в панели управления (рекомендуем назвать его litellm-prod).
  2. base_url: https://api.apiyi.com/v1 (обратите внимание: в конце обязательно должен быть /v1).
  3. Python-окружение: Python 3.9+.
  4. Установка зависимостей: pip install litellm.

Минималистичный пример: встроенная конфигурация SDK

Самый быстрый способ подключения — передать api_key и api_base прямо в коде:

import litellm

response = litellm.completion(
    model="openai/gpt-5",                              # Ключевой момент: префикс openai/
    api_key="YOUR_APIYI_KEY",
    api_base="https://api.apiyi.com/v1",               # Адрес сервис-прокси API APIYI
    messages=[
        {"role": "user", "content": "Опиши LiteLLM одним предложением"}
    ],
)

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

💡 Совет: Получив тестовый баланс в панели управления APIYI (apiyi.com), вы можете заменить gpt-5 на названия других моделей, например claude-opus-4-6 или gemini-3-pro, не меняя остальной код — в этом и заключается главное преимущество совместимости с протоколом OpenAI.

Посмотреть полный рабочий пример (с обработкой ошибок и потоковым выводом)
import os
import litellm
from litellm import completion

# Рекомендуется управлять ключами через переменные окружения
os.environ["OPENAI_API_KEY"] = "YOUR_APIYI_KEY"
os.environ["OPENAI_API_BASE"] = "https://api.apiyi.com/v1"

litellm.set_verbose = False  # При отладке можно сменить на True

def chat_with_apiyi(model: str, prompt: str, stream: bool = False):
    """Вызов любой модели, совместимой с OpenAI, через LiteLLM + APIYI"""
    try:
        response = completion(
            model=f"openai/{model}",
            messages=[{"role": "user", "content": prompt}],
            stream=stream,
            temperature=0.7,
            max_tokens=1024,
        )
        if stream:
            for chunk in response:
                delta = chunk.choices[0].delta.content or ""
                print(delta, end="", flush=True)
            print()
        else:
            return response.choices[0].message.content
    except Exception as e:
        print(f"Ошибка вызова: {e}")
        return None

if __name__ == "__main__":
    # Без потока
    print(chat_with_apiyi("gpt-5", "Объясни, что такое LLM-шлюз"))
    # С потоком
    chat_with_apiyi("claude-opus-4-6", "Опиши преимущества LiteLLM в 100 словах", stream=True)

Конфигурация через Proxy YAML: выбор для продакшена

Если вы планируете запустить LiteLLM как отдельный сервис (на порту 4000 для всей команды), рекомендуем использовать YAML-конфигурацию. Создайте файл litellm_config.yaml:

model_list:
  - model_name: gpt-5                       # Имя модели для внешнего доступа
    litellm_params:
      model: openai/gpt-5                   # Префикс openai/ для маршрутизации к клиенту OpenAI
      api_base: https://api.apiyi.com/v1    # Адрес прокси APIYI
      api_key: os.environ/APIYI_KEY         # Ссылка на переменную окружения

  - model_name: claude-opus-4-6
    litellm_params:
      model: openai/claude-opus-4-6
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  - model_name: gemini-3-pro
    litellm_params:
      model: openai/gemini-3-pro
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

litellm_settings:
  drop_params: true                          # Автоматическое удаление неподдерживаемых параметров
  num_retries: 2                             # Количество повторных попыток при сбое

router_settings:
  fallbacks:
    - gpt-5: ["claude-opus-4-6", "gemini-3-pro"]

Запуск прокси:

export APIYI_KEY=sk-xxxxxxxxxxxxxxxx
litellm --config ./litellm_config.yaml --port 4000

После этого любой SDK OpenAI сможет обращаться к моделям через http://localhost:4000:

from openai import OpenAI

client = OpenAI(
    api_key="any-string",                    # LiteLLM Proxy не проверяет содержимое (если не настроен master_key)
    base_url="http://localhost:4000",
)

resp = client.chat.completions.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "Hello via LiteLLM Proxy"}]
)
print(resp.choices[0].message.content)

🎯 Совет для продакшена: Мы рекомендуем добавить слой master_key перед LiteLLM Proxy и подключить все базовые модели к APIYI (apiyi.com). Таким образом, на уровне приложения вы будете видеть только "семантические имена моделей" (например, gpt-5), а вопросы маршрутизации, биллинга и лимитов будут решаться на уровне APIYI + LiteLLM.

Режим переменных окружения: удобно для CLI и скриптов

Для разовых скриптов и инструментов командной строки проще всего использовать переменные окружения. LiteLLM автоматически распознает OPENAI_API_KEY и OPENAI_API_BASE:

export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
export OPENAI_API_BASE=https://api.apiyi.com/v1

После этого все вызовы с префиксом openai/ будут проходить через APIYI:

import litellm
print(litellm.completion(
    model="openai/gpt-5",
    messages=[{"role": "user", "content": "ping"}]
).choices[0].message.content)

Сравнение трех способов настройки LiteLLM с сервис-прокси

Выбор метода зависит от ваших задач. В таблице ниже приведены рекомендации.

litellm-configure-third-party-api-relay-tutorial-apiyi-ru 图示

Параметр SDK Inline Proxy YAML Env Vars
Сложность ⭐ Низкая ⭐⭐⭐ Средняя ⭐ Низкая
Сценарии Скрипты, Notebooks Команда, продакшен CLI, CI
Отдельный процесс Нет Да (порт 4000) Нет
Управление моделями Вручную Централизованно (YAML) Только одна пара ключей
Поддержка Fallback Через try/except ✅ Встроено ❌ Нет
Безопасность ключей Риск хардкода ✅ Через env ✅ Через env
Рекомендация Прототипирование Продакшен Личные скрипты

💡 Совет: Для личной разработки достаточно переменных окружения. Для команд и продакшена настоятельно рекомендуем режим Proxy YAML, так как он позволяет управлять маршрутизацией, отказоустойчивостью (fallback), лимитами и статистикой в одном файле. Какой бы метод вы ни выбрали, подключение к APIYI (apiyi.com) остается неизменным, вам достаточно поддерживать один API-ключ.

Практика маршрутизации нескольких моделей: LiteLLM + APIYI

Настоящая мощь режима LiteLLM Proxy заключается в возможности использовать один YAML-файл для сопоставления «семантического имени модели» с «реальным каналом». Ниже приведен минимальный конфиг для маршрутизации, готовый к использованию в продакшене.

litellm-configure-third-party-api-relay-tutorial-apiyi-ru 图示

# litellm_config.yaml - пример маршрутизации для продакшена
model_list:
  # Основные модели для логических задач
  - model_name: smart
    litellm_params:
      model: openai/gpt-5
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY
      timeout: 60

  - model_name: smart
    litellm_params:
      model: openai/claude-opus-4-6
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY
      timeout: 60

  # Быстрые и недорогие модели
  - model_name: fast
    litellm_params:
      model: openai/gpt-5-mini
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  # Мультимодальные модели / зрение
  - model_name: vision
    litellm_params:
      model: openai/gemini-3-pro
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

  # Эмбеддинги
  - model_name: embed
    litellm_params:
      model: openai/text-embedding-3-large
      api_base: https://api.apiyi.com/v1
      api_key: os.environ/APIYI_KEY

litellm_settings:
  drop_params: true
  num_retries: 2
  request_timeout: 60

router_settings:
  routing_strategy: simple-shuffle           # Балансировка между моделями с одинаковым именем
  fallbacks:
    - smart: ["fast"]                        # При сбое smart-модели переключаемся на fast

general_settings:
  master_key: sk-litellm-master-xxxx         # Клиент должен использовать этот ключ

На уровне приложения вы работаете только с четырьмя семантическими именами: smart, fast, vision и embed. Если GPT-5 попадает под лимиты, LiteLLM автоматически переключится на Claude Opus 4.6 (поскольку они оба зарегистрированы как smart), а в случае дальнейших сбоев — на fast. Весь трафик проходит через сервис-прокси API APIYI (apiyi.com) для централизованного биллинга и мониторинга, что позволяет полностью отделить логику приложения от каналов доступа.

Частые вопросы по настройке сторонних сервисов-прокси API в LiteLLM

Q1: Почему я указал base_url, но все равно получаю ошибку 404 Not Found?

В 90% случаев проблема в том, что в api_base забыли добавить /v1 в конце. LiteLLM использует клиент OpenAI, который автоматически добавляет /chat/completions к пути. Поэтому ваш api_base должен выглядеть как https://api.apiyi.com/v1, а не https://api.apiyi.com. Также не пишите https://api.apiyi.com/v1/chat/completions, иначе путь будет продублирован.

Q2: Почему обязательно добавлять префикс openai/ к названию модели?

Внутри LiteLLM есть таблица маршрутизации провайдеров. Префикс openai/ говорит LiteLLM: «Пожалуйста, используй клиент OpenAI для доступа к этой конечной точке». Если префикс не добавить, LiteLLM может попытаться сопоставить модель со встроенным провайдером (например, claude-opus-4-6 будет распознана как нативный API Anthropic), из-за чего протокол будет выбран неверно. При подключении к сервису-прокси API всегда добавляйте префикс openai/.

Q3: Может ли один API-ключ APIYI использоваться для вызова нескольких моделей?

Да. Один ключ APIYI (apiyi.com) по умолчанию поддерживает все доступные на платформе модели, включая GPT-5, Claude Opus 4.6, Gemini 3 Pro, DeepSeek, Qwen и другие. В этом и заключается главное отличие от официального API — вам нужно поддерживать только один ключ и один base_url, чтобы подключить десятки моделей в YAML-конфиге LiteLLM.

Q4: Как проверить, что канал связи с прокси-сервером работает после запуска LiteLLM Proxy?

Самый быстрый способ — отправить запрос через curl напрямую к LiteLLM Proxy:

curl http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-litellm-master-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "smart",
    "messages": [{"role": "user", "content": "ping"}]
  }'

Если вы получили ответ 200 + JSON, значит, вся цепочка Приложение → LiteLLM Proxy → APIYI работает корректно. Если возникла ошибка, сначала проверьте логи консоли LiteLLM, а затем попробуйте отправить запрос с тем же base_url и ключом напрямую в APIYI, чтобы локализовать проблему.

Q5: Нужно ли дополнительно настраивать потоковую передачу (stream) при работе через прокси?

Нет. APIYI (apiyi.com) полностью поддерживает потоковые ответы SSE, а LiteLLM передает их по умолчанию. Вам достаточно добавить stream=True при вызове completion() или при использовании SDK OpenAI для обращения к прокси, чтобы получать ответ по токенам.

Q6: Можно ли одновременно подключить Embedding и генерацию изображений?

Да. APIYI (apiyi.com) поддерживает /v1/embeddings, /v1/images/generations и /v1/audio/transcriptions — все они работают через тот же base_url и ключ. В YAML-файле LiteLLM достаточно добавить соответствующие модели в model_list, например: text-embedding-3-large, gpt-image-1, whisper-1. Использование полностью аналогично диалоговым моделям, подробности см. в примере маршрутизации в предыдущем разделе.

Итоги

Настройка стороннего сервиса-прокси в LiteLLM сводится к трем вещам:

  1. Согласование протокола: добавьте префикс openai/ к модели, чтобы LiteLLM использовал протокол клиента OpenAI.
  2. Согласование входа: api_base должен указывать на корневой путь прокси-сервиса + /v1, например https://api.apiyi.com/v1.
  3. Согласование учетных данных: передайте ключ, выданный прокси-сервисом, через api_key или переменную окружения.

После выполнения этих трех шагов все функции LiteLLM (маршрутизация нескольких моделей, Fallback, ограничение скорости, биллинг, логирование) можно бесшовно использовать поверх стабильного прокси-сервиса.

🚀 Совет: Если вы создаете единый шлюз LLM для своей команды, мы рекомендуем трехуровневую архитектуру: «Приложение → LiteLLM Proxy → APIYI (apiyi.com)». LiteLLM отвечает за маршрутизацию и Fallback, а APIYI — за доступ к базовым моделям, стабильность и оплату по факту использования. Вам нужно управлять только одним YAML-файлом и одним ключом. Зарегистрируйтесь на apiyi.com, чтобы получить тестовый баланс и выполнить первый вызов за 5 минут.


Автор: Команда APIYI — специализируемся на предоставлении стабильного доступа к основным большим языковым моделям для разработчиков. Посетите apiyi.com для получения дополнительной информации.

Справочные материалы

  1. Официальная документация LiteLLM — OpenAI-совместимые эндпоинты

    • Ссылка: docs.litellm.ai/docs/providers/openai_compatible
    • Описание: Официальные примеры для SDK и YAML-конфигурации прокси.
  2. Обзор конфигурации LiteLLM Proxy

    • Ссылка: docs.litellm.ai/docs/proxy/configs
    • Описание: Полный список полей для model_list, router_settings и fallbacks.
  3. Репозиторий LiteLLM на GitHub

    • Ссылка: github.com/BerriAI/litellm
    • Описание: Исходный код, тикеты (Issues) и информация о последних версиях.
  4. daily_stock_analysis — LLM_CONFIG_GUIDE

    • Ссылка: github.com/ZhuLinsen/daily_stock_analysis/blob/main/docs/LLM_CONFIG_GUIDE.md
    • Описание: Практическое руководство по трем режимам конфигурации и работе с несколькими каналами.
  5. Официальная документация APIYI

    • Ссылка: apiyi.com
    • Описание: Список поддерживаемых моделей, управление base_url и API-ключами.

Похожие записи