uzzam2121
Add /api/alter OpenAI increase decrease
29ad923
Raw
History Blame Contribute Delete
2.17 kB
from __future__ import annotations
from pydantic import BaseModel, Field
class PredictRequest(BaseModel):
sentence: str = Field(..., min_length=1)
target_word: str = Field(..., min_length=1)
class PredictResponse(BaseModel):
complexity_level: str
level_id: int
level_probs: dict[str, float]
difficult_class_prob: float
reason: str | None
reason_id: int | None
reason_probs: dict[str, float] | None
latency_ms: float
target_in_sentence: bool
class InterveneRequest(BaseModel):
sentence: str
target_word: str
reason: str
use_llm: bool = False
class InterventionDetail(BaseModel):
reason: str
original_sentence: str
edited_sentence: str
edit_method: str
before_level: str
after_level: str
hardness_drop: float
matches_predicted: bool | None = None
class InterveneResponse(BaseModel):
intervention: InterventionDetail
class InterveneAllRequest(BaseModel):
sentence: str
target_word: str
predicted_reason: str | None = None
use_llm: bool = False
class InterveneAllResponse(BaseModel):
base_level: str
results: list[InterventionDetail]
best_reason: str
faithful: bool | None
class EfficiencyRequest(BaseModel):
sentence: str
target_word: str
local_latency_ms: float = Field(..., ge=0)
class EfficiencyResponse(BaseModel):
local_latency_ms: float
ai_latency_ms: float
ai_provider: str
ai_cost_usd: float
ai_cost_per_1k_usd: float
local_cost_usd: float
speedup_factor: float
class HealthResponse(BaseModel):
status: str
model_path: str
model_ready: bool
model_error: str | None = None
class AlterComplexityRequest(BaseModel):
sentence: str = Field(..., min_length=1)
target_word: str = Field(..., min_length=1)
reason: str = Field(..., min_length=1)
direction: str = Field(..., pattern="^(increase|decrease)$")
class AlterComplexityResponse(BaseModel):
reason: str
direction: str
original_sentence: str
original_target_word: str
new_sentence: str
new_target_word: str
edit_method: str
explanation: str
updates: str