johnbridges commited on
Commit
d6ff847
·
1 Parent(s): ec97b47
Files changed (3) hide show
  1. backends_base.py +12 -0
  2. oa_server.py +1 -0
  3. vllm_backend.py +1 -1
backends_base.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # backends_base.py
2
+ from typing import Any, AsyncIterable, Dict
3
+
4
+ class ChatBackend:
5
+ """Abstract interface for chat backends (OpenAI-compatible)."""
6
+ async def stream(self, request: Dict[str, Any]) -> AsyncIterable[Dict[str, Any]]:
7
+ raise NotImplementedError
8
+
9
+ class ImagesBackend:
10
+ """Abstract interface for image backends (OpenAI-compatible)."""
11
+ async def generate_b64(self, request: Dict[str, Any]) -> str:
12
+ raise NotImplementedError
oa_server.py CHANGED
@@ -2,6 +2,7 @@
2
  from __future__ import annotations
3
  import json, time, uuid, logging
4
  from typing import Any, Dict, List, AsyncIterable, Optional
 
5
 
6
  from rabbit_repo import RabbitRepo
7
 
 
2
  from __future__ import annotations
3
  import json, time, uuid, logging
4
  from typing import Any, Dict, List, AsyncIterable, Optional
5
+ from backends_base import ChatBackend, ImagesBackend
6
 
7
  from rabbit_repo import RabbitRepo
8
 
vllm_backend.py CHANGED
@@ -3,7 +3,7 @@ import time, logging
3
  from typing import Any, Dict, AsyncIterable
4
 
5
  from vllm.sampling_params import SamplingParams
6
- from oa_server import ChatBackend, ImagesBackend
7
  from state import vllm_engine # ✅ the single source of truth
8
 
9
  logger = logging.getLogger(__name__)
 
3
  from typing import Any, Dict, AsyncIterable
4
 
5
  from vllm.sampling_params import SamplingParams
6
+ from backends_base import ChatBackend, ImagesBackend
7
  from state import vllm_engine # ✅ the single source of truth
8
 
9
  logger = logging.getLogger(__name__)