Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] Rag scrap notice and embedding for vectorDB #192

Merged
merged 31 commits into from
Jul 22, 2024

Conversation

zbqmgldjfh
Copy link
Member

@zbqmgldjfh zbqmgldjfh commented Jul 22, 2024

공지를 scrap하고 vector로 만들어 영속화 하는 batch작업 구현
(테스트 서버 배포후 문제 발견)

close: #190

해당 공지가 임베딩 되었는지 확인하는 컬럼을 추가한다
유사도가 낮아도 답변을 꼭 생성하는쪽으로 구현
@zbqmgldjfh zbqmgldjfh self-assigned this Jul 22, 2024
Copy link

github-actions bot commented Jul 22, 2024

Unit Test Results

  45 files    45 suites   42s ⏱️
232 tests 222 ✔️ 10 💤 0
235 runs  225 ✔️ 10 💤 0

Results for commit a508dd5.

♻️ This comment has been updated with latest results.

Copy link

@zbqmgldjfh zbqmgldjfh merged commit 1c8c99c into develop Jul 22, 2024
4 checks passed
zbqmgldjfh added a commit that referenced this pull request Jul 23, 2024
* setting: Chroma Vector DB 의존성 설정

* feat: 환경설정 파일 수정

* feat(QueryVectorStoreAdapter): QueryVectorStoreAdapter를 ChromaVectorStore를 사용하여 구현

* feat(Notice): Notice 테이블에 embedded boolean 필드 추가

해당 공지가 임베딩 되었는지 확인하는 컬럼을 추가한다

* feat(NoticeTextParserTemplate): 공지의 본문, 제목, 아이디를 파싱하는 ParserTemplate 구현

* test: ChromaDB test container 설정

* feat(NoticeApiClient): 단일 페이지를 scrap하는 requestSinglePageWithUrl 구현

* fix(NoticeJdbcRepository): 공지에 추가된 embedded 필드를 위해 bulk insert method 일부 수정

* feat(NoticeRepository): updateNoticeEmbeddingStatus, findNotYetEmbeddingNotice 메서드 구현

* fix(KuisHomepageNoticeTextParser): 본문을 포함하는 추가 테그를 파싱하는 로직 추가

* feat(KuisHomepageNoticeInfo): textParser 의존성 추가

* feat(ChromaVectorStoreAdapter): ChromaVector 구현

* test(KuisHomepageNoticeScraperTemplateTest): 임베딩 테스트 scrapForEmbedding 작성

* feat(RAGConfiguration): RAG 환경설정 구현

* feat(NoticeEmbeddingUpdater): 공지 embedding을 위한 Updater 구현

* feat: 공지 updater 작업 수행 시간 변경

* chore: 설정파일에 collection-name 추가

* fix(ChromaVectorStoreAdapter): embedding 메서드 수정과 테스트 추가

* feat(ChromaVectorStoreAdapter): 유사도 임계치 제거

유사도가 낮아도 답변을 꼭 생성하는쪽으로 구현

* feat: 사용하지 않는 RestTemplateConfig 제거

* chore: Public 접근 제어자 제거

* feat(ChromaVectorStoreAdapter): Top-K 를 2로 변경

* feat(User): 한달 질문 가능 횟수를 3번으로 변경

* feat(UserUpdater#questionCountReset): 매달 마지막날 사용자 질문 카운트 초기화 작업 구현

* feat(UserRegisterNonChainingFilter): 사용자 중복 등록 예외 로그를 남기도록 처리

* feat(UserUpdater): 사용자 제거작업 중지

* setting: ai max token 1000으로 변경

* feat(RAGQueryApiV2): RAGQueryApi 문서화

* refactor: SecurityRequirement에서 상수를 사용하도록 변경

* feat(User): 사용자 질문 횟수 2로 제한

* feat(RAGConfiguration): 테스트용 ChromaVectorStore를 prod 환경에서도 bean으로 등록하도록 변경
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant