반응형
Project:HowAbout - Intro에 구현하기로 한 기능을 다 구현하지는 못했으나 4주간의 MVP를 달성했다. 그리고 이 포스트는 4주간의 과정에 대한 회고다.
먼저 처음에 예상했던 구성 사용하기로 한 기술스택들과 실제로 만들어지고 사용된 내용에 대해서 확인해 보자.
프로젝트 구현 전
예상 Software Architecture
예상 기술스택
Platform | Huggingface |
Framework: RAG | LangChain |
Framework: API | FastAPI |
Embedding Model | KoBart, KcBert, KoBert |
Vector DB | Faiss, Chroma, Pinecone |
LLM | chatGPT 3.5 Turbo |
프로젝트 구현 후
실제로 만들어진 Software Architecture
실제로 사용된 기술 스택들
Framework: RAG | LangChain |
Framework: API | FastAPI |
Embedding Model | text-embedding-3-large(OpenAI) |
Vector DB | Faiss |
LLM | chatGPT-4o-mini(for service) and chatGPT-3.5-turbo(for testing) |
이와 같은 차이가 발생하고 예상했던 기간보다 좀 더 많은 시간을 구현에 힘쓴 이유는 간단하다.
바로 'RAG'에 대한 이해도가 부족했기 때문이다.
물론 지금 한 번의 구현으로 RAG 전문가가 되지는 않았지만 어떤 부분을 바꿔가면서 고도화할 수 있는지 그리고 개선사항들에 대한 아이디어가 생겼기에 다음에 RAG 혹은 LLM기반의 생성형 AI 더 나아가 ML Model Serving에 구현에 있어서는 좀 더 높은 퀄리티를 달성할 것으로 보인다.
그래서 먼저 아래와 같은 프로젝트 진행하면서 아쉬웠던 점과 현재 구현한 RAG API에 대한 개선사항들에 대해 설명하겠다.
아쉬웠던 점
- 예상 가능했던 문제들에 대한 예방책 혹은 대비책 부족
- 어느 정도의 예방책과 대비책을 구현하였으나 많이 부족했다. 특히, 구현이 급했다 보니 문제상황이 발생하고 나서 충분히 예방할 수 있었겠다는 생각이 들었었다.(TPM)
- LangChain과 LLM에 대한 이해도 부족
- 위의 예상 가능했던 문제들 혹은 발생했던 문제들의 경우 대부분의 기존에 이해했다고 믿어 왔던 LLM과 LangChain에 대한 이해도가 부족해서 발생했다. 그래서 이에 대한 정리가 필요하다는 판단이 들었다.
개선사항
- LangChain과 LLM 관련 용어와 관계 및 역할 파악
- RAG
- TPM문제 해결
- Prompt 상세 설정
- LangChain을 속성을 활용한 RAG 성능 강화
최종 완성 프로젝트 코드는 아래의 링크를 통해 확인할 수 있다.
그리고 다음으로는 Project HowAbout RAG API 최적화를 진행할 예정이다.
감사합니다.
반응형
'AI > Projects' 카테고리의 다른 글
Project Joing - MVP 구현: Proposal Evaluation (3) | 2024.10.30 |
---|---|
Project Joing - 기능별 Intro: 기획안 평가 및 요약 (2) | 2024.10.10 |
Project Joing - Intro (4) | 2024.10.04 |
Project: HowAbout - RAG (0) | 2024.08.16 |
Project: HowAbout - Intro (0) | 2024.08.13 |