앞서 embedding과 VDB에 대해서 살펴보았다. 이번에는 이러한 embedding과 VDB를 조합하여 검색 엔진을 만들어보는 방법에 대해서 다루려고 한다. 앞서 다루었던 VDB의 개념에 Flask를 통한 간단한 API 서버를 만들고, embedding model을 조합하여 벡터값으로 나타내주기만 하면 모든 과정이 끝이다. 제목에 검색 엔진과 추천 시스템이라는 키워드를 같이 썼는데, 실제로 나도 관련된 연구를 진행하면서 초반에 둘을 많이 헷갈리기도 했다. 사실 정확히 말하면 우리가 오늘 만들 것은 검색 엔진이다. 하지만 추천 시스템과도 어느 정도 관련이 있다. 검색 엔진은 명시적인 사용자 쿼리를 처리하는 것이다. 사용자가 특정 쿼리값을 보내면, 이를 가공하여 필요한 정보를 제공해주는 것이다. pul..
슬슬 논문 작성이 막바지에 들어섰다. 나는 현재 학부 연구생 소속으로서 벡터 데이터베이스와 테이블 데이터를 .csv 파일로 뽑아서 embedding 하는 부분을 연구하고 있다. 다른 연구원 한 분과 같이 작업하고 있는데, 간단하게 소개하면 연구 내용은 테이블 데이터(.csv) 파일로 검색하는 RAG를 만드는 내용이다. 좀 더 설명하면 .csv 파일을 통해 검색하는 검색 시스템을 만드는 것이다. 중요한 점은 단순한 검색이 아니라 쿼리용으로 쓰인 테이블 데이터로 검색을 하였을 때, 융합하기 좋은 테이블을 찾는 것이다. 그렇기 때문에 RAG를 구현하는 느낌에다가 이것저것 부가적인 방법을 섞어서 꾸준히 실험을 계속하고 있다. 각설하고, 이러한 과정에서 필요한 것이 Vector Database였다. 수 많은 .c..
최근 인공지능 기술이 크게 발전함에 따라 인공지능을 뒷받침하는 다양한 기술들이 연구되고 있다. 그 중 GPT와 같은 프로덕트를 구현하는 데 사용되는 LLM(Large Language Model)과 이를 위한 데이터베이스인 VDB(Vector Database)도 활발한 연구가 이루어지고 있다. 이러한 벡터 데이터베이스(VDB)는 벡터값을 저장하기 위해 특화된 데이터베이스인데, 주로 embedding과 함께 쓰이게 된다. embedding은 모든 데이터들을 고차원의 벡터값으로 변환한 것이다. 다양한 데이터에 맞는 embedding model을 사용하여 어떠한 데이터든 임베딩으로 나타낼 수 있다. ( text embedding model, image embedding model, etc ... ) 이러한 LL..