| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # -*- coding: utf-8 -*-
- from typing import List, Dict, Union
- from pydantic import BaseModel
- from digitalHuman.server.reponse import BaseResponse
- from digitalHuman.protocol import *
- class EngineListResp(BaseResponse):
- data: List[EngineDesc] = []
- class EngineDefaultResp(BaseResponse):
- data: EngineDesc
- class EngineParam(BaseResponse):
- data: List[ParamDesc] = []
- class EngineInput(BaseModel):
- engine: str = 'default'
- config: Dict = {}
- data: Union[str, bytes] = ""
- class AgentEngineInput(EngineInput):
- conversation_id: str = ""
- class ASREngineInput(EngineInput, AudioMessage):
- pass
- class ASREngineOutput(BaseResponse):
- data: str
- class VoiceListResp(BaseResponse):
- data: List[VoiceDesc] = []
- class TTSEngineInput(EngineInput):
- pass
- class TTSEngineOutput(BaseResponse, AudioMessage):
- pass
- class LLMEngineInput(EngineInput):
- pass
- class ConversationInput(BaseModel):
- data: Dict = {}
- class ConversationIdResp(BaseResponse):
- data: str
- # ========================= 人脸检测模型 ===========================
- class FaceBBox(BaseModel):
- """人脸边界框"""
- x1: float
- y1: float
- x2: float
- y2: float
- class FaceInfo(BaseModel):
- """人脸信息"""
- bbox: FaceBBox
- confidence: float
- landmarks: List[List[float]] = [] # 5点或106点关键点
- class FaceDetectionOutput(BaseResponse):
- """人脸检测输出"""
- data: Dict # {"hasFace": bool, "faceCount": int, "faces": List[FaceInfo]}
|