[00:00]
지난주, Gemini 팀에서
[00:02]
API를 통해 직접 관리형 RAG 애플리케이션을
[00:04]
생성할 수 있는 새로운 파일 검색 도구를 추가했습니다.
[00:07]
지난 영상에서는 전체적인
[00:09]
아키텍처와 워크플로우를 다뤘는데,
[00:11]
이번 영상에서는 실제로 훨씬
[00:13]
깊이 들어가보려고 합니다. 정확히
[00:15]
내부에서 무슨 일이 일어나는지,
[00:17]
Gemini가 API 호출 내에서
[00:19]
RAG 단계들을 자동화하는 데
[00:21]
사용하는 구체적인 함수들을
[00:24]
보여드리겠습니다. 그래서 여러분이 직접
[00:26]
관리형 RAG 솔루션을
[00:28]
구축할 수 있도록 말이죠. 자, 그러면
[00:31]
모두가 명확히 이해할 수 있도록
[00:33]
Gemini 파일 검색 API의 전체
[00:35]
과정을 안내해주는
[00:37]
라이브 인터랙티브 애플리케이션을 만들었습니다.
[00:40]
이게 실제로 어떻게 동작할까요? 본격적으로 들어가기 전에
[00:42]
생각해보면, 모든 RAG 시스템은
[00:43]
대규모 언어 모델에 여러분의 데이터를
[00:45]
그라운딩하는 것입니다. 모든 것은
[00:47]
데이터에서 시작됩니다. 그리고 Gemini 파일 검색 API는
[00:49]
그 데이터를 처리하는 과정을
[00:53]
관리하는 방식에서 차별화됩니다. 여기 보시면
[00:56]
전통적인 RAG
[00:58]
파이프라인이 어떻게 작동하는지 나와있습니다. 우선
[01:00]
데이터를 수집하고, 거기서 텍스트를
[01:02]
토큰으로 청킹하고 분할하는 작업을
[01:04]
많이 하게 됩니다. 그다음 딥 벡터 표현인
[01:06]
임베딩을 생성하고
[01:08]
그 임베딩들을
[01:10]
벡터 데이터베이스에 저장합니다. 맞죠? 이게
[01:11]
직접 RAG를 만들 때
[01:13]
어려운 부분이고, 그다음에는
[01:15]
정보를 검색하는 두 번째 단계가 옵니다.
[01:17]
맞죠? 런타임에 사용자가
[01:18]
실제로 쿼리를 하면, 그 쿼리를
[01:20]
동일한 벡터 공간으로 변환하고
[01:22]
사용자가 물어본 것과
[01:24]
우리가 가진 것을 비교한 다음
[01:25]
그것을 바탕으로
[01:27]
답변을 얻게 됩니다.
[01:29]
이제 Gemini API 파일
[01:32]
검색 도구와 관련해서는, 모든
[01:34]
단계가 실제로 자동화되어 있음을 볼 수 있습니다.
[01:36]
유일하게 필요한 핵심 단계는
[01:38]
파일 저장소를 생성하는 것입니다. 이를 염두에 두고
[01:40]
이제 데모를 살펴보겠습니다. 파일 검색 저장소를
[01:43]
생각해보면, 실제로 크게
[01:45]
4가지 단계가 있습니다.
[01:47]
이 중 대부분은 자동화되어 있어요.
[01:49]
첫 번째 단계는 파일 저장소 자체를
[01:51]
생성하는 것입니다. 이는
[01:54]
개발자가 백엔드에서
[01:55]
생성하게 되는 것이고, 이 경우에는
[01:58]
애플리케이션이 저를 위해
[02:00]
생성하도록 요청했습니다. 이것을 Gemini가
[02:02]
여러분의 데이터를 인덱싱하고 저장할
[02:03]
지속적인 장소라고 생각하시면 됩니다. 맞죠? 그래서
[02:05]
이게 실제로 첫 번째 단계이고,
[02:06]
파일 검색 저장소를
[02:08]
생성하게 됩니다. 여기서 보시면
[02:10]
호출되는 구체적인 함수입니다.
[02:12]
이 경우에는 이런 식으로
[02:13]
생성하겠습니다. 이제 표시 이름이
[02:14]
이렇게 된 것을 볼 수 있습니다. 저장소
[02:16]
생성을 클릭하겠습니다. 완료되었습니다. 이제
[02:17]
두 번째 단계는
[02:19]
파일을 업로드하는 것입니다.
[02:21]
파일을 업로드하면 기본적으로
[02:23]
방금 생성한 파일 저장소로
[02:26]
파일을 업로드하는 것입니다. 또한
[02:28]
기존에 로드된 파일을 사용해서
[02:31]
파일 저장소로 가져올 수도 있습니다.
[02:32]
원하는 방식으로 자유롭게 할 수 있습니다.
[02:34]
이 경우 저는 여기에 파일을 업로드할 건데요.
[02:36]
최근에 출시된 이 파일을 사용하겠습니다.
[02:38]
이 파일은 에이전트 소개에 관한 내용입니다.
[02:40]
여기 작성자들이 있고
[02:42]
51페이지짜리 문서입니다.
[02:44]
이것을 여기에 업로드하겠습니다.
[02:46]
Gemini 파일 검색은 또한
[02:48]
청킹을 제어할 수 있는 기능을 제공합니다.
[02:50]
이것은 고급 설정으로
[02:52]
필요하다면 할 수 있습니다만
[02:54]
분명히 가능한 기능입니다.
[02:56]
그리고 커스텀 메타데이터도 정의할 수 있어서
[02:58]
여러 파일을 업로드하거나
[02:59]
기존 파일을 로드할 때
[03:01]
이를 처리할 수 있습니다.
[03:03]
이 모든 것들은
[03:05]
고급 기능이나 제어 기능의 일부입니다.
[03:06]
여러분이 접근할 수 있는 기능들이죠.
[03:09]
이 경우 저는 그냥 파일을 업로드하겠습니다.
[03:10]
업로드하자마자
[03:12]
오류가 발생했네요. 수정해보겠습니다.
[03:14]
이제 다시 실행하겠습니다.
[03:16]
지금 업로드 중이고
[03:17]
실제로 하는 일은 인덱싱입니다.
[03:19]
전체 청킹 프로세스가
[03:22]
지금 진행되고 있습니다.
[03:23]
작업을 완료했고 인덱싱도 마쳤습니다.
[03:26]
51페이지짜리 문서였는데
[03:27]
얼마나 빠르게 처리했는지 보셨죠.
[03:29]
이 과정은 한 번만 하면 됩니다.
[03:30]
인덱싱 부분이기 때문이죠.
[03:32]
이런 RAG를 구축할 때
[03:33]
전체 프로세스는 오프라인으로 진행되고
[03:35]
완료되면
[03:37]
마지막 단계인 쿼리를 할 수 있습니다.
[03:38]
작성자가 누구인지 물어보겠습니다.
[03:41]
이렇게 타이핑하면
[03:43]
"작성자들은 누구인가요?"
[03:45]
제가 이렇게 타이핑하면
[03:47]
실제로 여기로 들어가는데
[03:49]
제가 지정한 모델과 검색 내용이 있습니다.
[03:51]
이것이 임베딩으로 변환되어
[03:53]
검색할 수 있게 됩니다.
[03:55]
그것이 지금 일어나고 있는 과정이고
[03:57]
여기 결과가 나왔습니다.
[03:59]
작성자들은 Alan Bound, Antonio입니다.
[04:01]
이들이 작성자인지 확인해보겠습니다.
[04:03]
여기 보시죠. 네, 정확히 여기 있는 작성자들입니다.
[04:07]
결과를 얻는 측면에서
[04:09]
훌륭한 성능을 보여주고 있습니다.
[04:11]
이것이 매우 일반적인 것처럼 보일 수 있고
[04:12]
이런 종류의 도구들이 많이 있는 것도 사실입니다.
[04:15]
Notebook LM도 비슷한 기능을 제공한다는 걸 알고 있습니다.
[04:17]
여기서 핵심 차이점은
[04:18]
이 모든 것들을 실제로
[04:20]
API 자체를 통해 가능하게 한다는 것입니다.
[04:22]
앞서 논의했던 5개의 서로 다른 단계들을
[04:25]
모두 만들 필요 없이 말이죠.
[04:28]
이전에는 API의 일부로 이런 것들을 할 수 없었지만
[04:30]
이제는 가능합니다.
[04:32]
여기서 세부사항을 보고 싶으시다면
[04:35]
여기 문서를 보시면
[04:37]
Python과 JavaScript 모두의
[04:39]
모든 코드를 얻을 수 있습니다.
[04:41]
파일 스토어에 업로드하는 방법,
[04:43]
파일을 가져오는 방법을 설명했습니다.
[04:45]
그리고 방금 논의한
[04:46]
청킹 설정도 있습니다.
[04:48]
이것도 변경할 수 있습니다.
[04:50]
AI Studio에 이 모든 기능을
[04:52]
요청했었고
[04:53]
이것이 그 과정입니다.
[04:58]
앞서 논의했던 내용이죠. 지금
[04:59]
보신 것은 전체적인
[05:01]
인덱싱 과정으로
[05:03]
오프라인에서 처리되고
[05:04]
데이터베이스인 파일 스토어에
[05:07]
저장됩니다. 그다음 사용자가
[05:09]
질문을 하면
[05:10]
그 질문이
[05:12]
임베딩으로 변환됩니다. 이 모든
[05:14]
과정이 API의 일부로 처리되어
[05:16]
매우 추상화되어 있습니다.
[05:18]
파일 스토어는 48시간 동안
[05:20]
원본 파일을 참조용으로 보관하지만
[05:22]
파일 검색 스토어
[05:24]
자체는 삭제하기 전까지
[05:25]
계속 유지됩니다. 이것은
[05:26]
중요한 정보죠.
[05:28]
파일 메타데이터와
[05:29]
인용 기능에 대해서도 말씀드렸습니다.
[05:32]
이 커맨드 라인을 추가하면
[05:33]
인용을 제공할 수 있습니다.
[05:35]
지원하는 두 가지 모델이고
[05:36]
지원하는 다양한
[05:38]
애플리케이션 파일들입니다.
[05:40]
정말 광범위하죠. PDF, SQL,
[05:42]
다양한 Microsoft 파일들도
[05:45]
지원합니다. 그리고 이런
[05:46]
다양한 텍스트 파일들도요.
[05:47]
기능이 확장되면서
[05:49]
계속 추가될 것으로 보입니다.
[05:51]
그리고 이것들이 속도 제한입니다.
[05:53]
문서당 최대 파일 크기는 100MB입니다.
[05:56]
전체 프로젝트 파일 검색 스토어에는
[05:58]
다양한 제한이 있습니다. 티어 3는
[06:00]
1TB인데, 꽤 강력한 용량이라고 생각합니다.
[06:02]
이것은 프로젝트 파일 검색 스토어이고
[06:04]
사용자별 또는 사용자 티어별입니다.
[06:06]
다시 말해서, 만약 엔터프라이즈
[06:08]
RAG 관리 시스템을 고려한다면
[06:11]
Vertex AI 같은
[06:12]
다른 솔루션들이 있어서
[06:14]
엔터프라이즈 수준에서
[06:16]
관리 RAG를 제공하지만, 만약
[06:18]
더 작은 애플리케이션을 구축하고 있고
[06:20]
요구사항이 최대 1TB 데이터라면
[06:22]
이는 상당히 큰 용량이므로
[06:24]
API 자체의 일부로
[06:25]
매우 빠르게 처리할 수 있습니다.
[06:27]
모든 것이
[06:29]
Gemini API와 연결되어 있고, 이는
[06:32]
Google Cloud 테넌트와 연결되어 있어서
[06:35]
보안 관점과
[06:36]
기밀성 관점에서의 가드레일을
[06:38]
준수합니다. 이 모든 것들이
[06:40]
자동으로 연결되어 있고
[06:42]
가격도 매우 관대합니다.
[06:43]
스토리지는 무료이고, 쿼리 타임
[06:46]
임베딩도 무료입니다.
[06:48]
여기서 유일한 비용은 인덱싱으로
[06:50]
100만 토큰당 0.15달러입니다.
[06:53]
이것도 매우 관대하다고 생각하며
[06:54]
개발자들이 이런 것들을
[06:56]
구축할 수 있는 많은 가능성을
[06:58]
열어줍니다.
[07:00]
이 내용이 도움이 되었기를 바랍니다.
[07:02]
이 심화 내용으로 파일 검색
[07:04]
도구의 세부사항과
[07:06]
활용 방법에 대해
[07:08]
잘 이해하셨을 것입니다.
[07:10]
문서 링크는 설명란에
[07:12]
남겨두겠습니다.
[07:14]
질문이 있으시면
[07:15]
댓글로 알려주세요.
[07:17]
이 영상이 마음에 들고
[07:19]
도움이 되셨다면
[07:21]
댓글로 알려주시고
[07:23]
좋아요 버튼을 눌러주시고
[07:25]
채널 구독도 부탁드립니다. 정말 감사합니다. 다음 영상에서 뵙겠습니다.