S01Nour commited on
Commit
2f878ea
·
1 Parent(s): 625daea

feat: Add text generation endpoint with corresponding request and response models.

Browse files
Files changed (2) hide show
  1. models/__init__.py +9 -0
  2. routes/generate.py +1 -14
models/__init__.py CHANGED
@@ -22,6 +22,12 @@ from .health import (
22
  HealthResponse,
23
  )
24
 
 
 
 
 
 
 
25
  # Import MCP-related schemas
26
  from .mcp_models import (
27
  ToolCallRequest,
@@ -51,6 +57,9 @@ __all__ = [
51
  "KPAHealthResponse",
52
  # Health schemas
53
  "HealthResponse",
 
 
 
54
  # MCP schemas
55
  "ToolCallRequest",
56
  "ToolCallResponse",
 
22
  HealthResponse,
23
  )
24
 
25
+ # Import generate-related schemas
26
+ from .generate import (
27
+ GenerateRequest,
28
+ GenerateResponse,
29
+ )
30
+
31
  # Import MCP-related schemas
32
  from .mcp_models import (
33
  ToolCallRequest,
 
57
  "KPAHealthResponse",
58
  # Health schemas
59
  "HealthResponse",
60
+ # Generate schemas
61
+ "GenerateRequest",
62
+ "GenerateResponse",
63
  # MCP schemas
64
  "ToolCallRequest",
65
  "ToolCallResponse",
routes/generate.py CHANGED
@@ -1,29 +1,16 @@
1
  """Generation specific endpoints"""
2
 
3
  from fastapi import APIRouter, HTTPException
4
- import pydantic
5
  from datetime import datetime
6
  import logging
7
- from typing import Optional
8
 
9
  from services import generate_model_manager
 
10
 
11
  router = APIRouter()
12
  logger = logging.getLogger(__name__)
13
 
14
 
15
- class GenerateRequest(pydantic.BaseModel):
16
- input_text: str
17
- max_length: Optional[int] = 128
18
- num_beams: Optional[int] = 4
19
-
20
-
21
- class GenerateResponse(pydantic.BaseModel):
22
- input_text: str
23
- generated_text: str
24
- timestamp: str
25
-
26
-
27
  @router.post("/generate", response_model=GenerateResponse, tags=["Text Generation"])
28
  async def generate_text(request: GenerateRequest):
29
  """
 
1
  """Generation specific endpoints"""
2
 
3
  from fastapi import APIRouter, HTTPException
 
4
  from datetime import datetime
5
  import logging
 
6
 
7
  from services import generate_model_manager
8
+ from models.generate import GenerateRequest, GenerateResponse
9
 
10
  router = APIRouter()
11
  logger = logging.getLogger(__name__)
12
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  @router.post("/generate", response_model=GenerateResponse, tags=["Text Generation"])
15
  async def generate_text(request: GenerateRequest):
16
  """