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.

GigaLoom (ранее Unified Harness) развивается отдельно в krakenalt/gigaloom, поставляется дистрибутивом 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.6a1.tar.gz (260.9 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.6a1-py3-none-any.whl (296.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gpt2giga-0.2.6a1.tar.gz
  • Upload date:
  • Size: 260.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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.6a1.tar.gz
Algorithm Hash digest
SHA256 8d5897f063700f529fec883f7d33449a02f7e18b6421635f2f14fa09aaa69e81
MD5 8aeb0b66171db1a698a0726e8aa30fa8
BLAKE2b-256 7806545e9e3dfee97838da91ec3a361596bfd02a5a067c771bd13f12d48ab34a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpt2giga-0.2.6a1-py3-none-any.whl
  • Upload date:
  • Size: 296.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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.6a1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbff94acd5837182942599cee4c7c0686d571574a02733e5680bd143d3d1bcd9
MD5 f95b971d4c3cf803e6c8991c1b63502f
BLAKE2b-256 54fb529983226a416d04a2b3eac0f7b0ee4724deaf90066c0b813a307975032f

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