2025. 6. 26. 12:52ㆍ데이터분석 인턴일기
오늘의 업무
DeepSeek 기반 RAG 챗봇에 대화 히스토리 반영기능 추가
프롬프트 작성 방식을 단순 텍스트 -> role, content 구조로 전환
반복 질문/답변 오류 개선 테스트 진행
오늘은 RAG 챗봇 기능을 한 단계 끌어올리기 위해, 이전 대화 내용을 반영하는 대화 지속 기능을 구현했다.
또한 DeepSeek API 구조에 맞춰 프롬프트 구성을 보다 명확하게 개선하여,
모델이 상황을 이해하고 자연스럽게 맥락있는 답변을 이어갈 수 있도록 했다.
🧩 1. 프롬프트 구조 개선 – role & content 방식 적용
기존에는 단순 텍스트 형태의 프롬프트를 전송했지만,
이는 대화 흐름 유지나 역할 구분이 어려워 질문/답변이 혼동되거나 반복 생성되는 문제가 있었다.
이를 해결하기 위해 role (user, assistant, system)과 content를 나누는 구조로 프롬프트를 재작성했다.
📌 변경 전 (단순 프롬프트)

📌 변경 후 ( role, user, content 분리)

🧠 2. 대화 히스토리 반영 기능 구현
각 사용자 발화를 user로, 챗봇 응답을 assistant로 저장하여
다음 질의 시 전체 대화 내역을 함께 전달하는 구조를 만들었다.
그 결과, 챗봇이 현재 대화의 연장선이라는 맥락을 유지한 채 응답을 생성할 수 있었다.

프롬프트 구조를 개선하니 질문에 대해 더 자연스럽고 정확한 응답이 생성되었지만,
한편으로는 여전히 모델이 스스로 질문하고 스스로 대답하는 이상 행동을 하는 경우도 있어 이를 조정하는 작업이 필요했다.
특히 API 예제 코드를 그대로 사용했을 때 원하는 구조가 나오지 않아
코드를 직접 분석하고, 구조를 한 줄씩 뜯어보며 수정하는 과정이 쉽지 않았다.
'데이터분석 인턴일기' 카테고리의 다른 글
| 다시 시작된 인턴 2주차 회고 : 요약 성능 실험실과 최적화 지옥 (2) | 2025.06.27 |
|---|---|
| 다시 시작된 인턴 1주차 회고 : 통합 크롤러 점검부터 LLM 요약까지 (0) | 2025.06.26 |
| 인턴일기 - 35일차(DeepSeek 기반 RAG챗봇 스트리밍 구현) (1) | 2025.06.24 |
| 인턴일기 - 34일차(DeepSeek Bedrock 토큰 계산 재정비 & 모델 성능비교보고서 작성) (0) | 2025.06.24 |
| 인턴일기 - 33일차(DeepSeek vs Claude RAG 성능비교 & 토큰 계산실험) (2) | 2025.06.24 |