데이터 스토어 구성
비정형/정형/웹사이트/커넥터 기반 데이터 스토어를 만들고 색인하는 방법
App에서 사용할 데이터 스토어(Data Store)를 만들고 색인하는 절차입니다.
목차
1. 데이터 스토어 유형 선택
| 유형 | 입력 |
|---|---|
| Unstructured documents | PDF, DOCX, PPTX, HTML, TXT (GCS 또는 직접 업로드) |
| Structured data | BigQuery 테이블, JSONL |
| Website | 사이트맵 또는 도메인 |
| Third-party (Connector) | Drive, Confluence, Jira, SharePoint 등 |
동일 App 안에서 여러 데이터 스토어를 결합할 수 있습니다. 민감도/부서별로 분리하는 것을 권장합니다.
2. GCS 비정형 문서 색인
2.1 GCS 버킷 준비
# 버킷 생성
gsutil mb -l us-central1 gs://acme-gemini-docs
# 문서 업로드
gsutil -m cp -r ./documents/* gs://acme-gemini-docs/
2.2 데이터 스토어 생성 (콘솔)
- [Data Stores] → [Create data store]
- Cloud Storage 선택
- 버킷 경로 입력:
gs://acme-gemini-docs/ - Document parsing
| 옵션 | 설명 |
|---|---|
| Default | 일반 문서에 적합 |
| Layout parser | 표·헤더 많은 PDF 권장 |
| OCR | 이미지/스캔본 |
- Advanced indexing 활성화 (검색 품질 향상)
- [Create] 후 색인 완료까지 대기 (수 분~수 시간)
2.3 진행 상태 확인
# Discovery Engine REST API로 색인 상태 조회
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://discoveryengine.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/collections/default_collection/dataStores/${DATA_STORE_ID}/documents"
3. BigQuery 정형 데이터 색인
-- 색인할 테이블 예시
CREATE TABLE `acme-gemini-prod.kb.faq` (
id STRING,
title STRING,
content STRING,
updated_at TIMESTAMP
);
데이터 스토어 생성
- Structured data → BigQuery 선택
- 테이블 경로:
acme-gemini-prod.kb.faq - Schema mapping에서
title,content등 핵심 필드 지정 - 동기화 주기 설정 (실시간/주기적)
정형 데이터는 검색 결과의 필터링·패싯(facet)에 강합니다. 카탈로그·FAQ·제품 정보에 적합합니다.
4. SaaS 커넥터 색인
대표 예시: Confluence Cloud
- Connector → Confluence 선택
- OAuth 인증
| 항목 | 값 |
|---|---|
| Authorization URL | https://auth.atlassian.com/authorize |
| Token URL | https://auth.atlassian.com/oauth/token |
| Client ID / Secret | Atlassian Developer Console에서 발급 |
| Scopes | read:confluence-content.all, read:confluence-user |
- 색인할 Space 선택
- Sync schedule: 1시간 주기 권장
- ACL ingestion 활성화 → 권한 인지 검색 사용
커넥터 인증 정보는 Secret Manager에 보관하고 회전 정책을 적용합니다.
5. 색인 옵션 튜닝
| 옵션 | 효과 | 비고 |
|---|---|---|
| Advanced indexing | 의미 기반 검색 품질 향상 | 비용 ↑ |
| Layout parser | PDF 표/헤더 정확도 향상 | 처리 시간 ↑ |
| Chunking strategy | 컨텍스트 길이 최적화 | 도메인별 튜닝 필요 |
| Boost / Bury | 특정 문서 가중치 조정 | A/B 테스트 권장 |
| Synonym dictionary | 사내 약어/별칭 매핑 | 검색 적합도 향상 |
흔히 쓰이는 시노님 예시
ko-synonyms.txt
---------------
KPI, 핵심성과지표
QBR, 분기경영회의
PoC, Proof of Concept, 개념검증