feat:初版

This commit is contained in:
2025-12-25 18:41:09 +08:00
commit 1429e0e66a
52 changed files with 2688 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
from .translate import TranslateRequest, TranslationStyle
from .response import TranslateResponse, TranslateChunk, TranslateMeta, TranslateDone
__all__ = [
"TranslateRequest",
"TranslationStyle",
"TranslateResponse",
"TranslateChunk",
"TranslateMeta",
"TranslateDone",
]

View 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

View 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"