Skip to content

v1.3.0

Compare
Choose a tag to compare
@ezcolin2 ezcolin2 released this 20 Feb 23:48
· 15 commits to develop since this release

⚙️ 새로운 기능을 개발했습니다.

LLM 응답 중단 기능 개발

  • 버튼 클릭 시 응답을 받는 reader를 cancel하여 즉시 중단 #95
  • 응답 중단 요청 API 연동 #99
  • AbortController로 Open AI API 강제 중단 #97
    • 사용자 요청이 들어오면 nginx request id를 key로 Map에 AbortController 저장
    • LLM API와 AbortSignal 연동
    • 응답 스트리밍 API에서 AbortError를 감지하면 응답 즉시 중단

🫶🏻 사용성 개선에 힘썼습니다.

RAG 질문 history 구현 #91

  • 이전 질문 내역을 관리하는 상태 추가
    • zustand를 사용하여 상태 관리
    • 최신 질문과 이전 질문 목록을 분리하여 관리
    • 최신 순으로 구현
  • QnA 컴포넌트 분리 및 디자인 변경
  • 스크롤 이동 시 애니메이션 추가
    • useEffect: 최신 질문 변화 감지
    • scrollIntoView: 최신 질의 컴포넌트로 스크롤 이동

키워드 기반 검색 및 hybrid 검색 성능 개선 #93

  • 한국어 형태소 분석기 mecab 설치 후 postgres와 연동
  • tsvector 저장할 때 mecab 사용하여 키워드 저장
  • 검색할 때 문서 내용보다 문서 제목에 높은 가중치
  • 문서를 구분하지 못 하는 이슈가 있어 검색한 문서를 prompt에 넣어줄 때 구분자 추가

API 서버의 스케줄러를 별도 서버로 분리 #90

  • 원격 서버에 GPU가 없어 임베딩을 CPU로 수행
  • 여러 문서에 대한 임베딩 수행 시 Nest 메인 스레드가 블록킹 되어 API 요청이 늦어지는 이슈 발생
  • 임베딩 로직을 별도의 프로세스로 분리하여 임베딩 수행 도중 API 요청 가능

DB 모듈 분리 #90

  • backend 서버와 scheduler를 별도의 workspace로 분리하면서 DB 로직 중복
  • Nest library 기능 활용하여 DB 로직 library로 분리

What's Changed

Full Changelog: v1.2.1...v1.3.0