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

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

brh1243님의 프로필 이미지

작성한 질문수

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

이전 대화 내용 기억하기

작성

·

47

0

안녕하세요.
강의를 듣고 추가적으로 공부를 하려고 하는데
예를 들어

Q. 테슬라의 창업자는 누구야

A. 테슬라의 창업자는 OOO입니다.

이러한 대화 바로 다음 OOO에 관련한 추가 질문을 하려고합니다.
예시) Q. 그렇다면 그 사람에 대해서 간단하게 설명해줘.

위 질문을 하려면 LLM이 이전대화내용을 기억해야하는데 그것에 대해서 공부하려합니다.
키워드를 뭐라고 잡아야할까요?

답변 1

0

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

안녕하세요. 판다스 스튜디오입니다.

아래 2개의 링크를 참고하시면 됩니다.
랭체인 구버전(0.2): https://inf.run/hSejf
랭체인 신버전(0.3): https://inf.run/1HCfK

버전 0.3 문서에는 랭그래프 메모리 기능을 중심으로 설명하고 있습니다.
구 버전의 RunnableWithMessageHistory를 우선 살펴보시고 구현하시면 좋을 것 같아요.

구현해보시고 궁금한 점이 있으면 말씀해주세요.
감사합니다!

brh1243님의 프로필 이미지
brh1243
질문자

감사합니다!!
랭그래프 메모리 기능에 대해서 확인했는데 RunnableWithMessageHistory 로 구현하는것은 지양해야하나요?

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

랭체인으로 구현하신다면 RunnableWithMessageHistory를 사용하시는 것도 좋다고 생각합니다. 랭체인 팀에서는 랭그래프를 조금 더 미는 느낌입니다.

brh1243님의 프로필 이미지
brh1243
질문자

감사합니다.
개발중에 궁금한 점이 생겨서 문의드립니다.
제가 파악한 핵심은 프롬프트에 이전대화기록을 넣는 것이라고 생각합니다.
그렇다면 RunnableWithMessageHistory , 랭그래프와 같은 메소드를 사용하지않고 이전대화기록을 DB에 저장하고 프롬프트에 넣는 작업을 수행하는 것이 더 좋은 방법이라고 생각하는데 실무에서는 어떻게 활용되는지 알 수 있을까요?

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

안녕하세요. 이 부분은 정답은 없는 것 같습니다. 일반적으로 실무에서는 프로젝트 요구사항, 팀의 전문성, 시간 제약 등에 따라 접근 방식을 선택합니다.

  • 초기 프로토타입/MVP: 빠른 개발을 위해 LangChain 같은 프레임워크 활용

  • 대규모 프로덕션 시스템: 맞춤형 요구사항이 많다면 직접 DB 구현 방식 선택

  • 하이브리드 접근: 기본 구조는 프레임워크를 사용하고, 필요한 부분만 커스텀 개발

참고하시기 바랍니다. 감사합니다.

brh1243님의 프로필 이미지

작성한 질문수

질문하기