인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이대성님의 프로필 이미지

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

채팅 히스토리 관련

해결된 질문

작성

·

64

0

안녕하세요

Azure OpenAI 기반 챗봇 개발 중에, 사용자와 챗봇의 채팅 히스토리를 기록하려 합니다.

ex) 챗봇의 문맥 파악, 채팅 로그 분석 등

 

이 때에 채팅 히스토리를 저장하는 합리적인 방법이 어떤게 있을까요?

(현재 테스트 단계에서는 인메모리를 사용하고있습니다.)

 

감사합니다, 새해 복 많이 받으세요.

답변 1

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요!

AzureOpenAI를 사용중이시면 데이터베이스도 Azure에 운영하실 계획이신가요? 히스토리 기록을 어떤 포맷으로 하시냐에 따라 다르겠지만 MySQL이나 PostgreSQL같은 RDB로 진행하시면 될 것 같습니다.

 

요구사항을 조금 더 자세하게 주시면 답변드릴 수 있을 것 같아요~

이대성님의 프로필 이미지
이대성
질문자

강사님, 답변 감사드립니다!

 

DB는 현재 PoC중이라, ChromaDB를 사용중이고 추후 Azure AI Search로 넘어갈 의향은 있습니다.

 

채팅 답변이 빠를수록 좋기에, 채팅 히스토리는 채팅이 끝난 후 DB에 일괄로 저장하고

문맥 파악을 위한 질의 내역들은 Redis를 활용하려는데 합리적일까요?

챗봇의 답변 속도가 가장 중요한 상황인데, 답변 속도를 올리기 위한 혹시 다른 방법이 있다면 첨언 부탁드립니다.

강병진님의 프로필 이미지
강병진
지식공유자

네네 속도가 중요하다면 redis를 활용해서 cache하시면 더 빠르긴 할텐데 운영 측면에서 관리 포인트가 늘어나는거라서 그부분은 고민해보시면 좋을것같아요. 정말 꼭 필요한건지, 그리고 redis를 활용해서 시간이 얼마나 단축되는지 등등을 확인해보셔야 할 것 같습니다.

 

답변 속도를 개선하려면 프롬프트를 간단하게 작성하려고 시도하셔야 합니다. 장황하게 거대한 프롬프트를 작성하는 것 보다 task를 작게 나누어서 작은 프롬프트를 여러번 활용하시는 걸 추천합니다.