반응형
- 가상환경 설정 및 MVP 구현
Dataset과 Vector DB 구현- Dataset 확보
- Vector DB 구현
- Embedding & Searching 구현
- Generation 구현
기존의 Datset 및 Vector DB 순으로 진행하려고 했으나 문제가 발생했다.
생각보다 데이터를 확보하는 것이 엄청난 작업이라는 사실을 깨달아 버린것이다.
프로젝트를 위한 RAG이다 보니 프로젝트에서 필요한 Dataset을 확보 해야 했다. 그래서 여러 웹애플리케이션을 사용하려고 시도했으나 자원과 학습 목적(만들 수 있음 만들어보자)에 위배 돼 직접 Dataset을 확보하기로 하였고 이 생각을 했던 1주일 전의 나에게 쌍욕을 하고 싶으나 결론적으로 확보에 성공했다.
그래서 Dataset 확보를 위해 아래와 같은 방식으로 접근 했고 아래의 링크에 구체적인 구현과정을 정리한 글을 확인 할 수 있다.
먼저 접근방식은 아래와 같았다.
- RAG가 서비스 의도에 맞게 생성하기 위해 어떤 정보가 필요한지를 파악했다.
- 서비스에서의 RAG의 역할은 데이팅 계획을 작성 할 수 없는 안타까운 상황에서 키워드를 기반으로 데이팅 계획들을 생성해주는거다.
- 그렇기에 데이팅의 주 구성인 장소와 장소의 특징을 들어낼 수 있는 내용들을 확보 해야 한다.
- 또한 각 장소별로 구분 되어 질 수 있으면서도 동시에 유사점을 파악 할 수 있는 내용들이 확보 돼야 한다.
- 그래서 아래와 같은 내용을 기반으로한 데이터를 확보하기로 결정했다.
- 아래의 코드블럭 확인
- 정보의 형태를 파악한 후에는 해당 정보를 가장 많이 확보 할 수 있는 방안을 생각했다.
- 기본적으로 장소에 대한 데이터를 확보해야 하니 Naver Map을 이용한 크롤링을 생각했다.
- 특히, Naver Map의 경우 Iframe이라느 태그를 사용하니 그에 맞춰 Selenium을 사용했다.
- 또한 추후 자동화를 위해서도 Selenium이 좋다고 판단하여 선택했다.
- 마지막으로 1,2번의 내용을 바탕으로 구현을 진행하였고 그 과정은 순탄치 않았다.
{
"ad_gu": "행정구",
"ad_dong": "행정동",
"place_type": "추후 RAG에게 구분일 될 수 있는 특성으로 사용하기 위해",
"location": "장소 이름",
"address":"주소",
"description": "장소에 대한 한줄 설명",
"rating": "장소를 평가할 수 있는 수치 정보",
"share_link": "장소에 대한 Static 정보",
"reviews": [
"방문자들이 생각하는 장소"
],
"info": "장소 소유자가 생각하는 장소에 대한 정보"
}
아래의 링크로 구체적인 구현 과정을 확인할 할 수 있다.
RAG 구현 Step-by-Step Dataset 확보: Selenium을 활용한 Crawler
그리고 아래의 링크가 최종으로 완성된 크롤러이다. 구체적인 구현 과정을 보고 싶지 않다면 바로 확인 할 수 있다.
RAG-DATA/ha-crawler
이어서 확보된 데이터를 바탕으로 RAG를 위한 구현을 진행했다.
반응형
'AI > Gen AI' 카테고리의 다른 글
RAG 구현 Step-by-Step Vector DB 구현 - 2: Faiss with LangChain (3) | 2024.09.17 |
---|---|
RAG 구현 Step-by-Step Vector DB 구현 - 1: Implementation Outline (1) | 2024.09.16 |
RAG 구현 Step-by-Step Dataset 확보: Selenium을 활용한 Crawler (3) | 2024.09.02 |
RAG Step-by-Step: 가상환경 설정 및 MVP 구현 (0) | 2024.08.20 |
RAG 구현 Step-by-Step: Intro (0) | 2024.08.19 |