RAG를 활용한 ChatBot 구현
배포 :
- Streamlit - Streamlit Cloud
- KakaoTalk - 개인 채널 챗봇
![]() |
![]() |
|---|
Pinecone : cosine Metric 사용
OpenAI gpt 사용
토큰의 비용으로 인해 TEST 할 때는 3.5 버전을 사용하였음.
나(이성규) 에 대한 정보를 담은 문서로 작성.
이력서를 docx 형식으로 변환하고, 이력서 내용에 개인적인 취향 등을 추가하여 데이터를 제작함.
OpenAI GPT 모델은 마크다운의 형식을 사용하므로 docx의 테이블을 이해하지 못하여, 마크다운 형식 테이블로 변환
RAG로 활용되는 문서에서 빈번하게 사용될만한 단어를 찾아 정리.
내 데이터의 경우 자주 등장하는 단어나 대체할만한 단어가 없어서 간략히 한 개만 넣어줌.
https://python.langchain.com/v0.2/docs/how_to/qa_chat_history_how_to/#prompt
히스토리 추가를 통해 과거 맥락을 파악할 수 있음.
페르소나를 통해 모델의 성능 향상 기대, 원하는 포멧으로 말하도록 유도.
위 이미지와 같이 문서에서 발견하지 못한 내용에도 자꾸 내 관찰결과에 따르면 아웃풋을 내놓음.
예시 프롬포트를 적용해서 모르는 것에 대해 내 관찰결과에 따르면을 붙이지 않고 올바르게 답하도록 조정.
- DB : 문서 및 임베딩 관련 코드 기재
- Project :
- chat_ui.py : Streamlit 관련 실행 코드
- chat_ui_kakao.py : 카카오 관련 실행 코드












