Files
ds2api/ds2api/models/schemas.py
cto-new[bot] 8d84f556fe refactor(ds2api): modularize app into a package structure and extract concerns into core/services/utils/models; drop heavy tokenizer usage, add scaffolding for PoW caching and async solving, and enable HTTP connection pooling
This change reorganizes the codebase for better maintainability and performance while preserving API surface.
- Create ds2api package with modules: core, services, utils, models
- Migrate config, logging, auth, DeepSeek, PoW, and message processing into dedicated modules
- Introduce PoW caching (60s TTL) and async/parallel support (scalability for multiple requests)
- Replace direct curl calls with a pool-enabled HTTP client setup and WASM-based PoW engine
- Add in-memory token/account management scaffolding and improved token estimation
- Optimize streaming paths and prepare for better backpressure and concurrency
- Remove transformers/tokenizer usage and keep a simple token length estimator

Non-breaking migration: keep API endpoints intact; new structure under ds2api is transparent to clients
2026-01-24 17:17:59 +00:00

21 lines
428 B
Python

from __future__ import annotations
from typing import Any, Literal
from pydantic import BaseModel, Field
class ChatMessage(BaseModel):
role: Literal["system", "user", "assistant", "tool"] | str
content: Any = ""
class ChatCompletionRequest(BaseModel):
model: str
messages: list[ChatMessage]
stream: bool = False
class ErrorResponse(BaseModel):
error: dict[str, Any] = Field(default_factory=dict)