add banbanmini backend

This commit is contained in:
HycJack
2026-03-24 15:04:36 +08:00
parent 0d0f995dc2
commit 7510ca6df1
197 changed files with 13008 additions and 0 deletions

View File

View File

@@ -0,0 +1,27 @@
from abc import ABC, abstractmethod
class ASR(ABC):
@abstractmethod
async def connect(self):
pass
@abstractmethod
async def send_audio(self, audio_data: bytes):
pass
@abstractmethod
async def send_end(self):
pass
@abstractmethod
async def receive_results(self):
pass
@abstractmethod
async def close(self):
pass

View File

@@ -0,0 +1,19 @@
from abc import ABC, abstractmethod
from typing import List, Dict, AsyncGenerator
class LLM(ABC):
@abstractmethod
async def generate_response_stream(
self, transcript: str, history: List[Dict[str, str]], selected_role: dict
) -> AsyncGenerator[str, None]:
pass
async def close(self):
pass
async def connect(self):
pass

View File

@@ -0,0 +1,27 @@
from abc import ABC, abstractmethod
from typing import Optional, List, Any
class TTS(ABC):
@abstractmethod
async def tts(
self,
text: str,
output_file_prefix: Optional[str] = None,
tts_format: str = "mp3",
selected_role: dict = None,
session: Optional[Any] = None,
language: str = None,
) -> Optional[List[str]]:
pass
@abstractmethod
async def connect(self):
pass
@abstractmethod
async def close(self):
pass