RAG Project

[RAG Project] GlobalMacro QA chatbot - Data Crawling (1)

hibyeys 2024. 9. 9. 21:05

2024.08.20 - [RAG Project] - [RAG Project] GlobalMacro QA chatbot - 개요(0)

 

[RAG Project] GlobalMacro QA chatbot - 개요(0)

Preview필자는 원래 LLM에 크게 관심 없었다. (하지만 chatGPT는 유료결제해서 열심히 갈궜다!)아무래도 작곡을 했었다 보니 주로 Music Source Separation이나 Vocie Conversion 등 Audio task에 관심을 기울였다.최

hibyeys.tistory.com

이전 글에서 언급한 순서대로 먼저 데이터 크롤링을 실시 했다.

 

데이터 분류

1. 국면을 파악하기 위한 수치 데이터 (경기지표, 주가지수, 자산군별 가격, 주요 인덱스 등)

2. 수치 해석을 위한 전문가들의 칼럼&영상 데이터(개인적으로 엄선한 칼럼 및 영상, 투자 거장들의 투자 전략, 책 등)

3. 발생한 이벤트 데이터 (위키피디아 등 과거 발생한 이벤트들이 게시된 사이트, 최근 발생한 뉴스 등)

 

 

크롤링

데이터 1

먼저 1 에 해당하는 데이터를 수집 하려고 하였다. 여러 사이트를 참고해 서치한 결과 Fred Api 나 Naver 사이트등을 이용해 주가나 지표 데이터를 제공하는 FinanceDataReader라는 파이썬패키지가 가장 유용해보였지만 결과적으로 유료로 내가 참고하는 사이트에서 수동으로 지표를 긁어오기로 결정했다. 

* (사이트의 구성원으로서 데이터를 함부로 쓰기 망설였지만 개인적으로만 사용하면 괜찮다고 해서 cleaning 된 데이터를 가져오는게 좋다고 판단했다)

 

● 데이터 2

다음은 2 에 해당하는 데이터를 가져오려고 했다. 사실 이 데이터가 프로젝트의 핵심 데이터이다. 

이 데이터의 활용처는 그 사람의 사고 흐름과 판단 근거를 파악해서 새로운 데이터를 제시했을때 이전의 사고 흐름을 통해 현재의 국면을 파악하는데 사용될 예정이다. 철저히 내 자신이 참고할만 하다고 생각하는 사람들의 사고 흐름이므로

누구에게는 도움이 될 수도 있고 누구에게는 도움이 안될 수도 있다. (하지만 내가 쓰기위한 것이므로 고려해야할 문제는 아니다.)

 

우선은 3가지로 분류하였다.

첫째는, 현재의 경기국면이나 이슈를 다루는 칼럼이나 영상

둘째는, 과거의 데이터와 사건들을 소개하고 그것을 토대로 경기국면을 파악하는 영상&칼럼들

셋째는, 투자 전략&투자 대가들의 전략등에 대해 소개하는 영상이나 칼럼들

* (이것 또한 내가 속해있는 유료사이트 자료를 많이 참고하였다.)

 

각각에 해당하는 칼럼들을 BeautifulSoup 과 Selenium을 통해서 크롤링해서 Markdown 파일로 변환해서 폴더에 저장하였고

필요한 영상들은 yt_dlp 등을 이용해 Audio 파일만 추출해서 폴더에 보관하였다.

 

● 데이터 3

데이터 3 은 데이터를 크롤링해서 저장하고 있기보다는 나중에 LangGraph를 통해 Agent에게 할당해서 질문에 대해 데이터를 보충해 주는 용도로 사용하는게 적합할 것 같다고 판단해서 보류하였다. 

 

후에 적용해 볼 것

SerpAPI

https://serpapi.com/

 

SerpApi: Google Search API

SerpApi is a real-time API to access Google search results. We handle proxies, solve captchas, and parse all rich structured data for you.

serpapi.com

구글, 네이버, 야후, 바이두, 빙등 검색 서비스 API를 모아 간편하게 쓸 수 있게 만든 프로덕트다. 

SerpApi를 통해서 현재 주가지수나, 발생한 이벤트 등을 쿼리를 통해 쉽게 가져올 수 있다. 

(※ 한달에 100번 검색만 무료로 제공한다.)

 

Tavily

https://tavily.com/

 

Tavily

Introducing our Search API Elevate your AI's capabilities with a search engine built specifically for AI agents (LLMs), delivering real-time, accurate, and factual results at speed. The Search API helps connect LLMs and AI applications to trusted and real-

tavily.com

AI 에이전트를 위해 특별히 설계된 검색 엔진.

Agent를 만들어 데이터 3 이나 부족한 데이터를 보충하는 형태로 사용할 수 있을 것 같다.

(※ 매월 1,000회의 무료 검색을 제공)

 

국내 지표

https://kosis.kr/openapi/

 

KOSIS 공유서비스

KOSIS 통계정보를웹 또는 모바일앱 개발에 활용할 수 있도록인터페이스(API)를 제공하는 서비스 입니다.

kosis.kr

국내 통계 정보를 모아서 API 형태로 제공하는 서비스. 국내 동향을 파악하는데 활용하기 좋을 것 같다