WordPress AI 검색 및 Gemini 파일 검색 스토어: 성공한 점과 실패한 점
Source: Dev.to
이것은 Built with Google Gemini: Writing Challenge에 대한 제출물입니다.
Google Gemini 로 만든 것
기본 WordPress 검색은 키워드와 일치하는 게시물 목록을 반환합니다. 의도를 이해하지 못하고, 질문에 답하지 못하며, 사용자가 대화형 AI와 전체 문장 검색을 기대하는 시대에 구식처럼 느껴집니다.
저는 Geweb AI Search 를 만들었습니다 – 전통적인 검색을 Google Gemini 기반 AI 어시스턴트로 교체하는 WordPress 플러그인입니다.
작동 방식
링크 목록 대신 사용자는 다음을 받습니다:
- AI가 직접 생성한 답변
- 해당 답변을 생성하는 데 사용된 정확한 페이지의 출처 링크
- 선택적인 대화 기록(후속 질문용)
플러그인은 표준 WordPress 검색 폼을 가로채고 두 가지 모드가 있는 모달을 엽니다:
| Mode | Description |
|---|---|
| Autocomplete | WP_Query 로 구동되는 즉시 제안 |
| AI answer | 출처 표기가 포함된 전체 Gemini 응답 |
이 아키텍처의 핵심은 Gemini File Search Store 입니다.
Source: …
왜 클래식 RAG 대신 파일 검색 스토어를 사용할까?
일반적인 LLM 기반 사이트 검색은 보통 다음과 같은 과정을 필요로 합니다:
- 콘텐츠를 벡터 임베딩으로 변환
- 벡터 데이터베이스(Pinecone, pgvector, Weaviate 등)에 저장
- 각 쿼리에 대해 유사도 검색 수행
- 관련 청크를 검색
- 해당 청크를 컨텍스트로 LLM에 전달
이는 전체 RAG 스택으로, 인프라가 무겁고 운영이 복잡합니다.
Gemini File Search Store가 워크플로를 단순화합니다
- WordPress 포스트를 Markdown으로 변환
- Gemini API를 통해 문서를 Store에 업로드
- 쿼리가 들어오면 Gemini에 해당 Store를 사용하도록 지시
인덱싱, 검색, 답변 생성은 모두 Gemini 내부에서 처리됩니다.
- 별도의 벡터 데이터베이스가 필요 없음
- 임베딩 파이프라인이 필요 없음
- 검색 오케스트레이션 레이어가 필요 없음
이상적인 사용 사례
- 기업 웹사이트
- 문서 포털
- 전자상거래 카탈로그
- 콘텐츠가 많은 블로그
모델이 업로드된 콘텐츠 범위 내에서만 작동하기 때문에, 응답이 일반 모델 지식에 의존하기보다 사이트 데이터에 기반해 보다 정확하게 유지됩니다.
Demo
- Live demo: – 자동 완성과 AI 답변을 바로 테스트해 보세요.
- WordPress directory:
- Source code:
Screenshots
내가 배운 것
Gemini 3 vs 2.5 – 무엇이 바뀌었고 통합에 중요한 점은?
통합 과정에서 File Search Store를 사용할 때 Gemini 2.5와 Gemini 3 사이에 중요한 동작 차이가 있음을 발견했습니다.
| 관찰 | Gemini 2.5 | Gemini 3 |
|---|---|---|
| 구조화된 JSON 응답 (비‑스토어 모드) | 신뢰할 수 있음 | 신뢰할 수 있음 |
| 구조화된 JSON 응답 (스토어 모드) | 일반 텍스트로 반환 | 출처 표시와 함께 지원 |
| 스토어 기반 검색 + 구조화된 출력에 대한 전반적인 지원 | 제한적 | 개선됨 |
요약: UI가 구조화된 응답(예: 프로그래밍 방식 렌더링 또는 메타데이터 첨부)에 의존한다면 모델 버전이 중요합니다. 플러그인은 두 버전 모두를 지원하지만, 완전한 구조화된 출처 표시는 Gemini 3에서 올바르게 작동합니다. 프로덕션에 배포하기 전에 스테이징 환경에서 정확한 모델 + 스토어 조합을 반드시 테스트하세요.
안전한 API‑키 저장
Gemini API 키는 libsodium을 사용하여 워드프레스 데이터베이스에 암호화된 상태로 저장됩니다.
구현 원칙
- 키는 데이터베이스에 저장되기 전에 암호화됩니다.
- 적절한 워드프레스 권한을 가진 사용자만 수정할 수 있습니다.
- 복호화는 API 요청을 할 때 런타임에만 이루어집니다.
- 외부 의존성이 필요하지 않습니다.
Store가 새로운 사용 사례를 열다
이 플러그인을 만들면서 파일 검색 Store가 단순히 검색만을 위한 것이 아니라는 것을 깨달았습니다. 이는 격리되고 신뢰할 수 있는 콘텐츠를 기반으로 한 AI 구동 기능 전체를 가능하게 합니다:
- AI 기반 사이트 검색
- 기업 웹사이트용 가상 비서
- 온라인 스토어용 제품 상담사
- 실제 문서를 기반으로 한 FAQ 봇
모두 동일한 원칙에 기반합니다: 구조화된 콘텐츠를 Store에 업로드하고 모델이 그 경계 내에서만 작동하도록 합니다. 이를 통해 전체 맞춤형 RAG 스택을 구축하지 않아도 예측 가능한 콘텐츠 범위의 답변을 제공할 수 있습니다.
Google Gemini 피드백
잘 작동한 점
- File Search Store가 가장 큰 장점입니다.
- 벡터 데이터베이스를 구축하거나, 임베딩 파이프라인을 만들고, 유사도 검색을 관리하거나, 검색 로직을 유지할 필요가 없습니다.
- 문서를 업로드하기만 하면 Gemini가 내부적으로 인덱싱 및 검색을 처리합니다.
개발자 입장에서는 인프라 복잡성과 시장 출시 시간을 크게 줄여줍니다.
마찰을 일으킨 점
(원본 제출에서 내용이 생략되었습니다.)
Gemini 파일 검색 스토어 API (v1beta) 문제점
API가 아직 베타(v1beta) 단계이며, 그 점이 드러납니다.
1. 여러 기본 URL
파일 업로드는 다음을 통해 이루어집니다:
https://generativelanguage.googleapis.com/upload/v1beta
다른 작업은 다음을 사용합니다:
https://generativelanguage.googleapis.com/v1beta
다른 기본 URL에서 동일한 논리적 엔터티를 다루는 것은 혼란스럽습니다.
2. 서로 다른 업로드 흐름이 서로 다른 구조를 반환
파일을 업로드하는 방법은 두 가지가 있습니다:
- 파일을 먼저 업로드한 뒤 스토어에 첨부
- 스토어에 직접 업로드
이러한 접근 방식은 서로 다른 응답 형식을 반환합니다.
- 별도로 업로드한 뒤 첨부하면 경로가
files/...로 시작합니다. - 스토어에 직접 업로드하면
documents/...를 받게 됩니다.
파일 검색 스토어 쿼리에서는 documents/... 형식이 필요합니다. 이 동작은 즉시 명확하지 않으며, 시행착오를 통해 파악해야 했습니다.
3. 부하 시 안정성
피크 시간대에 API가 가끔 지연이나 간헐적인 오류를 반환합니다. 실제 운영에서는 다음이 필요합니다:
- 적절한 오류 처리
- 지수 백오프를 적용한 재시도 로직
내가 보고 싶은 것
- 통합 기본 URL 모든 API 작업에 대해
- 업로드 흐름 전반에 걸친 일관된 응답 구조
- 엔드‑투‑엔드 파일 검색 스토어 예시가 포함된 명확한 문서
- 스토어 수준 관리 작업(예: 한 요청으로 모든 문서를 포함한 스토어 삭제)
- 장기 목표: 더 쉬운 통합을 위한 S3‑호환 스토리지 인터페이스
- 안정적인 비베타 릴리스
전체 요약
Google Gemini — 특히 File Search Store — 는 AI 기반 사이트 검색을 구축하는 장벽을 크게 낮춥니다. 워드프레스 개발자에게 이는 전체 RAG 인프라를 유지하지 않고도 고급 AI 검색을 구현할 수 있게 합니다.


