Skip to content

PocachipMind/ChatBot_using_RAG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

ChatBot_using_RAG

RAG를 활용한 ChatBot 구현

배포 :

  1. Streamlit - Streamlit Cloud
  2. KakaoTalk - 개인 채널 챗봇

시연 영상

VID_20250224_201925-ezgif com-video-to-gif-converter VID_20250224_200751-ezgif com-video-to-gif-converter

세부 구현 사항

1. 벡터 데이터 베이스 및 LLM

벡터 데이터 베이스

Pinecone : cosine Metric 사용

image

LLM

OpenAI gpt 사용

image

토큰의 비용으로 인해 TEST 할 때는 3.5 버전을 사용하였음.

image

2. 참고 문서

나(이성규) 에 대한 정보를 담은 문서로 작성.

이력서를 docx 형식으로 변환하고, 이력서 내용에 개인적인 취향 등을 추가하여 데이터를 제작함.

image

image

OpenAI GPT 모델은 마크다운의 형식을 사용하므로 docx의 테이블을 이해하지 못하여, 마크다운 형식 테이블로 변환

프롬포트

유사도 검색을 할 때 사용할 문장 다듬기

RAG로 활용되는 문서에서 빈번하게 사용될만한 단어를 찾아 정리.

내 데이터의 경우 자주 등장하는 단어나 대체할만한 단어가 없어서 간략히 한 개만 넣어줌.

image


히스토리 추가

https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/#prompt

image

히스토리 추가를 통해 과거 맥락을 파악할 수 있음.

image


역할 부여

페르소나를 통해 모델의 성능 향상 기대, 원하는 포멧으로 말하도록 유도.

image


FewShot 적용

image

위 이미지와 같이 문서에서 발견하지 못한 내용에도 자꾸 내 관찰결과에 따르면 아웃풋을 내놓음.

image

예시 프롬포트를 적용해서 모르는 것에 대해 내 관찰결과에 따르면을 붙이지 않고 올바르게 답하도록 조정.

깃 설명

  • DB : 문서 및 임베딩 관련 코드 기재
  • Project :
    • chat_ui.py : Streamlit 관련 실행 코드
    • chat_ui_kakao.py : 카카오 관련 실행 코드

About

RAG를 활용한 ChatBot 구현

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages