Files
gpu-services/CLAUDE.md
Hyungi Ahn 3794afff95 feat: AI Gateway Phase 1 - FastAPI 코어 구현
GPU 서버 중앙 AI 라우팅 서비스 초기 구현:
- OpenAI 호환 API (/v1/chat/completions, /v1/models, /v1/embeddings)
- 모델 레지스트리 + 백엔드 헬스체크 (30초 루프)
- Ollama SSE 프록시 (NDJSON → OpenAI SSE 변환)
- JWT 인증 이중 경로 (httpOnly 쿠키 + Bearer 토큰)
- owner/guest 역할 분리, 로그인 rate limiting
- 백엔드별 rate limiting (NanoClaude 대비)
- SQLite 스키마 사전 정의 (aiosqlite + WAL)
- Docker Compose + Caddy 리버스 프록시

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:41:46 +09:00

43 lines
984 B
Markdown

# AI Gateway
GPU 서버(RTX 4070 Ti Super)에서 운영하는 중앙 AI 라우팅 서비스.
모든 AI 요청을 하나의 OpenAI 호환 API로 통합.
## 서비스 구조
| 서비스 | 디렉토리 | 스택 | 포트 |
|--------|----------|------|------|
| Caddy | caddy/ | Caddy 2 | 80/443 |
| hub-api | hub-api/ | FastAPI + aiosqlite | 8000 |
| hub-web | hub-web/ | Vite + React + shadcn/ui | 3000 (Phase 2) |
## 외부 연결
- GPU Ollama: host.docker.internal:11434
- 맥미니 Ollama: 100.115.153.119:11434
- NanoClaude: 100.115.153.119:PORT (Phase 1.5)
## 개발
```bash
cd hub-api
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
```
## 배포
```bash
docker compose up -d --build
```
## API
OpenAI 호환: `/v1/chat/completions`, `/v1/models`, `/v1/embeddings`
인증: `/auth/login` → Cookie 또는 Bearer 토큰
모니터링: `/health`, `/gpu`
## 백엔드 설정
`backends.json`에서 백엔드 추가/제거. 서비스 재시작 필요.