# 벡터DB 임베딩용 관련자료 샘플 데이터 **작성일**: 2025-01-22 **버전**: v1.0 **작성자**: AI 개발팀 --- ## 1. 개요 ### 1.1 목적 회의록 작성 시 AI가 참조할 수 있는 관련 자료를 벡터DB에 임베딩하여, 맥락 기반 용어 설명 및 관련 회의록 자동 연결 기능을 제공하기 위한 샘플 데이터를 생성합니다. ### 1.2 데이터 구성 - **도메인**: 통신 업무 도메인 15개 - **데이터 소스 유형**: 4가지 (이전 회의록, 조직문서, 프로젝트 문서, 운영문서) - **샘플 개수**: 각 도메인별 × 각 소스별 5개 = **총 300개** --- ## 2. 통신 업무 도메인 (15개) | 번호 | 도메인 | 설명 | |------|--------|------| | 1 | 네트워크 인프라 | 네트워크 구축 및 운영, 유무선 통신망 관리, 5G/LTE, 기지국 | | 2 | 기술 개발 및 연구 | 신기술 연구개발, AI/빅데이터, IoT, 클라우드 기술 | | 3 | 고객 서비스 | 고객 상담 및 지원, VoC 관리, 서비스 품질 관리 | | 4 | 영업 및 마케팅 | 요금제 기획, 프로모션, 유통채널 관리, B2B/B2C 영업 | | 5 | 요금 및 청구 | 요금 청구 시스템, 과금 관리, 미수금 관리, 정산 업무 | | 6 | 네트워크 운용 | 네트워크 모니터링, 장애 대응 및 복구, 품질 최적화 | | 7 | 서비스 기획 및 상품 개발 | 신규 서비스 기획, 요금제 설계, 콘텐츠 서비스 | | 8 | 정보보안 | 통신 보안, 개인정보 보호, 사이버 보안, 보안 정책 수립 | | 9 | 시스템 운영 및 관리 | IT 시스템 운영, 데이터센터 관리, 클라우드 인프라 | | 10 | 가입자 관리 | 가입자 정보 관리, 번호 이동, 개통 및 해지, 명의 변경 | | 11 | 망 품질 관리 | 통신 품질 측정, 품질 개선, 서비스 레벨 관리 | | 12 | 규제 대응 및 준법 | 통신 규제 대응, 법률 준수, 정부 정책 대응 | | 13 | 기업 영업 | B2B 솔루션, 전용선 서비스, AICC, 데이터센터 서비스 | | 14 | 로밍 및 국제 업무 | 국제 로밍 서비스, 해외 통신사 제휴, 국제 전화 서비스 | | 15 | 신사업 | OTT 서비스, 콘텐츠 사업, 핀테크, 스마트홈/IoT 서비스 | --- ## 3. 데이터 소스 유형 (4가지) ### 3.1 이전 회의록 (meeting_minutes) **형식**: - 회의 제목, 일시, 참석자 - 논의 내용, 결정 사항, 액션 아이템 **예시 토픽**: - 프로젝트 킥오프, 월간 리뷰, 장애 대응, 정책 수립 **메타데이터**: - 회의 유형, 참석자 목록, 태그 ### 3.2 조직문서 (manual) **유형**: - 업무 매뉴얼, 정책 및 규정, 표준화 문서 **예시**: - 프로세스 가이드, 보안 정책, 업무 표준 **메타데이터**: - 문서 카테고리, 버전, 승인자 ### 3.3 프로젝트 문서 (project_doc) **유형**: - 요구사항 정의서, 설계 문서, 수행 결과서 **예시**: - 프로젝트 계획서, 기술 설계서, 완료 보고서 **메타데이터**: - 프로젝트명, 단계, 담당자 ### 3.4 운영문서 (operation_doc) **유형**: - 장애 보고서, 고객 응대 문서 **예시**: - 장애 분석 보고서, 고객 이슈 처리 가이드 **메타데이터**: - 심각도, 영향 범위, 해결 상태 --- ## 4. 데이터 구조 ### 4.1 JSON 스키마 ```json { "document_id": "도메인명_소스유형_일련번호", "document_type": "meeting_minutes|manual|project_doc|operation_doc", "title": "문서 제목", "content": "실제 문서 내용 (500-1000자)", "metadata": { "domain": "도메인명", "date": "YYYY-MM-DD", "author": "작성자명", "tags": ["태그1", "태그2", "태그3"], "organization_id": "org_telecom_001", "folder_id": "folder_도메인명" } } ``` ### 4.2 필드 설명 | 필드 | 타입 | 설명 | |------|------|------| | document_id | string | 문서 고유 식별자 | | document_type | enum | 문서 유형 (4가지 중 1개) | | title | string | 문서 제목 | | content | text | 실제 문서 내용 (청킹 대상) | | metadata.domain | string | 업무 도메인 | | metadata.date | date | 작성일 (2024-01-01 ~ 2025-01-22) | | metadata.author | string | 작성자명 | | metadata.tags | array | 태그 배열 (3-5개) | | metadata.organization_id | string | 조직 ID | | metadata.folder_id | string | 폴더 ID | --- ## 5. 샘플 데이터 생성 방법 ### 5.1 자동 생성 스크립트 **위치**: `tools/generate_vector_samples.py` **실행 방법**: ```bash # Windows PowerShell 또는 CMD에서 실행 cd C:\Users\hiond\home\workspace\HGZero python tools\generate_vector_samples.py ``` **출력 파일**: `data/samples/vector_db_samples_300.json` ### 5.2 생성 로직 #### 도메인별 키워드 매핑 각 도메인마다 관련 키워드 및 토픽을 정의하여 실제 통신 업무 상황을 반영합니다. **예시** (네트워크 인프라): - **키워드**: 5G, LTE, 기지국, 광케이블, RAN, 코어망, 백홀, 전송망 - **토픽**: 5G 구축, 기지국 설치, 망 이중화, 광케이블 교체, 커버리지 확대 #### 랜덤 요소 - 날짜: 2024-01-01 ~ 2025-01-22 범위에서 랜덤 선택 - 작성자: 16명의 작성자 풀에서 랜덤 선택 - 키워드 조합: 각 문서마다 2-3개 키워드를 랜덤 조합 #### 템플릿 기반 생성 각 문서 유형별로 표준 템플릿을 정의하고, 도메인 및 키워드를 치환하여 실제 문서처럼 생성합니다. --- ## 6. 생성 통계 ### 6.1 전체 통계 - **총 샘플 개수**: 300개 - **도메인별**: 각 20개 (15개 도메인) - **소스별**: 각 75개 (4가지 소스) ### 6.2 문서 유형별 분포 | 문서 유형 | 개수 | 비율 | |-----------|------|------| | 이전 회의록 (meeting_minutes) | 75개 | 25% | | 조직문서 (manual) | 75개 | 25% | | 프로젝트 문서 (project_doc) | 75개 | 25% | | 운영문서 (operation_doc) | 75개 | 25% | | **합계** | **300개** | **100%** | ### 6.3 도메인별 분포 | 도메인 | 회의록 | 매뉴얼 | 프로젝트 | 운영 | 합계 | |--------|--------|--------|----------|------|------| | 네트워크 인프라 | 5 | 5 | 5 | 5 | 20 | | 기술 개발 및 연구 | 5 | 5 | 5 | 5 | 20 | | 고객 서비스 | 5 | 5 | 5 | 5 | 20 | | 영업 및 마케팅 | 5 | 5 | 5 | 5 | 20 | | 요금 및 청구 | 5 | 5 | 5 | 5 | 20 | | 네트워크 운용 | 5 | 5 | 5 | 5 | 20 | | 서비스 기획 및 상품 개발 | 5 | 5 | 5 | 5 | 20 | | 정보보안 | 5 | 5 | 5 | 5 | 20 | | 시스템 운영 및 관리 | 5 | 5 | 5 | 5 | 20 | | 가입자 관리 | 5 | 5 | 5 | 5 | 20 | | 망 품질 관리 | 5 | 5 | 5 | 5 | 20 | | 규제 대응 및 준법 | 5 | 5 | 5 | 5 | 20 | | 기업 영업 | 5 | 5 | 5 | 5 | 20 | | 로밍 및 국제 업무 | 5 | 5 | 5 | 5 | 20 | | 신사업 | 5 | 5 | 5 | 5 | 20 | | **합계** | **75** | **75** | **75** | **75** | **300** | --- ## 7. 벡터DB 임베딩 프로세스 ### 7.1 데이터 정제 1. **텍스트 정제**: HTML 태그 제거, 특수문자 정규화 2. **청킹**: 문서를 1000 토큰 단위로 분할 (200 토큰 오버랩) 3. **메타데이터 추출**: JSON 메타데이터 파싱 ### 7.2 벡터화 - **임베딩 모델**: text-embedding-3-small (OpenAI) - **차원**: 1536 - **비용**: $0.02 / 1M 토큰 ### 7.3 PostgreSQL + pgvector 적재 ```sql INSERT INTO document_chunks ( document_id, chunk_index, content, embedding, metadata, organization_id ) VALUES (?, ?, ?, ?, ?, ?); ``` --- ## 8. 활용 방안 ### 8.1 맥락 기반 용어 설명 1. 회의록 작성 중 전문 용어 감지 2. Vector DB에서 유사도 검색 (Top-5) 3. Claude AI에게 맥락 기반 설명 요청 ### 8.2 관련 회의록 자동 연결 1. 현재 회의록 내용 벡터화 2. Vector DB에서 유사 회의록 검색 3. 관련도 점수 계산 (70% 이상) 4. 최대 5개 회의록 자동 연결 ### 8.3 대시보드 참고자료 - 관련 회의록 탭: 유사 회의록 목록 - 프로젝트 문서 탭: 관련 프로젝트 문서 - 조직 문서 탭: 관련 매뉴얼 및 정책 --- ## 9. 품질 검증 ### 9.1 데이터 품질 기준 - **실무 반영도**: 실제 통신 업무 용어 및 상황 반영 여부 - **일관성**: 도메인 및 문서 유형별 일관성 유지 - **다양성**: 키워드 및 토픽의 다양성 확보 ### 9.2 검증 방법 1. **샘플링 검사**: 각 도메인별 1-2개 샘플 수동 검토 2. **키워드 분석**: 도메인 관련 키워드 포함 여부 확인 3. **메타데이터 검증**: 필수 필드 누락 여부 확인 --- ## 10. 향후 계획 ### 10.1 데이터 확장 - **단계 1** (현재): 300개 샘플 (도메인별 × 소스별 5개) - **단계 2** (Phase 1 완료 후): 600개 샘플 (도메인별 × 소스별 10개) - **단계 3** (Phase 2 이후): 1,500개 샘플 (도메인별 × 소스별 25개) ### 10.2 품질 개선 - 실제 회의록 데이터 반영 - 도메인 전문가 검토 및 피드백 반영 - 사용자 피드백 기반 지속 업데이트 --- ## 11. 참고 자료 ### 11.1 관련 문서 - [회의 주제 관련 자료 수집 및 Claude AI 연동 구현 방안](../구현방안-관련자료.md) - [ADR-001: Vector Database 및 Embedding 통합 아키텍처](../ADR-001-Vector-DB-통합아키텍처.md) - [통신업무도메인](../../reference/통신업무도메인.md) ### 11.2 기술 스택 - **Vector DB**: PostgreSQL + pgvector - **Embedding**: OpenAI text-embedding-3-small (1536 dim) - **검색**: 하이브리드 (벡터 유사도 + 키워드 매칭) - **캐싱**: Redis + Claude Prompt Cache --- **문서 버전**: v1.0 **최종 수정**: 2025-01-22 **담당자**: AI 개발팀