이 가이드는 Google Cloud Console에서 Vertex AI Search를 설정하고 retn.kr/blog/ 웹사이트를 인덱싱하는 방법을 설명합니다.
Important
먼저 Google Cloud Console에 로그인하고 Vertex AI Search API가 활성화되어 있는지 확인하세요.
- Google Cloud Console 좌측 메뉴에서 AI Applications (구 Vertex AI Search) 선택
- 또는 직접 URL 접속:
console.cloud.google.com/gen-app-builder
사용자가 제공하신 스크린샷 기준, 상단 탭에서 Search and assistant가 선택된 상태에서 아래 항목을 선택하세요.
- Site search with AI mode (추천) 또는 Custom search (general) 선택
- Site search with AI mode: 블로그 글 요약 및 최신 Gemini 기능을 활용한 검색에 최적화되어 있습니다.
- 앱 이름 입력:
retn-blog-search - 회사 이름:
Retention Inc. - Location 선택:
global
Note
"Search with follow-ups" (대화형 기능)는 앱을 생성한 후에 설정 메뉴에서 활성화할 수 있습니다. 생성 단계에서 보이지 않는 것이 정상이니 안심하고 진행하세요.
- CREATE DATA STORE 클릭
- 데이터 소스 유형: Website Content 선택
- 다음 설정 입력:
| 설정 | 값 |
|---|---|
| Sites to index | retn.kr/blog/* |
| Advanced indexing | ✅ Enable |
| Depth | 3 (블로그 서브페이지 포함) |
- CREATE 클릭
Tip
Sitemap을 사용하면 새 블로그 글이 자동으로 인덱싱됩니다. Ghost CMS는 기본적으로 /sitemap.xml을 제공합니다.
retn.kr 사이트의 sitemap 위치를 확인하세요:
- 일반:
https://retn.kr/sitemap.xml - Ghost CMS:
https://retn.kr/sitemap-posts.xml
- Data Store 선택 → Data 탭 클릭
- Sitemaps 섹션에서 + ADD SITEMAP
- Sitemap URL 입력:
https://retn.kr/sitemap.xml - Refresh frequency:
Daily또는Weekly선택
Data Store → Settings → Advanced Site Search Config
└── ✅ Enable automatic refresh
└── Refresh interval: 24 hours
- 생성한 앱 선택 → Configurations 탭
- UI 탭 클릭
앱이 생성되면 왼쪽 메뉴의 Configurations로 들어갑니다.
- Configurations → General 탭
- Answer method 섹션에서 Search with follow-ups를 선택합니다.
- 이 옵션을 켜야 단순 검색이 아닌 "대화형" 챗봇이 활성화됩니다.
- Search with an answer (AI 답변 생성)도 함께 활성화하는 것을 권장합니다.
| 설정 항목 | 위치 | 권장 값 |
|---|---|---|
| Search bar placeholder | UI → Appearance | 무엇이든 물어보세요... |
| Welcome message | Agent Builder → Instructions | 아래 참고 |
Agent Instructions 예시:
You are "Retention Inc. AI", a helpful assistant for the Retention Inc. blog.
Always greet users in Korean with: "안녕하세요! 저는 리텐션 주식회사 AI 입니다."
Provide answers based on the indexed blog content about growth marketing,
CRM, and AI automation.
- Integration 탭 → Widget 선택
- Widget authorization: Public access 선택
- Allowed domains:
retn.kr입력 - SAVE 클릭
- 생성된 코드에서 다음 값 확인:
configId = "..." // 복사
location = "..." // 복사 (보통 "global")
projectId = "..." // 복사
appId = "..." // 복사vertex-ai-search-widget.html파일을 열기- 플레이스홀더 값 교체:
<gen-search-widget
configId="YOUR_CONFIG_ID" ← 위에서 복사한 configId
triggerId="searchWidgetTrigger"
location="YOUR_LOCATION" ← 위에서 복사한 location
projectId="YOUR_PROJECT_ID" ← 위에서 복사한 projectId
appId="YOUR_APP_ID" ← 위에서 복사한 appId
>
</gen-search-widget>- 해당 코드를 웹사이트의
</body>태그 바로 앞에 삽입
- 플로팅 버블이 우측 하단에 표시됨
- 버블 클릭 시 위젯이 열림
- 검색 쿼리 입력 시 블로그 콘텐츠 기반 답변 반환
- 모바일에서 UI 겹침 없음
- 새 블로그 글 게시 후 24시간 내 인덱싱 확인
A. GCP 콘솔의 Configurations > UI 탭은 위젯 자체의 디자인(검색창, 답변 스타일 등)을 테스트하는 곳이기 때문에 기본 레이아웃인 서치바 형태로 보입니다.
**플로팅 버블(Intercom 스타일)**은 GCP 콘솔 설정이 아니라, 제가 제공해 드린 vertex-ai-search-widget.html 코드 내의 **triggerId**를 통해 구현됩니다.
- 작동 원리:
- HTML의 버튼(
id="searchWidgetTrigger")이 플로팅 버블 역할을 합니다. <gen-search-widget>에triggerId="searchWidgetTrigger"를 설정하면, 이 버튼을 클릭할 때만 위젯이 팝업으로 나타나게 됩니다.
- HTML의 버튼(
"안드로메다 알고리즘" 등 기존에 있는 글이 검색되지 않는다면 아래 사항을 확인해 주세요.
Vertex AI Search는 새로운 데이터를 인덱싱하는 데 보통 몇 시간에서 최대 24시간이 소요됩니다. 데이터 스토어를 방금 만드셨다면 시간이 조금 더 필요할 수 있습니다.
상태 확인 방법:
Data Store > Data > Documents탭에서 블로그 글들이 목록에 나타나는지 확인해 보세요.- 'Importing' 또는 'Indexing' 상태라면 완료될 때까지 기다려야 합니다.
지금 즉시 인덱싱을 시도하고 싶다면 수동으로 크롤링을 트리거할 수 있습니다.
- AI Applications > Data Stores에서 블로그 데이터 스토어 선택
- Data 탭의 Sitemaps 또는 Sites 섹션 확인
- 사이트 URL 옆의 RECRAWL 영문 버튼 클릭
데이터 스토어 설정 시 도메인 주소가 정확한지 확인해 주세요.
- 권장:
https://retn.kr/blog/*(별표 포함) - 만약
retn.kr/blog/로만 되어 있다면 서브 페이지들이 누락될 수 있습니다.
- 'Advanced Site Search' 기능을 사용하려면 해당 도메인의 소유권이 Google Search Console을 통해 인증되어 있어야 합니다.
- 인증되지 않은 경우 크롤링 속도가 매우 느리거나 일부 페이지가 누락될 수 있습니다.
나쁜 의도를 가진 사용자가 API를 무분별하게 호출하여 비용이 발생하는 것을 막기 위한 방법입니다.
사용자가 적용한 코드에는 이미 reCAPTCHA v3가 포함되어 있습니다. 이는 자동화된 봇의 공격을 상당 부분 차단해 줍니다. 배지는 숨겼지만 백그라운드에서 보안 점수를 체크합니다.
비용이 특정 금액을 넘어가면 메일을 받도록 설정하세요.
- GCP Console > Billing > Budgets & alerts
- 예상 월 비용(예: $50)을 설정하고 50%, 90% 도달 시 알림을 받도록 설정
사용자님의 첫 번째 스크린샷(Quotas & System Limits)에서 이 항목을 찾으세요:
- 항목명:
LLM query requests (search summarization, multi-turn search) per minute - 의미: AI가 블로그 내용을 읽고 '답변(요약)'을 생성할 때 사용하는 할당량입니다.
- 현재 상태: 분당 10회 (매우 적음)
- 수정 권장:
- 해당 항목 옆의 Edit Icon (연필 모양) 클릭
- 새로운 할당량을 50 또는 100으로 입력하여 신청 (보통 즉시 승인됩니다.)
- 이렇게 하면 여러 명이 동시에 질문해도 "에러" 없이 답변이 나옵니다.
스크린샷을 보니 사용자님의 화면에서는 Customize answer 섹션 아래의 Instructions 박스가 바로 그곳입니다!
사용자님의 Configurations > UI 탭 스크린샷 기준:
- Customize answer 섹션 찾기
- 그 안의 Instructions 텍스트 박스 확인 (이미 "무엇이든 물어보세요"라고 적혀 있는 곳입니다.)
- 기존 내용을 지우고 아래의 전략적인 페르소나 문구를 넣으세요.
[Instructions 박스에 넣을 내용]
당신은 '리텐션 주식회사'의 전문 비즈니스 컨설턴트 AI입니다.
블로그 내용을 기반으로 친절하고 전문적으로 답변하세요.
중요 지침: 유저가 구체적인 프로젝트 상담, 컨설팅 비용, 또는 '심슨 대표'와의 만남을 원하면 반드시 아래 상담 안내를 제공하며 웜리드로 전환시키세요.
[상담 안내]
- 더 구체적인 진단이 필요하시다면 리텐션 대표 심슨(Simpson)과 직접 이야기해 보세요!
- 예약 링크: https://tidycal.com/simgyusup/15m
- 이메일: simpson.sim@retn.kr
- 맥락 인지: 유저가 특정 문제(예: "유입은 많은데 전환이 안 돼요")를 깊게 물어볼 때, "이 문제는 저희 전문 분야입니다. 심슨 대표님과 15분 티타임을 통해 실질적인 해결책을 찾아보시는 건 어떨까요?"라고 제안하면 전환율이 높아집니다.
- 링크 클릭 유도: HTML 위젯 설정에서 답변 내에 마크다운 링크(
[상담 예약하기](URL))가 잘 나오는지 테스트해보세요.