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.4a1.tar.gz (236.4 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.4a1-py3-none-any.whl (269.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gpt2giga-0.2.4a1.tar.gz
  • Upload date:
  • Size: 236.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.4a1.tar.gz
Algorithm Hash digest
SHA256 1861b92b5c710122566ce6b484e9b3cc0f6aa5e0641a02dc2d8ff9cf4de9dc4e
MD5 49231900e5318e7a3ceb43de0597bf26
BLAKE2b-256 2e7d8c618a66d1abf73630e80c7ed4d268c67ba641b7d017ad5dab059e42fda2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpt2giga-0.2.4a1-py3-none-any.whl
  • Upload date:
  • Size: 269.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.4a1-py3-none-any.whl
Algorithm Hash digest
SHA256 48327ea29e1357488eee5e91b55d52f6c71a6a43776df1ad305ec025afaaf480
MD5 0db8283b03129132362898e5d441a317
BLAKE2b-256 766f9c4aad425dfe211ad9fe4829c94f4968379da5963a74c1f930992d35767c

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