인턴일기 - 36일차(DeepSeek RAG 챗봇에 대한 히스토리 반영 & 프롬프트 구조개선)

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 예제 코드를 그대로 사용했을 때 원하는 구조가 나오지 않아
코드를 직접 분석하고, 구조를 한 줄씩 뜯어보며 수정하는 과정이 쉽지 않았다.