-
Notifications
You must be signed in to change notification settings - Fork 1
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 & Fix] 오답분석 기능 추가 & CI/CD 수정 #20
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Milvus DB 연동과 데이터 삽입 RAG 기반 QA 응답
openai 및 pymilvus 추가
함수 위치 변경
함수 위치 변경
api key 구체화
s3 직접 접근 없이도 등록 가능
print() 출력문 로깅으로 변경, 삭제
DEV 서버 워크플로우 YML 파일 추가
로컬호스트가 아닌 ec2 public host로 변경
namespace도 /와 함께 포함해야 함
secrets
ECR 이미지 pulling EC2 SSH 접속과 컨테이너 실행
초기에는 컬렉션 검색 및 출력이 불가해서 오류 발생. 연결 및 확인만 하도록 수정
Milvus는 DB보다 Collection이 적합해서 수정 연산 가독성을 위한 띄어쓰기
pwd, ls
not found error 디버깅
job 간에는 데이터를 전달하기 위한 별도 방식 적용 필요. 깃허브 secret 이용
job 간에는 데이터를 전달하기 위한 별도 방식 적용 필요. env 문제 해결
Dev와 Prod 구분하기 위해서
eng1.jpeg
main브랜치 머지/푸시 시에 발생
기존 prod 서버는 ghcr을 활용 branch 비웠더니 워크플로우 실패가 떠서 백업 후 삭제
Line51 'steps:' syntax error
전체 분석 API에 milvus 연결 코드가 누락되어 추가
OCR까지 불필요하게 호출하지 않도록
analysis에서 milvus 연결 수행하므로 r,a,g에서는 각각 연결을 수행할 필요 없음
Vector Search 이전에 Collection을 메모리에 로드 해줘야 함
Self Test용 엔드포인트 통일
생성할 스키마와 생성된 collection의 스키마 로그 구분
데이터 삽입 성공 여부를 Response Body로 확인가능.
semnisem
added
documentation
Improvements or additions to documentation
enhancement
New feature or request
labels
Sep 26, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR 타입
✅ 기능 추가
✅ 버그 수정
✅ CI/CD 워크플로우 업데이트
반영 브랜치
dev ➡️ main
작업 사항
📝
OCR 기능 추가
이미지 경로에 따라 다운로드 후, ClovaAPI를 활용해 OCR 처리를 진행하여 텍스트를 추출하는 기능을 추가했습니다.
📝
Milvus 연결/삽입/검색 기능 추가
오픈소스 Vector DB인 Milvus stand-alone를 서버에서 컨테이너로 실행하고, 코드 내 pymilvus SDK를 통해 통신, 연결, 구축, 초기 컬렉션 생성 및 데이터 삽입, 그리고 분석기능에서 중요한 검색이 가능하도록 구현했습니다.
📝
Embedding 기능 추가
Milvus에 저장할 데이터, 쿼리할 데이터를 벡터 임베딩하기 위해서 외부 임베딩 모델과 통신합니다.
📝
Chat 기능 추가
Chat LLM model인 ChatGPT 모델과 통신하여 질의, 응답이 가능합니다.
📝
오답분석 기능 추가
위 모든 작업사항을 RAG 아키텍처로 구현하여 사용자가 요청한 이미지에 대해 수준에 맞게 Concentration을 주어 맞춤화 된 응답을 제공합니다.
📝
Dev 워크플로 추가 및 수정
DEV서버를 새로 추가했고, develop 브랜치에 대한 push는 dev 워크플로를 트리거합니다.
📝
Prod 워크플로 수정
기존 운영한 PROD 서버는 main 브랜치에 대한 push/merge에 대해 prd 워크플로를 트리거하는 것으로 수정하였습니다.
📝
CI/CD 변경
Ghcr 레포지토리에서 ECR로 수정하고, 깃허브 액션시간을 최적화하였습니다.
테스트 방법
추가된 기능은 아래 방식으로 자유롭게 요청&응답 테스트가 가능합니다.
테스트 결과
해당 FastAPI의 모든 엔드포인트에 대해 Dev 서버에서 정상적인 동작함을 확인했습니다.
추가로, 서버에 기록된 로그 확인한 결과 성공했습니다.
깃허브 액션 실행 결과, DEV는 성공, PRD는 실행 예정입니다