File size: 724 Bytes
29ce3e6
 
fc2011e
 
 
29ce3e6
 
 
fc2011e
29ce3e6
 
 
 
 
 
fc2011e
29ce3e6
 
 
 
 
fc2011e
29ce3e6
 
 
a533d1f
29ce3e6
fc2011e
29ce3e6
 
 
 
fc2011e
29ce3e6
 
 
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
from typing import Optional

from pydantic import BaseModel, Field


class GenerateRequest(BaseModel):
    message: str


class RetrievedFunction(BaseModel):
    score: float
    function_name: str
    parameters: list[str]
    code: str


class GenerateResponse(BaseModel):
    generated_code: Optional[str] = None
    retrieved_functions: list[RetrievedFunction] = []
    cached: bool = False


class HealthResponse(BaseModel):
    status: str = "ok"
    retriever_loaded: bool = False
    provider_configured: bool = False


class RetrieveRequest(BaseModel):
    query: str
    k: int = Field(default=2, ge=1, le=10)


class RetrieveResponse(BaseModel):
    results: list[RetrievedFunction] = []
    cached: bool = False