feat: add embedding types, port and openai-compat transport
This commit is contained in:
@@ -186,3 +186,30 @@ class GlobalLimits:
|
||||
def __post_init__(self) -> None:
|
||||
if self.max_concurrency < 0 or self.rpm < 0 or self.tpm < 0:
|
||||
raise ValueError("全局限额不能为负(0 表示不启用)")
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class EmbeddingTransportResult:
|
||||
"""一次原始 embedding 调用的解析结果(M2 设计 §7.2;transport → client)。"""
|
||||
|
||||
vectors: list[list[float]]
|
||||
dim: int
|
||||
prompt_tokens: int
|
||||
usage_source: str # measured | estimated
|
||||
raw: dict[str, Any]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class EmbeddingResponse:
|
||||
"""一次治理 embedding 调用的统一响应(多批合并;与输入等长保序)。"""
|
||||
|
||||
vectors: list[list[float]]
|
||||
dim: int
|
||||
model: str
|
||||
provider: str
|
||||
prompt_tokens: int
|
||||
usage_source: str
|
||||
latency_ms: int
|
||||
call_id: str
|
||||
source_name: str
|
||||
cost: float | None = None
|
||||
|
||||
Reference in New Issue
Block a user