Skip to content

ramazk/myLLMApi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myLLMApi

LLM API proxy — один эндпоинт для клиентов, который маршрутизирует запросы к разным LLM-провайдерам с разными API-ключами и прокси.

.env

ADMIN_PASSWORD=my_secure_admin_password
PORT=20129
HOST=127.0.0.1
SQLITE_URL=sqlite+aiosqlite:///./myllmapi.db
LOG_LEVEL=info
Переменная По умолчанию Описание
ADMIN_PASSWORD my_secure_admin_password Пароль для входа в админку
PORT 20129 Порт сервера
HOST 127.0.0.1 Хост
SQLITE_URL sqlite+aiosqlite:///./myllmapi.db Путь к SQLite-базе
LOG_LEVEL info Уровень логирования uvicorn: debug, info, warning, error, critical

Все переменные опциональны.

Запуск

poetry install
poetry run uvicorn app.main:app --host 127.0.0.1 --port 20129

Админ-панель

Открой http://127.0.0.1:20129/admin, войди с паролем из .env (admin_password).

Три сущности:

  1. Providers — LLM-провайдеры (OpenRouter, OpenAI, etc.) и их base URL.
  2. Accounts — аккаунты с API-ключами, привязанные к провайдерам. Опционально — прокси (proxy_url).
  3. Routes (Access Keys) — ключи доступа для клиентов. Каждый ключ привязан к связке Account + Provider.

Использование (клиенты)

Клиенты шлют OpenAI-совместимые запросы на /v1/..., используя Access Key как Bearer-токен:

curl http://127.0.0.1:20129/v1/chat/completions \
  -H "Authorization: Bearer <access_key>" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'

Прокси подменяет Authorization на реальный API-ключ провайдера, подставляет прокси (если задан) и пробрасывает запрос.

About

One endpoint for clients that routes requests to different LLM providers with different API keys and proxies.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors