alexander1010 commited on
Commit
b6d5cb2
verified
1 Parent(s): ad31a63

Update generate_feedback_service.py

Browse files
src/expon/feedback/application/internal/generate_feedback_service.py CHANGED
@@ -1,5 +1,7 @@
1
  from datetime import datetime
2
  from uuid import uuid4
 
 
3
  from src.expon.feedback.domain.model.feedback import Feedback
4
  from src.expon.feedback.infrastructure.services.text_generation_service import TextGenerationService
5
  from src.expon.presentation.infrastructure.persistence.jpa.repositories.presentation_repository import PresentationRepository
@@ -12,7 +14,7 @@ class GenerateFeedbackService:
12
  self.presentation_repo = presentation_repo
13
  self.text_gen_service = TextGenerationService()
14
 
15
- def generate_feedback(self, presentation_id: str) -> Feedback:
16
  # 1. Buscar presentaci贸n
17
  presentation: PresentationORM = self.presentation_repo.get_by_id(presentation_id)
18
 
@@ -23,7 +25,7 @@ class GenerateFeedbackService:
23
  emotion = presentation.dominant_emotion
24
  transcription = presentation.transcript or ""
25
  confidence = presentation.confidence or 0.0
26
- anxiety = 0.3
27
 
28
  # 2. Generar contenido din谩mico con IA
29
  general, language, confidence_fb, anxiety_fb, suggestions = self.text_gen_service.generate_structured_feedback(
@@ -46,5 +48,17 @@ class GenerateFeedbackService:
46
  )
47
 
48
  self.feedback_repo.save(feedback)
49
- return feedback
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from datetime import datetime
2
  from uuid import uuid4
3
+ from typing import Any
4
+
5
  from src.expon.feedback.domain.model.feedback import Feedback
6
  from src.expon.feedback.infrastructure.services.text_generation_service import TextGenerationService
7
  from src.expon.presentation.infrastructure.persistence.jpa.repositories.presentation_repository import PresentationRepository
 
14
  self.presentation_repo = presentation_repo
15
  self.text_gen_service = TextGenerationService()
16
 
17
+ def generate_feedback(self, presentation_id: str) -> dict[str, Any]:
18
  # 1. Buscar presentaci贸n
19
  presentation: PresentationORM = self.presentation_repo.get_by_id(presentation_id)
20
 
 
25
  emotion = presentation.dominant_emotion
26
  transcription = presentation.transcript or ""
27
  confidence = presentation.confidence or 0.0
28
+ anxiety = 0.3 # Puedes cambiarlo si luego deseas calcularlo
29
 
30
  # 2. Generar contenido din谩mico con IA
31
  general, language, confidence_fb, anxiety_fb, suggestions = self.text_gen_service.generate_structured_feedback(
 
48
  )
49
 
50
  self.feedback_repo.save(feedback)
 
51
 
52
+ return {
53
+ "id": feedback.id,
54
+ "user_id": feedback.user_id,
55
+ "presentation_id": feedback.presentation_id,
56
+ "general_feedback": feedback.general_feedback,
57
+ "language_feedback": feedback.language_feedback,
58
+ "confidence_feedback": feedback.confidence_feedback,
59
+ "anxiety_feedback": feedback.anxiety_feedback,
60
+ "suggestions": feedback.suggestions,
61
+ "created_at": feedback.created_at,
62
+ "dominant_emotion": emotion,
63
+ "confidence": round(confidence, 2)
64
+ }