feat(Update app structure):

This commit is contained in:
Alexander Myasoedov
2024-11-29 23:11:40 +02:00
parent 65edfe8930
commit 03dcf8c644
14 changed files with 358 additions and 285 deletions
+56
View File
@@ -0,0 +1,56 @@
import os
from pydantic import BaseModel, Field
class Settings:
MAX_BUDGET = 1000
MAX_DATASETS = 10
RATE_LIMIT = "100/minute"
DISABLE_TELEMETRY = os.getenv("DISABLE_TELEMETRY", False)
FEATURE_PROXY = False
class LLMInfo(BaseModel):
spec: str
class Scan(BaseModel):
llmSpec: str
maxBudget: int
datasets: list[dict] = []
optimize: bool = False
class ScanResult(BaseModel):
module: str
tokens: int
cost: float
progress: float
failureRate: float = 0.0
class Probe(BaseModel):
prompt: str
class Message(BaseModel):
role: str
content: str
class CompletionRequest(BaseModel):
"""Model for completion requests."""
model: str
messages: list[Message]
temperature: float = Field(default=0.7, ge=0.0, le=2.0)
top_p: float = Field(default=1.0, ge=0.0, le=1.0)
n: int = Field(default=1, ge=1, le=10)
stop: list[str] | None = None
max_tokens: int = Field(default=100, ge=1, le=4096)
presence_penalty: float = Field(default=0.0, ge=-2.0, le=2.0)
frequency_penalty: float = Field(default=0.0, ge=-2.0, le=2.0)
class Table(BaseModel):
table: list[dict]