S01Nour
commited on
Commit
·
2f878ea
1
Parent(s):
625daea
feat: Add text generation endpoint with corresponding request and response models.
Browse files- models/__init__.py +9 -0
- 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 |
"""
|