feat:初版
This commit is contained in:
11
apps/api/app/schemas/__init__.py
Normal file
11
apps/api/app/schemas/__init__.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from .translate import TranslateRequest, TranslationStyle
|
||||
from .response import TranslateResponse, TranslateChunk, TranslateMeta, TranslateDone
|
||||
|
||||
__all__ = [
|
||||
"TranslateRequest",
|
||||
"TranslationStyle",
|
||||
"TranslateResponse",
|
||||
"TranslateChunk",
|
||||
"TranslateMeta",
|
||||
"TranslateDone",
|
||||
]
|
||||
22
apps/api/app/schemas/response.py
Normal file
22
apps/api/app/schemas/response.py
Normal file
@@ -0,0 +1,22 @@
|
||||
class TranslateResponse(BaseModel):
|
||||
source_lang: str
|
||||
target_lang: str
|
||||
translation: str
|
||||
model: str
|
||||
cached: bool = False
|
||||
usage: dict | None = None
|
||||
|
||||
|
||||
class TranslateChunk(BaseModel):
|
||||
delta: str
|
||||
|
||||
|
||||
class TranslateMeta(BaseModel):
|
||||
source_lang: str
|
||||
target_lang: str
|
||||
cached: bool = False
|
||||
|
||||
|
||||
class TranslateDone(BaseModel):
|
||||
translation: str
|
||||
usage: dict | None = None
|
||||
17
apps/api/app/schemas/translate.py
Normal file
17
apps/api/app/schemas/translate.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class TranslationStyle(str, Enum):
|
||||
literal = "literal"
|
||||
fluent = "fluent"
|
||||
casual = "casual"
|
||||
|
||||
|
||||
class TranslateRequest(BaseModel):
|
||||
source_text: str = Field(..., min_length=1, max_length=10000)
|
||||
source_lang: str = Field(default="auto", max_length=10)
|
||||
target_lang: str = Field(..., max_length=10)
|
||||
style: TranslationStyle = TranslationStyle.literal
|
||||
glossary_id: str | None = None
|
||||
format: str = "text"
|
||||
Reference in New Issue
Block a user