반응형
Project: HowAbout - Intro에서 언급된 데이팅 계획 생성에 있어 RAG 방식을 사용하기로 선정했다.
선정 이유는 Why: RAG를 사용 해야 할까?와 도채체 RAG는 뭘까?를 참고하면 된다.
기본적으로 생성 해야하는 로직은 아래와 같다.
- 사용자 혹은 클라이언트에서 오는 요청은 두 종류다.
- Dating Request: Dating에 대한 기본정보와 Theme이 들어있다.
- Dating 계획에 대한 추천 사항을 생성한다.
- Activity Request: Dating Request에 더해 Activity와 관련된 정보가 추가적으로 들어있다.
- Dating 계획에서의 특정 Activity에 대한 추천 사항을 생성한다.
- Dating Request: Dating에 대한 기본정보와 Theme이 들어있다.
- 요청에 대한 Embedding을 진행한다.
- Embedding 모델의 경우 아래의 모델 중 하나를 선택할 예정이다.
- KoBert - Text based in Korean
- KcBert - Verbal communication based in Korean
- KoBart - Both text and verbal communication based in Korean
- Embedding 모델의 경우 아래의 모델 중 하나를 선택할 예정이다.
- Vector로 전환된 요청과 관련된 정보를 DB에서 가져 온다.
- Vector DB - Not decided yet
- Vector DB의 경우 현재 정해진 바는 없다. 하지만 아래의 후보군이 있다.
- FAISS
- Chroma
- Pinecone
- 아래의 내용들이 Vector DB에 들어갈 예시 Columns들이다.
- relationship
- location
- description
- tags
- reviews
- 반환된 Data와 Query를 LLM에 보내 요청에 맞는 결과를 생성한다.
- chatGPT3.5를 사용할 예정이다.
- 생성된 결과를 Client에 보낼 수 있는 형태로 전환하여 반환 한다.
- Frontend 와 약속된 response 형태로 보낼 예정이다.
마지막으로 위의 내용을 조정할 Framework로 LangChain과 API를 위한 webserver의 경우 FastAPI를 사용할 예정이다.
그래서 위의 내용을 정리하면 아래와 같다.
Platform | Huggingface |
Framework: RAG | LangChain |
Framework: API | FastAPI |
Embedding Model | KoBart, KcBert, KoBert |
Vector DB | Faiss, Chroma, Pinecone |
LLM | chatGPT 3.5 Turbo |
그리고 Project: HowAbout RAG의 구현 순서는 아래와 같다.
- 기본 RAG 구현
- Vector DB 생성 및 Data 확보용 Crawler 구현
- API Server 구현 및 배포
- 서비스용 RAG 구현
- 배포 및 디버깅
그래서 먼저 RAG에 대한 구현으로 진행될 예정이다.
반응형
'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 - Outro: 회고 (0) | 2024.09.25 |
Project: HowAbout - Intro (0) | 2024.08.13 |