iop/README.md

61 lines
1.6 KiB
Markdown

# IOP — Inference Operations Platform
IOP는 단일 서비스가 아닌 플랫폼이다. 여러 앱이 협력하여 AI 모델 추론 워크로드를 처리한다.
## 앱 구성
| 앱 | 설명 | 상태 |
|---|---|---|
| `apps/node` | 노드 에이전트. 디바이스당 1개 실행. 실제 추론 어댑터 관리 | **1차 구현 대상** |
| `apps/edge` | 외부 OpenAI-compatible API 게이트웨이 | Placeholder |
| `apps/control-plane` | 노드 등록/정책/스케줄링 제어 | Placeholder |
| `apps/worker` | 비동기 작업 처리기 | Placeholder |
## 내부 통신
- **프로토콜**: TCP + Protobuf + mTLS
- **프레이밍**: 4-byte big-endian length prefix | JSON(Envelope)
- gRPC **사용 금지**
- WebSocket transport 기본화 **금지**
## 외부 API
외부 OpenAI-compatible API는 향후 `apps/edge`에서 담당한다.
## 빌드
```bash
# 의존성 설치
go mod tidy
# node 빌드
go build -o bin/node ./apps/node/cmd/node
# 실행
./bin/node version
./bin/node config print
./bin/node serve
```
## 모노레포 구조
```
iop/
apps/
node/ # Node Agent — 1차 구현
edge/ # Edge API — placeholder
control-plane/
worker/
packages/
config/ # 설정 로딩
protocol/ # 와이어 포맷 타입
policy/ # 정책 엔진 인터페이스
auth/ # mTLS 인증
metadata/ # 메타데이터 타입
jobs/ # 작업 큐 타입
observability/ # 로깅/메트릭
version/ # 버전 상수
proto/iop/ # Protobuf 스펙 정의
configs/ # 앱별 설정 파일
docs/ # 문서
```