Develiper
Develiper
🌿 뉴비 파트너
📚 학습반장

[RAG 서비스 완성 및 배포 도전 5탄] 워런 버핏 투자 상담 챗봇 다시 구현해보기 (이번에는 어느 정도 성공!)

껍데기만 RAG의 탈(?)을 쓴 가라 챗봇을 만들었던 실패를 딛고

다시 제대로 RAG로 동작하는 챗봇을 구축해 보고자 다시 도전!

Gemini에게 상담을 받아보니....

RAG로 건 지식 내용이 사용자의 질문들과 시맨틱 검색을 해도

의미상 연결이 잘 안되는 것들이라서 그런 것 같다는 결론을 얻고

또한, 노드 구성 시, 앞단의 결과물을 되도록 입력 값으로 넣어야 하는데

sys.query를 넣은 경우들도 문제인 것 같다는 의견을 듣고 수정 필요성을 느낌


그래서 지식 파일부터 대대적으로 공사에 들어감.

워런 버핏의 투자 철학 보다는

실제 투자 포트폴리오 구축과 관리, 기업 내재 가치 분석, 투자 철학 및 격언 등으로 focus해서

자료 조사를 다시 하고, 그에 맞게 md file들을 세세하게 쪼개서 준비함

그래야 Dify 가 검색할 때 의미론적으로 잘 찾아서 넣어줄 수 있다라는 조언을 듣고

하나 또 배움

또한, 파일 이름도 그냥 막 짓는 게 아니라 의미론적으로 Dify가 검색 잘 할 수 있게

정성들여서 지었음

이 내용들로 indexing하고 이상 없는지 확인함.

잘게 쪼개서 넣었기 때문에 잘린 경우는 없었고,

문서 분량이 적어서 AI가 Lost in the middle 현상을 일으킬 염려도 거의 없는 듯함

전체 워크 플로우를 다시 짜고

다양한 유형의 정보가있는 마인드 맵

노드간에 연결시 변수 구성 및 프롬프트 설정을 다시 꼼꼼하게 물어가면서 세팅함

앞서 실패했을 때는 질문 분류기 뒤의 knowledge retrieve 노드에 쿼리 변수를

sys.query로 설정했었는데,

이번에는 질문 분류기에서 나온 class name 변수를 넣어줌

(이렇게 하는 거구나라는 것을 이제서야 깨닫고 배움)

한국의 마인드 맵의 스크린 샷

그리고 LLM의 설정과 프롬프트도 정신차리고 Gemini에게 물어보면서 다시 설정함

한국 앱의 스크린 샷

또한, 워런 버핏의 투자 관련한 내용이 아닌 질문은
바로 모릅니다로 답변하도록 하드코딩함

마인드 맵 한국 마인드지도 한국 마인드지도 한국 마인드 맵 한국 마인드지도 한국인


Test 해보니

우선, 투자 격언 문의하니,

한국의 테스트 채팅 스�크린 샷

괜찮게 나오고, 실제 어떤 문서를 참조해서 답변을 하고 있는지 나옴

이번에는 투자 포트폴리오 분석을 의뢰하니

한국어 문자 메시지의 스크린 샷

일단 괜찮게 작동함. 참고 문서도 표시해주고

이번에는 워런 버핏 투자와 관련 없는 질문을 던져서 어떻게 반응하나 살펴봄

한국 문자 메시지의 스크린 샷

다행히도 모른다라고 답변을 해줌. 이 녀석 기특한 걸?

마지막으로 코카콜라 기업 관련 내용을 간단하게 문서로 upload 해 주고

기업 가치 분석을 의뢰함

한국어 문자 메시지의 스크린 샷
한국 테스트 채팅의 스크린 샷

쭈욱 분석을 해 주고, 워런 버핏이 진짜로 조언을 해 주는 것처럼 답을 해줌


각 노드별로 체크하고 모니터링 해보니

제대로 구동하는 것을 알 수 있었음.

지난 실패 사례에서는 결과가 다 비어 있어서

나중에 마지막에 LLM 혼자 알아서 답변을 생성해 주었다는 것을

깨달았음.


실패 경험을 딛고, 고민하고 분석하고, AI에게 물어보면서

내가 무엇을 잘 못 했는지를 깨닫고 수정을 하면서 챗봇을 개선하였음

아직 100% 완전하지는 않겠지만

실패 사례로 배운 것도 꽤 많은 것 같음


makitdown 사용 사례를 올려보도록 노력해 보겠습니다.

1
2개의 답글

👉 이 게시글도 읽어보세요