Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

gpt2giga

PyPI Python CI Docs License

gpt2giga — FastAPI-шлюз совместимости между OpenAI-, Anthropic- и Gemini-совместимыми клиентами и GigaChat. Дистрибутив содержит только gateway: команду gpt2giga и Python namespace gpt2giga.

Unified Harness поставляется отдельно в дистрибутиве gpt2giga-harness и не устанавливается вместе с gateway.

Установка

Для актуального prerelease:

uv tool install --prerelease allow gpt2giga
gpt2giga --help

Или в существующее окружение:

python -m pip install --pre gpt2giga

Поддерживается Python 3.10–3.14. Для Postgres, OpenSearch или Phoenix добавьте соответствующую extra-зависимость, например:

python -m pip install --pre "gpt2giga[postgres]"

Минимальная конфигурация

Создайте .env:

GPT2GIGA_MODE=DEV
GPT2GIGA_HOST=127.0.0.1
GPT2GIGA_PORT=8090
GPT2GIGA_ENABLE_API_KEY_AUTH=True
GPT2GIGA_API_KEY="<local-proxy-api-key>"

GIGACHAT_CREDENTIALS="<your-gigachat-credentials>"
GIGACHAT_SCOPE=GIGACHAT_API_PERS
GIGACHAT_MODEL=GigaChat-2-Max
GIGACHAT_VERIFY_SSL_CERTS=True

Запустите gateway и проверьте health endpoint:

gpt2giga --env-path .env
curl http://127.0.0.1:8090/health

В DEV интерактивная OpenAPI-документация доступна на http://127.0.0.1:8090/docs. В PROD она отключена.

Первый запрос

OpenAI SDK:

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:8090/v1",
    api_key="<local-proxy-api-key>",
)
response = client.chat.completions.create(
    model="GigaChat-2-Max",
    messages=[{"role": "user", "content": "Кратко объясни SSE"}],
)
print(response.choices[0].message.content)

Anthropic SDK:

from anthropic import Anthropic

client = Anthropic(
    base_url="http://127.0.0.1:8090/v1",
    api_key="<local-proxy-api-key>",
)
response = client.messages.create(
    model="GigaChat-2-Max",
    max_tokens=512,
    messages=[{"role": "user", "content": "Кратко объясни SSE"}],
)
print(response.content[0].text)

Gemini SDK добавляет Gemini-пути самостоятельно, поэтому ему передают корневой URL http://127.0.0.1:8090 и тот же локальный API key.

Маршруты и версии backend

Основная публичная поверхность:

  • OpenAI: GET /models, POST /chat/completions, POST /responses, POST /embeddings;
  • Anthropic: POST /messages, POST /messages/count_tokens;
  • Gemini: generateContent, streamGenerateContent, countTokens, embedContent, batchEmbedContents и model discovery;
  • LiteLLM: GET /model/info;
  • служебные: GET /health, GET|POST /ping.

Префикс /v1 принудительно выбирает upstream-контракт GigaChat v1, /v2 — GigaChat v2. Маршруты без такого префикса следуют GPT2GIGA_GIGACHAT_API_MODE. Files/Batches для OpenAI, Anthropic и Gemini намеренно не смонтированы, пока upstream не поддерживает их end-to-end.

Безопасность

  • Включайте GPT2GIGA_ENABLE_API_KEY_AUTH=True для любого общего окружения;
  • храните GigaChat credentials на сервере, а не в клиентских настройках;
  • не передавайте секреты через CLI flags: они могут быть видны в списке процессов;
  • оставляйте GIGACHAT_VERIFY_SSL_CERTS=True;
  • не включайте захват payload без политики редактирования, доступа и retention.

GPT2GIGA_API_KEY защищает локальный gateway и не является GigaChat credential. Per-request GigaChat authorization через клиентский Authorization доступна только при явном GPT2GIGA_PASS_TOKEN=True.

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

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

Из корня репозитория:

uv sync --all-packages --all-extras --dev
uv run gpt2giga
uv build --package gpt2giga --no-sources

Полный репозиторный workflow, правила contribution и тестирования описаны в CONTRIBUTING и корневом README.

Download files

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

Source Distribution

gpt2giga-0.2.5a1.tar.gz (237.7 kB view details)

Uploaded Source

Built Distribution

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

gpt2giga-0.2.5a1-py3-none-any.whl (269.9 kB view details)

Uploaded Python 3

File details

Details for the file gpt2giga-0.2.5a1.tar.gz.

File metadata

  • Download URL: gpt2giga-0.2.5a1.tar.gz
  • Upload date:
  • Size: 237.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for gpt2giga-0.2.5a1.tar.gz
Algorithm Hash digest
SHA256 8601bdbae4e3a1db0b738e3a0989719901d0c8a16ca6826a64e48323ab1c7c9c
MD5 423b66d7d1049c013c8dc97c8ef52cf4
BLAKE2b-256 edab661bfc4a3edfacf1e8091fc4619cfd24959bce4e63b5a21c093c6395b4b6

See more details on using hashes here.

File details

Details for the file gpt2giga-0.2.5a1-py3-none-any.whl.

File metadata

  • Download URL: gpt2giga-0.2.5a1-py3-none-any.whl
  • Upload date:
  • Size: 269.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for gpt2giga-0.2.5a1-py3-none-any.whl
Algorithm Hash digest
SHA256 637eeebe8bfe20278d75c5218be6da7c92f8af798a18d2eed557be45b15a8922
MD5 5fe287ac04bf5a2bea5d0b5dc93078d2
BLAKE2b-256 5f43d149632b720c299f1c4f8d45f6f80c80c61ac9baa66807f6d5a70f87eec0

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 Sentry Error logging StatusPage Status page