File size: 1,089 Bytes
d8e039b
 
 
 
 
 
 
6a50e97
 
 
 
d8e039b
 
6a50e97
d8e039b
 
 
 
9cb9fcf
 
 
d8e039b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6a50e97
d8e039b
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
"""
Pydantic models for API requests and responses
"""
from pydantic import BaseModel
from typing import Optional, List


class ChatMessage(BaseModel):
    role: str  # 'user', 'assistant', 'system'
    content: str

class PromptRequest(BaseModel):
    prompt: str
    messages: Optional[List[ChatMessage]] = []  # Full conversation history
    system_prompt: Optional[str] = None
    model_name: Optional[str] = None
    temperature: Optional[float] = 0.7
    max_new_tokens: Optional[int] = 1024
    # RAG configuration
    use_rag: Optional[bool] = False
    retrieval_count: Optional[int] = 3


class PromptResponse(BaseModel):
    thinking_content: str
    content: str
    model_used: str
    supports_thinking: bool


class ModelInfo(BaseModel):
    model_name: str
    name: str
    supports_thinking: bool
    description: str
    size_gb: str
    is_loaded: bool
    type: str


class ModelsResponse(BaseModel):
    models: List[ModelInfo]
    current_model: str


class ModelLoadRequest(BaseModel):
    model_name: str


class ModelUnloadRequest(BaseModel):
    model_name: str