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.3a2.tar.gz (231.5 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.3a2-py3-none-any.whl (264.2 kB view details)

Uploaded Python 3

File details

Details for the file gpt2giga-0.2.3a2.tar.gz.

File metadata

  • Download URL: gpt2giga-0.2.3a2.tar.gz
  • Upload date:
  • Size: 231.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.3a2.tar.gz
Algorithm Hash digest
SHA256 2b39e9be5828bbcaec6052845646e23e39f4af9f886b64e244fc88b91b87f443
MD5 77f30e569bd38d23671152df0dbb7d7a
BLAKE2b-256 0f2bf7d1478acdef636ae75a7edc25f3a65195d117ea11d643cfc0bf54433e31

See more details on using hashes here.

File details

Details for the file gpt2giga-0.2.3a2-py3-none-any.whl.

File metadata

  • Download URL: gpt2giga-0.2.3a2-py3-none-any.whl
  • Upload date:
  • Size: 264.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","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.3a2-py3-none-any.whl
Algorithm Hash digest
SHA256 55a2dc0943d515cff16cbcce165c3774ff17279f2436b75824b9492b4f97e94f
MD5 220ae683d33cd4f17754e84a8c5c6ddf
BLAKE2b-256 2ca221a0e96d76ed876ac0af1a46336ce5189113ddd27dd2ab70c7078d80127f

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