This release is a pre-release and may not be stable for production use.
gpt2giga
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.
Документация
- Quickstart
- API compatibility
- Configuration reference
- Integrations
- Deployment
- Operations
- Examples
- Gateway changelog (RU)
- Gateway changelog (EN)
- GigaLoom migration notice
Разработка из исходников
Из корня репозитория:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d5897f063700f529fec883f7d33449a02f7e18b6421635f2f14fa09aaa69e81
|
|
| MD5 |
8aeb0b66171db1a698a0726e8aa30fa8
|
|
| BLAKE2b-256 |
7806545e9e3dfee97838da91ec3a361596bfd02a5a067c771bd13f12d48ab34a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbff94acd5837182942599cee4c7c0686d571574a02733e5680bd143d3d1bcd9
|
|
| MD5 |
f95b971d4c3cf803e6c8991c1b63502f
|
|
| BLAKE2b-256 |
54fb529983226a416d04a2b3eac0f7b0ee4724deaf90066c0b813a307975032f
|