diff --git a/ai-python/app/models/transcript.py b/ai-python/app/models/transcript.py index 7863d6c..6ce27f8 100644 --- a/ai-python/app/models/transcript.py +++ b/ai-python/app/models/transcript.py @@ -20,8 +20,9 @@ class ConsolidateRequest(BaseModel): class ExtractedTodo(BaseModel): - """추출된 Todo (제목만)""" + """추출된 Todo""" title: str = Field(..., description="Todo 제목") + assignee: str = Field(default="", description="담당자 이름 (있는 경우에만)") class AgendaSummary(BaseModel): diff --git a/ai-python/app/prompts/consolidate_prompt.py b/ai-python/app/prompts/consolidate_prompt.py index bca7c30..c0e9529 100644 --- a/ai-python/app/prompts/consolidate_prompt.py +++ b/ai-python/app/prompts/consolidate_prompt.py @@ -120,7 +120,10 @@ def get_consolidate_prompt(participant_minutes: list, agendas: list = None) -> s - summary_short: AI가 자동 생성한 1줄 요약 (사용자 수정 불가) - summary: 논의사항과 결정사항 모두 포함 (사용자 수정 가능) - decisions: summary의 결정사항 부분을 배열로 별도 추출 (대시보드 표시용) -7. **Todo 추출**: 제목만 추출 (담당자나 마감일 없어도 됨) +7. **Todo 추출**: + - 제목 필수, 담당자는 언급된 경우에만 추출 + - 자연스러운 표현에서 추출: "김대리가 ~하기로 함" → title: "~", assignee: "김대리" + - 담당자가 없으면 assignee: "" (빈 문자열) 8. **JSON만 출력**: 추가 설명 없이 JSON만 반환 이제 위 회의록들을 분석하여 통합 요약을 JSON 형식으로 생성해주세요. diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java index 1486b39..47b968e 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/biz/service/EndMeetingService.java @@ -264,7 +264,7 @@ public class EndMeetingService implements EndMeetingUseCase { .meetingId(meeting.getMeetingId()) .minutesId(meeting.getMeetingId()) // 실제로는 minutesId 필요 .title(todo.getTitle()) - .assigneeId("") // AI가 담당자를 추출하지 않으므로 빈 값 + .assigneeId(todo.getAssignee() != null ? todo.getAssignee() : "") // AI가 추출한 담당자 .status("PENDING") .build()); }) diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/ai/ExtractedTodoDTO.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/ai/ExtractedTodoDTO.java index a293ff7..832b652 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/ai/ExtractedTodoDTO.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/ai/ExtractedTodoDTO.java @@ -6,7 +6,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; /** - * AI 추출 Todo DTO (제목만) + * AI 추출 Todo DTO */ @Getter @Builder @@ -18,4 +18,9 @@ public class ExtractedTodoDTO { * Todo 제목 */ private String title; + + /** + * 담당자 이름 (있는 경우에만) + */ + private String assignee; }