AI VIDEO BRIEFING
노코드 RAG 앱 만들기 — 벡터 임베딩으로 내 데이터에 질문하는 법
코드를 거의 쓰지 않고 노드 기반 노코드 툴로 RAG(검색 증강 생성) 데이터 분석 앱을 만드는 과정을 단계별로 정리했다. 벡터 임베딩, 시맨틱 검색, 벡터 스토어 저장·질의까지 개념과 실습을 함께 설명한다.

핵심 메시지
쉽게 이해하기
발표자는 자신이 운영하는 개발자 멘토십 프로그램의 200명이 넘는 학생 대화 데이터를 빠르게 분석하고 싶다는 실제 필요에서 출발한다. 학생들이 무엇을 이야기하는지 의미 단위로 검색하고 분위기를 파악하려는 목적으로, 직접 코드를 짜는 대신 노드 기반 노코드 플랫폼(영상의 후원사)으로 RAG 앱을 만든다.
RAG(retrieval augmented generation)는 이미 가진 데이터 — 메시지, PDF, 내부 문서, 로그 등 — 를 빠르게 질의해 관련 정보를 뽑아내고, 그 정보를 LLM에 넘겨 자연어로 답하게 하는 기법이다. 발표자는 날짜나 정확한 문자열로만 찾을 수 있는 일반 데이터베이스의 '하드 쿼리'와 달리, 벡터로 변환하면 텍스트의 전반적 의미로 검색할 수 있다고 설명한다. 감정(긍정·부정) 분류처럼, 특정 단어가 아니라 문장의 의미를 이해해 유사한 것을 찾아준다는 비유를 든다.
첫 번째 워크플로는 벡터 스토어를 만드는 과정이다. 몽고DB 커넥터와 리더로 데이터를 불러와 JSON을 테이블로 변환하고, 내용이 비어 있는 행을 필터로 걸러낸다. 그다음 오픈AI 인증 노드에 API 키를 연결(키는 하드코딩 대신 플랫폼의 시크릿 저장소에서 불러옴)하고, 임베딩 모델(비용이 낮은 소형 모델)을 골라 텍스트 열을 벡터로 변환한다. FAISS 벡터 스토어 생성 노드로 임베딩을 만들고 메타데이터를 함께 담은 뒤, 모델 라이터로 벡터 스토어를 로컬 파일로 저장한다. 발표자는 약 1만 8천 개 값을 임베딩하므로 몇 분이 걸린다고 안내한다.
두 번째 워크플로는 저장한 벡터 스토어를 불러와 질의하는 과정이다. 모델 리더로 벡터 스토어를 읽고, 오픈AI LLM 선택 노드로 대화용 모델(저렴한 GPT-4o 미니, 온도 0.5)을 고른다. 문자열 위젯으로 '질의'와 '사용자 이름' 두 입력을 받는 컴포넌트를 만들어, 이를 테이블 행 변수로 바꾼 뒤 벡터 스토어 리트리버에 넘긴다. 리트리버는 질의와 의미가 가까운 문서들을 끌어오고, 메타데이터 필터로 특정 작성자만 골라낼 수도 있다.
마지막으로 검색 결과를 LLM이 쓰기 좋은 형태로 다듬는다. 결과를 언그룹해 개별 행으로 펼치고, 표현식(expression) 노드로 작성자·채널·내용·날짜를 하나의 프롬프트 문자열로 합친다. 그룹바이와 연결(concatenate) 집계로 여러 프롬프트를 하나로 이어 붙이고, 다시 표현식으로 '맥락 + 원래 질의'를 담은 최종 프롬프트를 만든 뒤, 이를 변수로 바꿔 에이전트 채팅 뷰의 시스템 메시지로 넘긴다. 그 결과 '학생들은 면접을 어떻게 생각하나' 같은 질문에 맥락에 근거한 답을 대화형으로 얻는다.
주요 인사이트
- RAG의 가치는 '키워드 일치'가 아니라 '의미 기반 검색'에 있다. 날짜·정확한 문자열로만 찾을 수 있는 전통적 데이터베이스와 달리, 벡터 임베딩은 '면접'과 관련된 텍스트를 그 단어가 없어도 의미로 찾아낸다.
- 벡터 스토어를 한 번 만들어 파일로 저장해 두면, 매번 다시 임베딩할 필요 없이 불러와 재사용할 수 있다. 이는 비용과 시간을 크게 줄이는 실용적 설계다.
- API 키 같은 비밀값은 하드코딩하지 않고 플랫폼의 시크릿 저장소에 두고 불러오는 것이 안전하며, 노드끼리 직접 연결이 안 될 때는 '플로 변수'로 값을 전달할 수 있다.
- 노드가 직접 연결되지 않는 경우에도 컴포넌트·플로 변수·표현식 같은 장치로 데이터를 흐르게 만들 수 있어, 코드 없이도 상당한 유연성을 확보한다.
- 발표자는 이 방식이 코드베이스를 유지보수하지 않고 빠르게 바꿔 실험하고, 워크플로를 내보내 남과 공유하기에 특히 좋다고 평가한다.
자주 묻는 질문
RAG(검색 증강 생성)란 무엇인가?
이미 가진 데이터를 빠르게 질의해 관련 정보를 뽑아내고, 그 정보를 LLM에 넘겨 그 데이터를 근거로 답하게 하는 기법이다. 메시지·PDF·내부 문서·로그 등 어떤 데이터든 대상이 될 수 있다.
데이터를 왜 '벡터'로 변환하나?
일반 데이터베이스는 날짜나 정확한 문자열 같은 하드 쿼리로만 찾을 수 있어 의미 기반 검색이 어렵다. 텍스트를 벡터(숫자의 배열)로 변환하면 특정 키워드가 아니라 문장의 전반적 의미로 유사한 내용을 검색할 수 있다.
전체 과정은 몇 단계로 나뉘나?
두 단계다. 첫째는 데이터를 임베딩해 벡터 스토어를 만들고 파일로 저장하는 것, 둘째는 그 벡터 스토어를 불러와 질의하고 검색 결과를 다듬어 LLM에 넘겨 대화형으로 답을 받는 것이다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗