Skip to main content

Полнофункциональная интеграция GigaChat API с LiteLLM

Project description

Интеграция GigaChat с LiteLLM

GitHub stars PyPI version

Python LiteLLM License GigaChat

Полнофункциональная интеграция GigaChat API с LiteLLM - готовое решение для подключения российской языковой модели GigaChat через стандартный OpenAI-совместимый интерфейс. Включает автоматическое обновление токенов, преобразование контента и полную совместимость с AI-ассистентом Cline.

📚 Документация

Полная документация | FAQ | Тестовые запросы | Причины несовместимости с OpenAI API

🚀 Основные возможности

  • Автоматическое обновление токенов
  • Автоматическая настройка сертификатов
  • Совместимость с Cline
  • Streaming поддержка

📦 Установка

Через pip (рекомендуется)

# Установка пакета
pip install litellm-gigachat

# Проверка установки
litellm-gigachat --version

Из исходников (для разработки)

# 1. Клонирование репозитория
git clone https://github.com/stp008/litellm-gigachat.git
cd litellm-gigachat

# 2. Установка в режиме разработки
pip install -e .

# 3. Проверка установки
litellm-gigachat --version

🎯 Быстрый старт

1. Настройка API ключа

# Установите ваш authorization key от GigaChat
export GIGACHAT_AUTH_KEY="ваш_authorization_key"

2. Запуск прокси-сервера

# Через установленный пакет (рекомендуется)
litellm-gigachat

# Через исходники (для разработки)
python tools/start_proxy.py

# С кастомными параметрами (только для установленного пакета)
litellm-gigachat --host 127.0.0.1 --port 8000

# С кастомным файлом конфигурации
litellm-gigachat --config my_config.yml

# Справка по командам
litellm-gigachat --help

Примечание: Если вы работаете с исходниками проекта (клонировали репозиторий), используйте python tools/start_proxy.py. Если установили пакет через pip, используйте команду litellm-gigachat.

3. Использование через OpenAI API

import openai

client = openai.OpenAI(
    base_url="http://localhost:4000",
    api_key="any-key"  # Токен управляется автоматически
)

response = client.chat.completions.create(
    model="gigachat",
    messages=[{"role": "user", "content": "Привет, GigaChat!"}]
)

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

4. Использование через LiteLLM (программно)

import litellm_gigachat

# Автоматическая настройка интеграции
litellm_gigachat.setup_litellm_gigachat_integration()

# Использование через LiteLLM
import litellm

response = litellm.completion(
    model="openai/GigaChat",
    api_base="https://gigachat.devices.sberbank.ru/api/v1",
    api_key=litellm_gigachat.get_gigachat_token(),
    messages=[{"role": "user", "content": "Привет!"}]
)

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

Использование через Cline

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

Настройки OpenAI Compatible провайдера:
Настройки Cline с OpenAI совместимостью
Настройка LiteLLM провайдера:
Настройки Cline через LiteLLM

В настройках Cline укажите следующие параметры:

Основные настройки:

  1. API Provider: Выберите OpenAI Compatible или LiteLLM из выпадающего списка
  2. Base URL: Введите http://localhost:4000 (без слэша в конце)
  3. API Key: Введите любое значение, например gigachat-key (токен управляется автоматически)
  4. Model: Выберите одну из моделей:
    • gigachat - основная модель (рекомендуется для начала)
    • gigachat-pro - продвинутая модель для сложных задач
    • gigachat-max - модель с максимальными возможностями

4.3 Дополнительные настройки (опционально)

  • Temperature: 0.7 (для баланса между креативностью и точностью)
  • Max Tokens: 4000 (максимальная длина ответа)
  • Timeout: 60 секунд

Тестирование интеграции с Cline

python test_cline_integration.py

🔧 CLI команды

После установки пакета доступна команда litellm-gigachat для управления прокси-сервером:

Основные команды

Команда Описание
litellm-gigachat Запуск прокси-сервера с настройками по умолчанию
litellm-gigachat --help Показать справку по всем доступным параметрам
litellm-gigachat --version Показать версию пакета

Параметры командной строки

Параметр Описание По умолчанию
--host Хост для прокси-сервера 0.0.0.0
--port Порт для прокси-сервера 4000
--config Путь к файлу конфигурации config.yml

Примеры использования

# Запуск на localhost с портом 8000
litellm-gigachat --host 127.0.0.1 --port 8000

# Использование кастомного файла конфигурации
litellm-gigachat --config /path/to/my_config.yml

# Запуск только на локальном интерфейсе
litellm-gigachat --host localhost --port 3000

📊 Доступные модели

Модель API Описание
gigachat Основная модель для общих задач
gigachat-pro Продвинутая модель для сложных задач
gigachat-max Модель с максимальными возможностями

🧪 Тестирование

После установки через pip

# Проверка версии и CLI
litellm-gigachat --version
litellm-gigachat --help

# Запуск прокси-сервера (требует GIGACHAT_AUTH_KEY)
export GIGACHAT_AUTH_KEY="ваш_ключ"
litellm-gigachat

# Тестирование через curl (в другом терминале)
curl -X POST http://localhost:4000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer any-key" \
  -d '{
    "model": "gigachat",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

При разработке из исходников

# Базовая функциональность
python tests/test_basic_functionality.py

# Интеграция с Cline
python tests/test_cline_integration.py

# Интерактивные примеры
python examples/basic_usage.py

# Все тесты
python -m pytest tests/

Быстрая проверка работоспособности

# test_quick.py
import openai

client = openai.OpenAI(
    base_url="http://localhost:4000",
    api_key="test-key"
)

try:
    response = client.chat.completions.create(
        model="gigachat",
        messages=[{"role": "user", "content": "Тест"}]
    )
    print("✅ Интеграция работает!")
    print(f"Ответ: {response.choices[0].message.content}")
except Exception as e:
    print(f"❌ Ошибка: {e}")

🚨 Устранение неполадок

Ошибка "Authorization key не найден"

# Установите переменную окружения
export GIGACHAT_AUTH_KEY="ваш_ключ"

# Проверьте, что ключ установлен
echo $GIGACHAT_AUTH_KEY

Проблемы с CLI командой

# Проверьте, что пакет установлен
pip list | grep litellm-gigachat

# Переустановите пакет при необходимости
pip install --upgrade litellm-gigachat

# Проверьте версию
litellm-gigachat --version

Проблемы с прокси-сервером

# Убедитесь, что прокси запущен
litellm-gigachat

# Проверьте, что порт свободен
lsof -i :4000

# Запустите на другом порту
litellm-gigachat --port 8000

Проблемы с Cline

  • Убедитесь, что прокси запущен: litellm-gigachat
  • Проверьте URL: http://localhost:4000
  • Проверьте, что порт доступен: curl http://localhost:4000/health
  • Тест интеграции: python tests/test_cline_integration.py

Проблемы с сертификатами

# Проверьте подключение к GigaChat API
curl -k https://gigachat.devices.sberbank.ru/api/v1/models

# При проблемах с SSL попробуйте переустановить certifi
pip install --upgrade certifi

Полное руководство: ❓ FAQ

🔗 Полезные ссылки


Лицензия: MIT | Поддерживаемые версии: Python 3.8+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

litellm_gigachat-0.1.1.tar.gz (455.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

litellm_gigachat-0.1.1-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file litellm_gigachat-0.1.1.tar.gz.

File metadata

  • Download URL: litellm_gigachat-0.1.1.tar.gz
  • Upload date:
  • Size: 455.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for litellm_gigachat-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4df6f162c199da425d07c01df4ef767eefec9570ccff8a7ebcd6fbd92dede76c
MD5 f25cf064f2e5363218c596df4e153e3b
BLAKE2b-256 24b4e65144776d952c4ea40f252d3816a115fd9bd3834ff609c0e19984775ae8

See more details on using hashes here.

File details

Details for the file litellm_gigachat-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for litellm_gigachat-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9a2381f8eb61bc30e9a4c32714a0eff3351408b86de36be84046db595ba23f0a
MD5 760d66f6a3f311c22418f13d730bc363
BLAKE2b-256 7a9573644761b5e6adb72e4b4c880eda0d80d88fe92e28034a5342aa5618d0a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page