본문 바로가기

서비스 제작

[MDQA]1. 웹 페이지 또는 파일을 데이터 베이스에 저장하기

MDQA 제작기 시작 페이지에서 말한 것처럼 MDQA에서의 큰 파이프라인은 아래와 같다.

  1. 유저가 입력한 웹 페이지 또는 파일을 데이터 베이스에 저장
  2. 유저의 질문 입력
  3. 질문과 연관된 내용을 데이터베이스에서 검색하기(Retrieval)
  4. 검색한 정보를 이용해 답변을 작성하기(Generation)

앞으로의 몇 개의 포스팅에서는 “웹 페이지 또는 파일을 데이터 베이스에 저장하기” 과정을 다룰 것이다. 그에 앞서서 이 과정에 대한 세부 파이프라인을 살펴보자.

파이프라인

“웹 페이지 또는 파일을 데이터 베이스에 저장하기”을 위해서 어떤 과정을 거쳐야하는지 생각해보자. 저자 스타트업에서의 MVP에서 파일 입력은 PDF만 가능하기 때문에 여기서 파일은 PDF 파일을 의미한다.

  1. 유저가 웹 페이지의 URL을 입력 또는 PDF 파일을 업로드
  2. 웹 페이지는 크롤링, PDF는 파일을 읽어서 텍스트 데이터를 가져옴(Loader 모듈)
  3. 텍스트 데이터를 적절한 크기의 chunk로 자른다.(chunker 모듈)
  4. 자른 텍스트를 특정 크기의 벡터로 임베딩한다. (embedder 모듈)
  5. chunk를 중요한 순서대로 정렬한 데이터도 저장한다. (Text ranker 모듈, 이 부분은 필수적이지 않다.)
  6. 이렇게 처리한 데이터들을 데이터베이스에 저장한다.

위의 6단계를 한 단계씩 살펴보자. 각 내용을 다룬 포스팅 주소는 아래와 같다.