0712~0717의 기간동안 한 일들
지금 까지는 1차적인 api코드만 작성했지만, 파싱과 임베딩의 과정에 있어 좀 더 안정적으로 코드를 수정하였다.
또한 open ai api기반의 질의응답 api 하나만 개발해두었는데 모델 쪽 llm 팀원이 로컬 환경에서 llm을 올려두어
이를 기반으로 모델 기반 질의응답 api를 추가로 개발하였고, 작업중에 프론트팀 쪽에서 cors오류가 발생해서 이를 해결하였으며
프론트팀의 요청으로 문서 db에 대한 delete & retrieve APIs 개발을 진행하였다.
간략하게 설명해보겠다.
모델 버전으로 llm api개발
우리가 닥친 문제는.. 리소스에 관한 것이다.
학교에서 지원해주는 비용에 대해 한계가 있기에 최대한 비용을 절감할 수 있는 선택지로 삼아 사용해야 한다.
따라서 선택한 것이 무료로 풀려있는 한국어 기반 학습이 잘된 llm 모델을 쓰는 것이었는데.. 문제가 3가지 있다.
1. open ai api 보다 답변 성능이 사실상 좋지 못하다는 점
2. gpu성능이 좋은 컴퓨팅 리소스를 필요로 한다는 점
3. api에 비해 속도가 매우 느리다는 점
=> 이 3가지 문제는 최대한 해결하기 위해 파싱, 임베딩, 랭체인 설정 등등 최선을 다해볼 예정이다.
일단 해결이 되지 않는다면... open ai api의 gpt-4o 모델을 사용할 수도 있다.
react와의 cors오류
프론트 팀원이 오류가 생겼다고 문의가 왔는데 다음과 같았다.
=> 알고 보니 cors 문제였다.
CORS(Cross-Origin Resource Sharing)는 다른 도메인에서 자원을 요청할 때 발생하는 보안 문제이다. 문제해결을 위해 아래 참고문서 포스팅을 보면서 문제를 해결할 수 있었다. Django 프로젝트에 django-cors-headers 패키지를 설치하고 설정을 추가하고 -> pip install django-cors-headers & settings.py 파일에 INSTALLED_APPS에 'corsheaders'를 추가.
그리고 MIDDLEWARE에 'corsheaders.middleware.CorsMiddleware'를 추가하고, CORS_ALLOWED_ORIGINS에 허용할 도메인을 설정했더니 해결됐다.
참고문서: https://integer-ji.tistory.com/361 https://cholol.tistory.com/524
delete & retrieve APIs 개발
프론트 팀 쪽에서 문서에 대한 delete, retrieve관련 api도 type, category별로 개발해 줄 수 있냐고 부탁해서 개발을 완료하였다.
앞으로 해야 할 일
=> 할 일이... 많다..
지금 상황으론 위에서 얘기했듯이 모델버전 api의 성능을 최대한 끌어내야 한다.
이를 위해서 할 수 있는 다양한 방식을 적용해 볼 것이다.
데이터 파싱에 대해서도 추가사항이 있는데 요약하자면 프론트팀의 요청에 맞춰 데이터 형식을 확장하고 정보를 최대한
다양하게 담에 프론트에서 이용할 수 있게 해야한다.
어렵지만, 또 재미있고 많이 배우는 시간이 될 것 같아 기대가 된다.
'Project > 명지대학교-입학관리팀챗봇-MARU_EGG' 카테고리의 다른 글
DJango에서 pdf렌더링 처리 + ask_question_api 함수 고도화 작업 (0) | 2024.07.24 |
---|---|
0717~0720개발일지 html & pdf에서 표 데이터 전처리 과정 (0) | 2024.07.24 |
DJango에서 Swagger로 파일 업로드 진행하는 방법 + api 2차 완성 (0) | 2024.07.12 |
DJango + Swagger 연동 진행 방법 (0) | 2024.07.11 |
프로젝트 배포 완료 & test용 api 개발 진행 (0) | 2024.07.09 |