Community

Spring 공식 문서 챗 봇 구현기

자바 개발자가 주로  사용하는 Spring 프레임워크에서 궁금한 내용이 있으면 영문 공식 문서를 대부분 찾게 되는데. 이를 좀더 편리하게 사용하고자 최신 spring 공식 문서 내용 기반으로 한글로 질의가 가능한 챗봇 모델을 개발후 조직내 자바 개발자들에게 공유 . 내가 귀찮으면 남도 귀찮음. 이를 개선해보고자 작업 진행 한글로 대충 질의해도 한글로 답변후 바로 찾아주니 사용하기 편리해서 개발자들의 만족도가 높음   특징  - spring 공식 git에 올라간 가이드 문서(adoc) 을 바탕으로 한글로 대화 가능합니다. - 한국인은 한글사랑(?) - spring 최신버전으로 학습 - 정보의 신뢰성을  높이고 환각현상을 최소화 하기 위해 RAG  적용 및 출처 기능도 제공합니다.   주의사항 - 공식가이드에 있는 내용만 검색 및 질의 응답 가능     학습 대상 https://github.com/spring-projects/spring-boot.git https://github.com/spring-projects/spring-framework.git  https://github.com/spring-projects/spring-data-elasticsearch https://github.com/spring-projects/spring-graphql https://github.com/spring-projects/spring-data-jpa https://github.com/spring-projects/spring-hateoas https://github.com/spring-projects/spring-security https://github.com/spring-projects/spring-kafka https://github.com/spring-projects/spring-data-redis https://github.com/spring-projects/spring-data-mongodb https://github.com/spring-projects/spring-batch 참고 https://teddylee777.github.io/langchain/rag-tutorial/   RAG 기반으로 QA 시스템 설계하는 방법입니다.   UI는 streamlit을 통해 chatbot 컴포넌트를 사용했습니다. https://docs.streamlit.io/develop/api-reference/chat   github에 올라간 문서는 asciidoc 문서라 바로 학습이 안되어서 별도로 asciidoc -> xml -> md 형태로 변환하여 처리하였습니다.   LLM에 markdown문서를 사용해야 하는 이유는  불필요한 요소를 제거후 토큰 수를 줄여서 학습할수 있고 구조화된 컨텐츠를 통해 언어 모델에 중요도를 제공하는데 용이해서 되도록 md를 권장합니다. TODO : 추후 주기적으로 문서 업데이트 마다 벡터DB에 넣어주는 작업

알림

알림이 없습니다