본문 바로가기
AI 및 Data Analysis

[LLM] VTS 기법 과정 설정

by doraemin_dev 2025. 2. 19.

1. VTS 채팅 과정 설정

1-1. 사용자가 작품 설명을 요구함 (Ex. 나는 작품에 대한 정보를 알고 싶어. 이 작품이 만들어졌을 당시 상황은 어때?)

👉 RAG : 작품 정보 설명하기.

👉 RAG : VTS의 질문을 전달.

 

1-2. 사용자가 자신의 생각을 말함 (Ex. 나는 이 작품의 분위기가 마음에 들어. 왜냐하면 ~ )

👉 RAG : VTS의 반응와 관련된 말을 전달.

👉 LLM : AI가 작품에 대해 생각하는 말을 전다. + LLM기반 작품 정보

👉 RAG : VTS의 질문을 전달.

 

 

+) 사용자의 마지막 질문 '하나만' 넣어주었을 때

def retrieve_vts_question(user_responses):
    # 사용자의 마지막 질문 (AI가 질문 생성을 위해 넣어줘야할 값)
    previous_responses = user_responses[-1]

 

 

🚀 개선할 점 & 추가 아이디어

  1. 질문 선정의 유연성 개선
    • 현재 "느낌", "설명", "배경" 같은 키워드로 질문 유형을 판단하는데, 이를 좀 더 자연어 처리(NLP) 방식으로 개선하면 좋을 것 같아.
    • 예를 들어, 감정 분석을 통해 "이 작품이 슬퍼 보여요" 같은 응답이 오면 신뢰 관련 질문을, "이 색감이 독특하네요" 같은 응답이 오면 관계 관련 질문을 제시하도록.
    • 키워드 기반보다는 NLTK 또는 Hugging Face 기반 간단한 감정 분류 모델을 도입하는 것도 고려해볼 수 있어.
  2. RAG 검색 결과 정리
    • load_art_questrion(query)에서 RAG 검색 결과를 단순 텍스트로 가져오는 것이 아니라,
      • 여러 개의 정보를 가져와 요약하거나
      • 핵심 키워드만 추출하는 과정이 있으면 더 좋을 것 같아.
  3. AI 감상 (LLM) 흐름 자연스럽게 만들기
    • generate_rich_description()에서 AI가 작품을 설명하는 부분이 너무 정보 전달 위주로 흐를 가능성이 있어.
    • AI가 사용자와 같은 감상자로서 대화를 하는 느낌으로 "나도 이 작품의 색감이 인상적이야. 특히 따뜻한 색이 많아서 편안함을 주는 것 같아." 같은 식으로 감상을 자연스럽게 표현하면 어떨까?
  4. 질문 다양화
    • 현재 질문을 random.choice()로 선택하는 방식인데,
    • 사용자의 감상 패턴을 기억하고, 같은 질문이 반복되지 않도록 하는 기능을 추가하면 좋을 것 같아.
  5. 대화 로그 저장 (선택 사항)
    • user_responses를 단순 리스트로 저장하는 대신,
    • 사용자별 감상 패턴을 분석할 수 있도록 JSON 파일이나 DB에 저장하는 기능을 넣으면 더 깊은 사용자 맞춤형 대화를 만들 수 있을 것 같아.

추가하면 좋은 기능

  • 감상 대화가 끝난 후, 사용자가 감상했던 키워드나 느낌을 요약해 주는 기능
  • 감상 기록을 저장해서, 나중에 같은 작품을 다시 감상할 때 이전 감상을 참고하도록 하는 기능
  • 사용자 감상 스타일(예: 감성적 vs 분석적)에 따라 질문 스타일을 조정하는 기능