garvitcpp commited on
Commit
fe13fc4
·
verified ·
1 Parent(s): e4dc16a

Update app/api/routes.py

Browse files
Files changed (1) hide show
  1. app/api/routes.py +48 -39
app/api/routes.py CHANGED
@@ -1,39 +1,48 @@
1
- from fastapi import APIRouter, HTTPException
2
- from app.models.request_models import StoryRequest, StoryResponse
3
- from app.services.story_generator import StoryGenerator
4
- from app.services.story_refinement import clean_text, refine_story
5
- import logging
6
-
7
- # Create the router instance
8
- router = APIRouter()
9
- logger = logging.getLogger(__name__)
10
-
11
- @router.post("/generate_story", response_model=StoryResponse)
12
- async def generate_story(request: StoryRequest):
13
- try:
14
- # Initialize generator and generate initial story
15
- generator = StoryGenerator()
16
- initial_story = generator.generate_story(
17
- request.prompt,
18
- request.max_length,
19
- request.temperature
20
- )
21
-
22
- # Clean the initial story
23
- cleaned_story = clean_text(initial_story)
24
-
25
- try:
26
- # Try to get the refined story
27
- final_story = await refine_story(cleaned_story)
28
- except Exception as e:
29
- logger.error(f"Refinement failed: {str(e)}")
30
- final_story = cleaned_story # Use cleaned story if refinement fails
31
-
32
- return StoryResponse(story=final_story)
33
-
34
- except Exception as e:
35
- logger.error(f"Story generation failed: {str(e)}")
36
- raise HTTPException(
37
- status_code=500,
38
- detail=f"Story generation failed: {str(e)}"
39
- )
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, HTTPException
2
+ from app.models.request_models import StoryRequest, StoryResponse
3
+ from app.services.story_generator import StoryGenerator
4
+ from app.services.story_refinement import clean_text, refine_story
5
+ import logging
6
+
7
+ # Create the router instance
8
+ router = APIRouter()
9
+ logger = logging.getLogger(__name__)
10
+
11
+ @router.post("/generate_story", response_model=StoryResponse)
12
+ async def generate_story(request: StoryRequest):
13
+ try:
14
+ # Initialize generator and generate initial story
15
+ generator = StoryGenerator()
16
+ initial_story = generator.generate_story(
17
+ request.prompt,
18
+ request.max_length,
19
+ request.temperature
20
+ )
21
+
22
+ # Clean the initial story
23
+ cleaned_story = clean_text(initial_story)
24
+
25
+ try:
26
+ # Try to get the refined story
27
+ final_story = await refine_story(cleaned_story)
28
+ except Exception as e:
29
+ logger.error(f"Refinement failed: {str(e)}")
30
+ final_story = cleaned_story # Use cleaned story if refinement fails
31
+
32
+ return StoryResponse(story=final_story)
33
+
34
+ except Exception as e:
35
+ logger.error(f"Story generation failed: {str(e)}")
36
+ raise HTTPException(
37
+ status_code=500,
38
+ detail=f"Story generation failed: {str(e)}"
39
+ )
40
+
41
+ @router.get("/health")
42
+ async def health_check():
43
+ """
44
+ Simple health check endpoint to keep the space awake.
45
+ Returns a 200 OK status with a basic message.
46
+ """
47
+ return {"status": "alive", "message": "Story Generation Service is Running"}
48
+