AI/Projects

Project: HowAbout - RAG

문괜 2024. 8. 16. 12:00
반응형

Project: HowAbout - Intro에서 언급된 데이팅 계획 생성에 있어 RAG 방식을 사용하기로 선정했다. 

 

선정 이유는 Why: RAG를 사용 해야 할까?도채체 RAG는 뭘까?를 참고하면 된다. 

 

기본적으로 생성 해야하는 로직은 아래와 같다. 

 

 

  1. 사용자 혹은 클라이언트에서 오는 요청은 두 종류다.
    • Dating Request: Dating에 대한 기본정보와 Theme이 들어있다. 
      • Dating 계획에 대한 추천 사항을 생성한다.
    • Activity Request: Dating Request에 더해 Activity와 관련된 정보가 추가적으로 들어있다.
      • Dating 계획에서의 특정 Activity에 대한 추천 사항을 생성한다.
  2. 요청에 대한 Embedding을 진행한다.
    • Embedding 모델의 경우 아래의 모델 중 하나를 선택할 예정이다.
      • KoBert - Text based in Korean
      • KcBert - Verbal communication based in Korean
      • KoBart - Both text and verbal communication based in Korean
  3. Vector로 전환된 요청과 관련된 정보를 DB에서 가져 온다.
    • Vector DB - Not decided yet
    • Vector DB의 경우 현재 정해진 바는 없다. 하지만 아래의 후보군이 있다.
      • FAISS
      • Chroma
      • Pinecone
    • 아래의 내용들이 Vector DB에 들어갈 예시 Columns들이다.
      • relationship
      • location
      • description
      • tags
      • reviews 
  4. 반환된 Data와 Query를 LLM에 보내 요청에 맞는 결과를 생성한다.
    • chatGPT3.5를 사용할 예정이다.
  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의 구현 순서는 아래와 같다.

  1. 기본 RAG 구현 
  2. Vector DB 생성 및 Data 확보용 Crawler 구현
  3. API Server 구현 및 배포
  4. 서비스용 RAG 구현 
  5. 배포 및 디버깅

그래서 먼저 RAG에 대한 구현으로 진행될 예정이다.

RAG 구현 Step By Step: Intro

 

RAG 구현 Step-by-Step: Intro

목적가장 기본적인 형태의 RAG를 구현 함으로서 RAG의 작동 방식과 추후 프로젝트에서 사용될 RAG의 구현 순서를 숙지함과 동시에 서비스 목적에 어떤 부분을 수정해야하는지에 대한 파악을 할 수

youcanbeable.tistory.com

 

반응형