[{"data":1,"prerenderedAt":1878},["ShallowReactive",2],{"nav-docs":3,"page-/ko/docs/admin/knowledge/qdrant":985,"surround-/ko/docs/admin/knowledge/qdrant":1872,"raw-/ko/docs/admin/knowledge/qdrant":1875},[4,56,290,627,734,878,911,968],{"title":5,"path":6,"stem":7,"children":8,"page":55},"스페이스빌더 시작하기","/getting-started","00.getting-started",[9,13,17,23,29,33,38,42,46,50],{"title":10,"path":11,"stem":12,"children":-1},"스페이스빌더 소개","/getting-started/overview","00.getting-started/00.overview",{"title":14,"path":15,"stem":16,"children":-1},"SetFN 계정 생성","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account",{"title":18,"path":19,"stem":20,"tags":21,"children":-1},"Linux에 설치하기","/getting-started/install-linux","00.getting-started/10.install-linux",[22],"recommended",{"title":24,"path":25,"stem":26,"tags":27,"children":-1},"Docker로 설치하기","/getting-started/install-docker","00.getting-started/12.install-docker",[28],"preparing",{"title":30,"path":31,"stem":32,"children":-1},"Windows에 설치하기","/getting-started/install-windows","00.getting-started/14.install-windows",{"title":34,"path":35,"stem":36,"tags":37,"children":-1},"macOS에 설치하기","/getting-started/install-macos","00.getting-started/16.install-macos",[28],{"title":39,"path":40,"stem":41,"children":-1},"초기 설정","/getting-started/initial-setup","00.getting-started/20.initial-setup",{"title":43,"path":44,"stem":45,"children":-1},"라이선스 활성화","/getting-started/license-activation","00.getting-started/30.license-activation",{"title":47,"path":48,"stem":49,"children":-1},"접속 주소 확인 (로컬/내부망)","/getting-started/access-url","00.getting-started/35.access-url",{"title":51,"path":52,"stem":53,"tags":54,"children":-1},"외부 접속 방식 선택","/getting-started/access-domain","00.getting-started/40.access-domain",[22],false,{"title":57,"path":58,"stem":59,"children":60,"page":55},"스페이스 관리하기","/admin","10.admin",[61,76,134,163,202,224,237,244,273],{"title":62,"path":63,"stem":64,"children":65,"page":-1},"관리자 홈","/admin/home","10.admin/00.home/00.index",[66,68,72],{"title":67,"path":63,"stem":64,"children":-1},"관리자 메뉴 둘러보기",{"title":69,"path":70,"stem":71,"children":-1},"관리자 페이지 접속","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access",{"title":73,"path":74,"stem":75,"children":-1},"라이선스 관리","/admin/home/license","10.admin/00.home/20.license",{"title":77,"path":78,"stem":79,"children":80,"page":55},"사용자 관리","/admin/user-management","10.admin/10.user-management",[81,85,91,95,99,103,107,111,115,119,124,129],{"title":82,"path":83,"stem":84,"children":-1},"가입 정책 및 기본 권한 설정하기","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy",{"title":86,"path":87,"stem":88,"tags":89,"children":-1},"가입 약관 등록하기","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms",[90],"new",{"title":92,"path":93,"stem":94,"children":-1},"사용자 계정 만들기","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member",{"title":96,"path":97,"stem":98,"children":-1},"사용자 계정 수정하기","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member",{"title":100,"path":101,"stem":102,"children":-1},"관리자 추가하기","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin",{"title":104,"path":105,"stem":106,"children":-1},"팀 관리","/admin/user-management/team","10.admin/10.user-management/22.team",{"title":108,"path":109,"stem":110,"children":-1},"레벨 관리","/admin/user-management/level","10.admin/10.user-management/24.level",{"title":112,"path":113,"stem":114,"children":-1},"접속 기록 확인하기","/admin/user-management/access-log","10.admin/10.user-management/30.access-log",{"title":116,"path":117,"stem":118,"children":-1},"계정·보안 정책 설정하기","/admin/user-management/account-security","10.admin/10.user-management/32.account-security",{"title":120,"path":121,"stem":122,"tags":123,"children":-1},"로봇 확인(CAPTCHA) 설정하기","/admin/user-management/captcha","10.admin/10.user-management/33.captcha",[90],{"title":125,"path":126,"stem":127,"tags":128,"children":-1},"안내 발송 설정하기","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings",[90],{"title":130,"path":131,"stem":132,"tags":133,"children":-1},"회원에게 단체 안내 메일 보내기","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail",[90],{"title":135,"path":136,"stem":137,"children":138,"page":55},"서비스 구성","/admin/service-config","10.admin/20.service-config",[139,143,147,151,155,159],{"title":140,"path":141,"stem":142,"children":-1},"파일 영역 설정","/admin/service-config/file-area","10.admin/20.service-config/10.file-area",{"title":144,"path":145,"stem":146,"children":-1},"웹훅 설정","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings",{"title":148,"path":149,"stem":150,"children":-1},"커뮤니티 설정","/admin/service-config/community-space","10.admin/20.service-config/22.community-space",{"title":152,"path":153,"stem":154,"children":-1},"AI 챗봇 정책 설정","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot",{"title":156,"path":157,"stem":158,"children":-1},"메일 설정","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings",{"title":160,"path":161,"stem":162,"children":-1},"브랜딩 설정","/admin/service-config/brand","10.admin/20.service-config/40.brand",{"title":164,"path":165,"stem":166,"children":167,"page":55},"지식 서비스","/admin/knowledge","10.admin/30.knowledge",[168,172,178,182,186,190,194,198],{"title":169,"path":170,"stem":171,"children":-1},"지식 서비스 살펴보기","/admin/knowledge/overview","10.admin/30.knowledge/00.overview",{"title":173,"path":174,"stem":175,"children":176},"수집·인덱싱","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[177],{"title":173,"path":174,"stem":175,"children":-1},{"title":179,"path":180,"stem":181,"children":-1},"검색 관리","/admin/knowledge/search","10.admin/30.knowledge/20.search",{"title":183,"path":184,"stem":185,"children":-1},"지식 저장소","/admin/knowledge/storage","10.admin/30.knowledge/30.storage",{"title":187,"path":188,"stem":189,"children":-1},"지식 저장소 운영하기","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations",{"title":191,"path":192,"stem":193,"children":-1},"Qdrant 연결","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant",{"title":195,"path":196,"stem":197,"children":-1},"Qdrant 서버 준비하기","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup",{"title":199,"path":200,"stem":201,"children":-1},"Milvus 연결","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus",{"title":203,"path":204,"stem":205,"children":206,"page":55},"AI 서비스","/admin/ai","10.admin/35.ai",[207,211,215,220],{"title":208,"path":209,"stem":210,"children":-1},"AI 서비스 관리하기","/admin/ai/overview","10.admin/35.ai/00.overview",{"title":212,"path":213,"stem":214,"children":-1},"모델·런타임 설정하기","/admin/ai/models","10.admin/35.ai/10.models",{"title":216,"path":217,"stem":218,"tags":219,"children":-1},"도구·연동 설정하기","/admin/ai/integrations","10.admin/35.ai/20.integrations",[90],{"title":221,"path":222,"stem":223,"children":-1},"MCP 서버 관리하기","/admin/ai/mcp","10.admin/35.ai/30.mcp",{"title":225,"path":226,"stem":227,"children":228,"page":55},"플러그인","/admin/plugin","10.admin/40.plugin",[229,233],{"title":230,"path":231,"stem":232,"children":-1},"플러그인 관리하기","/admin/plugin/overview","10.admin/40.plugin/00.overview",{"title":234,"path":235,"stem":236,"children":-1},"확장 플러그인 설정","/admin/plugin/settings","10.admin/40.plugin/10.settings",{"title":238,"path":239,"stem":240,"children":241,"tags":243},"운영·감사 기록 확인하기","/admin/operations","10.admin/45.operations/00.index",[242],{"title":238,"path":239,"stem":240,"tags":243,"children":-1},[90],{"title":245,"path":246,"stem":247,"children":248,"page":55},"보안 관리","/admin/security","10.admin/50.security",[249,253,257,261,265,269],{"title":250,"path":251,"stem":252,"children":-1},"보안 개요","/admin/security/overview","10.admin/50.security/00.overview",{"title":254,"path":255,"stem":256,"children":-1},"감사 로그 확인하기","/admin/security/audit-log","10.admin/50.security/05.audit-log",{"title":258,"path":259,"stem":260,"children":-1},"차단 관리","/admin/security/block-management","10.admin/50.security/10.block-management",{"title":262,"path":263,"stem":264,"children":-1},"보안 설정","/admin/security/security-setting","10.admin/50.security/12.security-setting",{"title":266,"path":267,"stem":268,"children":-1},"승인 대기 기기 처리하기","/admin/security/device-approvals","10.admin/50.security/14.device-approvals",{"title":270,"path":271,"stem":272,"children":-1},"IP 접근 제한","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction",{"title":274,"path":275,"stem":276,"children":277,"page":55},"시스템 관리","/admin/system-admin","10.admin/60.system-admin",[278,282,286],{"title":279,"path":280,"stem":281,"children":-1},"디바이스 정보","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info",{"title":283,"path":284,"stem":285,"children":-1},"서버 재시작 및 시스템 유지보수","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart",{"title":287,"path":288,"stem":289,"children":-1},"백그라운드 서비스","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service",{"title":291,"path":292,"stem":293,"children":294,"page":55},"워크스페이스 사용하기","/workspace","20.workspace",[295,328,345,416,532,579,609],{"title":296,"path":297,"stem":298,"children":299,"page":55},"메뉴","/workspace/menu","20.workspace/05.menu",[300,304,308,312,316,320,324],{"title":301,"path":302,"stem":303,"children":-1},"워크스페이스 소개","/workspace/menu/overview","20.workspace/05.menu/00.overview",{"title":305,"path":306,"stem":307,"children":-1},"팀 스페이스","/workspace/menu/team-space","20.workspace/05.menu/05.team-space",{"title":309,"path":310,"stem":311,"children":-1},"클라이언트 스페이스","/workspace/menu/client-space","20.workspace/05.menu/06.client-space",{"title":313,"path":314,"stem":315,"children":-1},"즐겨찾기","/workspace/menu/favorites","20.workspace/05.menu/10.favorites",{"title":317,"path":318,"stem":319,"children":-1},"최근 문서","/workspace/menu/recent","20.workspace/05.menu/20.recent",{"title":321,"path":322,"stem":323,"children":-1},"외부 공유","/workspace/menu/external-share","20.workspace/05.menu/30.external-share",{"title":325,"path":326,"stem":327,"children":-1},"휴지통","/workspace/menu/trash","20.workspace/05.menu/40.trash",{"title":329,"path":330,"stem":331,"children":332,"page":55},"계정","/workspace/account","20.workspace/10.account",[333,337,341],{"title":334,"path":335,"stem":336,"children":-1},"회원가입 및 로그인","/workspace/account/signup","20.workspace/10.account/10.signup",{"title":338,"path":339,"stem":340,"children":-1},"비밀번호 재설정","/workspace/account/reset-password","20.workspace/10.account/20.reset-password",{"title":342,"path":343,"stem":344,"children":-1},"계정 설정","/workspace/account/account-settings","20.workspace/10.account/30.account-settings",{"title":346,"path":347,"stem":348,"children":349,"page":55},"폴더","/workspace/folder","20.workspace/20.folder",[350,354,358,362,366,372,377,381,385,390,394,398,402,406,412],{"title":351,"path":352,"stem":353,"children":-1},"폴더 기본 기능","/workspace/folder/basic","20.workspace/20.folder/10.basic",{"title":355,"path":356,"stem":357,"children":-1},"여러 폴더 한꺼번에 만들기","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation",{"title":359,"path":360,"stem":361,"children":-1},"필터","/workspace/folder/filter","20.workspace/20.folder/13.filter",{"title":363,"path":364,"stem":365,"children":-1},"폴더 보기 옵션 설정","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options",{"title":367,"path":368,"stem":369,"tags":370,"children":-1},"폴더를 게시판으로 사용하기","/workspace/folder/board-view","20.workspace/20.folder/15.board-view",[371],"hot",{"title":373,"path":374,"stem":375,"tags":376,"children":-1},"폴더 웹 보기","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view",[371],{"title":378,"path":379,"stem":380,"children":-1},"폴더 정리","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize",{"title":382,"path":383,"stem":384,"children":-1},"폴더 공지 (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme",{"title":386,"path":387,"stem":388,"tags":389,"children":-1},"폴더/파일 목록 내보내기","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export",[371],{"title":391,"path":392,"stem":393,"children":-1},"레벨별 접근 권한 설정","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions",{"title":395,"path":396,"stem":397,"children":-1},"팀별 접근 권한 설정","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions",{"title":399,"path":400,"stem":401,"children":-1},"파일 규칙 설정하기","/workspace/folder/file-rules","20.workspace/20.folder/28.file-rules",{"title":403,"path":404,"stem":405,"children":-1},"폴더 웹훅","/workspace/folder/webhook","20.workspace/20.folder/30.webhook",{"title":407,"path":408,"stem":409,"children":410},"폴더 지식인덱스 설정하기","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[411],{"title":407,"path":408,"stem":409,"children":-1},{"title":413,"path":414,"stem":415,"children":-1},"업무 자동화 폴더","/workspace/folder/automation","20.workspace/20.folder/40.automation",{"title":417,"path":418,"stem":419,"children":420,"page":55},"파일","/workspace/file","20.workspace/30.file",[421,425,430,434,438,442,446,450,454,459,463,467,472,476,480,484,488,492,496,500,504,508,512,516,520,524,528],{"title":422,"path":423,"stem":424,"children":-1},"파일 관리 기본 기능","/workspace/file/overview","20.workspace/30.file/00.overview",{"title":426,"path":427,"stem":428,"tags":429,"children":-1},"파일 보면서 목록 확인하기","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file",[371],{"title":431,"path":432,"stem":433,"children":-1},"마크다운, 텍스트 파일 보기 및 편집","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer",{"title":435,"path":436,"stem":437,"children":-1},"HTML 파일 보기","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer",{"title":439,"path":440,"stem":441,"children":-1},"CSV 파일 보기 및 편집","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer",{"title":443,"path":444,"stem":445,"children":-1},"이미지/동영상 파일 보기","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer",{"title":447,"path":448,"stem":449,"children":-1},"오피스/PDF 파일 보기","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer",{"title":451,"path":452,"stem":453,"children":-1},"웹페이지 붙여넣기 (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html",{"title":455,"path":456,"stem":457,"tags":458,"children":-1},"스크린샷 붙여넣기","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot",[371],{"title":460,"path":461,"stem":462,"children":-1},"마크다운 붙여넣기 (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md",{"title":464,"path":465,"stem":466,"children":-1},"스크린 녹화하기","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording",{"title":468,"path":469,"stem":470,"tags":471,"children":-1},"빠른노트","/workspace/file/quick-note","20.workspace/30.file/24.quick-note",[90,371],{"title":473,"path":474,"stem":475,"children":-1},"파일 태그","/workspace/file/file-tag","20.workspace/30.file/33.file-tag",{"title":477,"path":478,"stem":479,"children":-1},"파일 이름 일괄 변경","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise",{"title":481,"path":482,"stem":483,"children":-1},"파일 변환","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview",{"title":485,"path":486,"stem":487,"children":-1},"템플릿 파일","/workspace/file/templates","20.workspace/30.file/41.templates",{"title":489,"path":490,"stem":491,"children":-1},"할일 목록 (Todo)","/workspace/file/template-todo","20.workspace/30.file/42.template-todo",{"title":493,"path":494,"stem":495,"children":-1},"결재 서식","/workspace/file/template-approval","20.workspace/30.file/43.template-approval",{"title":497,"path":498,"stem":499,"children":-1},"칸반 보드","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban",{"title":501,"path":502,"stem":503,"children":-1},"타임라인","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline",{"title":505,"path":506,"stem":507,"children":-1},"메모장","/workspace/file/template-memo","20.workspace/30.file/46.template-memo",{"title":509,"path":510,"stem":511,"children":-1},"AI 채팅 파일","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":513,"path":514,"stem":515,"children":-1},"파일 변경 기록 확인","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail",{"title":517,"path":518,"stem":519,"children":-1},"파일 버전 관리","/workspace/file/version-trail","20.workspace/30.file/51.version-trail",{"title":521,"path":522,"stem":523,"children":-1},"편집 잠금","/workspace/file/file-lock","20.workspace/30.file/52.file-lock",{"title":525,"path":526,"stem":527,"children":-1},"파일 암호화","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt",{"title":529,"path":530,"stem":531,"children":-1},"디스크 파일 등록","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration",{"title":533,"path":534,"stem":535,"children":536,"page":55},"협업","/workspace/cooperation","20.workspace/35.cooperation",[537,541,545,549,554,558,562,566,571,575],{"title":538,"path":539,"stem":540,"children":-1},"파일·폴더 댓글","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments",{"title":542,"path":543,"stem":544,"children":-1},"채팅","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat",{"title":546,"path":547,"stem":548,"children":-1},"협업 채팅 및 편집 잠금","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat",{"title":550,"path":551,"stem":552,"tags":553,"children":-1},"팀원 작업 위치 따라가기","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location",[371],{"title":555,"path":556,"stem":557,"children":-1},"멘션","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention",{"title":559,"path":560,"stem":561,"children":-1},"쪽지","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm",{"title":563,"path":564,"stem":565,"children":-1},"알림 보관함","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox",{"title":567,"path":568,"stem":569,"tags":570,"children":-1},"팀 활동 확인하기","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity",[371],{"title":572,"path":573,"stem":574,"children":-1},"외부 공유 링크 만들기","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",{"title":576,"path":577,"stem":578,"children":-1},"외부 공유 이메일 전송","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email",{"title":580,"path":581,"stem":582,"children":583,"page":55},"검색","/workspace/search","20.workspace/40.search",[584,588,593,597,601,605],{"title":585,"path":586,"stem":587,"children":-1},"파일 검색","/workspace/search/search","20.workspace/40.search/00.search",{"title":589,"path":590,"stem":591,"tags":592,"children":-1},"문맥 검색 (AI 검색)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[371],{"title":594,"path":595,"stem":596,"children":-1},"이미지 검색","/workspace/search/image-search","20.workspace/40.search/20.image-search",{"title":598,"path":599,"stem":600,"children":-1},"채팅 검색","/workspace/search/chat-search","20.workspace/40.search/30.chat-search",{"title":602,"path":603,"stem":604,"children":-1},"댓글 검색","/workspace/search/comment-search","20.workspace/40.search/40.comment-search",{"title":606,"path":607,"stem":608,"children":-1},"유의어 검색","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search",{"title":610,"path":611,"stem":612,"children":613,"page":55},"AI","/workspace/ai","20.workspace/50.ai",[614,618,623],{"title":615,"path":616,"stem":617,"children":-1},"AI 기능 요약","/workspace/ai/overview","20.workspace/50.ai/00.overview",{"title":619,"path":620,"stem":621,"tags":622,"children":-1},"로컬 AI에게 업무 요청하기","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[371],{"title":624,"path":625,"stem":626,"children":-1},"외부 AI 활용하기","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai",{"title":628,"path":629,"stem":630,"children":631,"page":55},"웹스페이스","/webspace","40.webspace",[632,636,640,644,648,652,657,661,665,669,673,702],{"title":633,"path":634,"stem":635,"children":-1},"웹스페이스(Webspace)란?","/webspace/overview","40.webspace/00.overview",{"title":637,"path":638,"stem":639,"children":-1},"웹사이트 배포하기","/webspace/website-release","40.webspace/10.website-release",{"title":641,"path":642,"stem":643,"children":-1},"스키마 파일(.sfn) 만들기","/webspace/create-database","40.webspace/20.create-database",{"title":645,"path":646,"stem":647,"children":-1},"API 빌드 및 데이터베이스 배포하기","/webspace/api-overview","40.webspace/24.api-overview",{"title":649,"path":650,"stem":651,"children":-1},"프론트엔드 샘플 확인하기","/webspace/frontend-example","40.webspace/26.frontend-example",{"title":653,"path":654,"stem":655,"tags":656,"children":-1},"팀 내부용 웹서비스 만들기","/webspace/internal-webservice","40.webspace/32.internal-webservice",[371],{"title":658,"path":659,"stem":660,"children":-1},"외부 공개용 웹서비스 만들기","/webspace/external-webservice","40.webspace/34.external-webservice",{"title":662,"path":663,"stem":664,"children":-1},"SQL 가져오기와 내보내기","/webspace/sql-converter","40.webspace/42.sql-converter",{"title":666,"path":667,"stem":668,"children":-1},"개발자 팁 2: Code 컨버터","/webspace/code-converter","40.webspace/44.code-converter",{"title":670,"path":671,"stem":672,"children":-1},"성능과 확장","/webspace/performance","40.webspace/48.performance",{"title":674,"path":675,"stem":676,"children":677,"page":55},"웹스페이스 관리","/webspace/admin","40.webspace/50.admin",[678,682,686,690,694,698],{"title":679,"path":680,"stem":681,"children":-1},"웹스페이스 관리 시작하기","/webspace/admin/overview","40.webspace/50.admin/00.overview",{"title":683,"path":684,"stem":685,"children":-1},"운영 현황","/webspace/admin/operations","40.webspace/50.admin/10.operations",{"title":687,"path":688,"stem":689,"children":-1},"워크스페이스 접근","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access",{"title":691,"path":692,"stem":693,"children":-1},"API · 사이트 보안","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security",{"title":695,"path":696,"stem":697,"children":-1},"서비스 및 용량","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity",{"title":699,"path":700,"stem":701,"children":-1},"배포 관리와 프론트엔드 릴리스","/webspace/admin/deployments","40.webspace/50.admin/50.deployments",{"title":703,"path":704,"stem":705,"children":706,"page":55},"웹스페이스 따라해보기","/webspace/examples","40.webspace/60.examples",[707,711,715,719,724,729],{"title":708,"path":709,"stem":710,"children":-1},"웹스페이스 응용편","/webspace/examples/overview","40.webspace/60.examples/00.overview",{"title":712,"path":713,"stem":714,"children":-1},"나만의 업무 시스템 만들기","/webspace/examples/my-own-system","40.webspace/60.examples/10.my-own-system",{"title":716,"path":717,"stem":718,"children":-1},"실시간 오목 게임 만들기","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",{"title":720,"path":721,"stem":722,"tags":723,"children":-1},"폴더 파일로 자료 게시판 만들기","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board",[90],{"title":725,"path":726,"stem":727,"tags":728,"children":-1},"공동 몬스터 레이드 만들기","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid",[90],{"title":730,"path":731,"stem":732,"tags":733,"children":-1},"AI 상담 채팅 샘플 배포하기","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat",[90],{"title":735,"path":736,"stem":737,"children":738,"page":55},"플러그인 사용하기","/plugin","50.plugin",[739,743,760,809,827,857],{"title":740,"path":741,"stem":742,"children":-1},"플러그인 개요","/plugin/overview","50.plugin/00.overview",{"title":744,"path":745,"stem":746,"children":747,"page":55},"캘린더","/plugin/calendar","50.plugin/10.calendar",[748,752,756],{"title":749,"path":750,"stem":751,"children":-1},"캘린더 소개","/plugin/calendar/overview","50.plugin/10.calendar/00.overview",{"title":753,"path":754,"stem":755,"children":-1},"일정 생성, 수정 및 삭제하기","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event",{"title":757,"path":758,"stem":759,"children":-1},"활동 기록 확인하기","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity",{"title":761,"path":762,"stem":763,"children":764,"page":55},"이메일","/plugin/email","50.plugin/20.email",[765,769,773,777,781,785,789,793,797,801,805],{"title":766,"path":767,"stem":768,"children":-1},"이메일 소개","/plugin/email/overview","50.plugin/20.email/00.overview",{"title":770,"path":771,"stem":772,"children":-1},"이메일 설정","/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting",{"title":774,"path":775,"stem":776,"children":-1},"외부 이메일 연결","/plugin/email/external-email","50.plugin/20.email/07.external-email",{"title":778,"path":779,"stem":780,"children":-1},"이메일 기본 기능","/plugin/email/email-basic","50.plugin/20.email/10.email-basic",{"title":782,"path":783,"stem":784,"children":-1},"메일 AI 어시스턴트 사용하기","/plugin/email/email-ai-assistant","50.plugin/20.email/15.email-ai-assistant",{"title":786,"path":787,"stem":788,"children":-1},"이메일 작성 및 전송","/plugin/email/email-compose","50.plugin/20.email/20.email-compose",{"title":790,"path":791,"stem":792,"children":-1},"파일 첨부하기","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment",{"title":794,"path":795,"stem":796,"children":-1},"이메일 폴더 관리","/plugin/email/email-folders","50.plugin/20.email/40.email-folders",{"title":798,"path":799,"stem":800,"children":-1},"이메일 자동 분류하기","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify",{"title":802,"path":803,"stem":804,"children":-1},"이메일 파일 보관 및 공유","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space",{"title":806,"path":807,"stem":808,"children":-1},"이메일 보안","/plugin/email/email-security","50.plugin/20.email/70.email-security",{"title":810,"path":811,"stem":812,"children":813,"page":55},"워크플로우 (업무자동화)","/plugin/workflow","50.plugin/30.workflow",[814,818,823],{"title":815,"path":816,"stem":817,"children":-1},"워크플로우 소개","/plugin/workflow/overview","50.plugin/30.workflow/00.overview",{"title":819,"path":820,"stem":821,"tags":822,"children":-1},"새 워크플로우 만들기","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[371],{"title":824,"path":825,"stem":826,"children":-1},"실행 기록 확인하기","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history",{"title":828,"path":829,"stem":830,"children":831,"page":55},"파인튜닝 (AI 학습)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[832,837,841,845,849,853],{"title":833,"path":834,"stem":835,"tags":836,"children":-1},"파인튜닝 소개","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview",[371],{"title":838,"path":839,"stem":840,"children":-1},"학습 데이터 전처리","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing",{"title":842,"path":843,"stem":844,"children":-1},"학습","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training",{"title":846,"path":847,"stem":848,"children":-1},"평가","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation",{"title":850,"path":851,"stem":852,"children":-1},"채팅 테스트","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test",{"title":854,"path":855,"stem":856,"children":-1},"내보내기","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export",{"title":858,"path":859,"stem":860,"children":861,"page":55},"EDC (데이터 수집)","/plugin/edc","50.plugin/50.edc",[862,866,870,874],{"title":863,"path":864,"stem":865,"children":-1},"EDC 소개","/plugin/edc/overview","50.plugin/50.edc/00.overview",{"title":867,"path":868,"stem":869,"children":-1},"데이터 입력, Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry",{"title":871,"path":872,"stem":873,"children":-1},"빌더","/plugin/edc/builder","50.plugin/50.edc/20.builder",{"title":875,"path":876,"stem":877,"children":-1},"사용자/기관 설정","/plugin/edc/account","50.plugin/50.edc/30.account",{"title":879,"path":880,"stem":881,"children":882,"page":55},"FAQ","/faq","99.FAQ",[883,887,891,895,899,903,907],{"title":884,"path":885,"stem":886,"children":-1},"SetFN vs 클라우드 서비스 비교","/faq/comparison-cloud","99.FAQ/10.comparison-cloud",{"title":888,"path":889,"stem":890,"children":-1},"SetFN vs NAS 비교","/faq/comparison-nas","99.FAQ/20.comparison-nas",{"title":892,"path":893,"stem":894,"children":-1},"보안 정책","/faq/security-policy","99.FAQ/30.security-policy",{"title":896,"path":897,"stem":898,"children":-1},"SetFN은 왜 빠른가요","/faq/why-fast","99.FAQ/40.why-fast",{"title":900,"path":901,"stem":902,"children":-1},"라이선스 FAQ","/faq/license-faq","99.FAQ/50.license-faq",{"title":904,"path":905,"stem":906,"children":-1},"AI 기능 FAQ","/faq/ai-faq","99.FAQ/60.ai-faq",{"title":908,"path":909,"stem":910,"children":-1},"문제 해결 가이드","/faq/troubleshooting","99.FAQ/70.troubleshooting",{"title":912,"path":913,"stem":914,"children":915,"page":55},"응용편(초안)","/draft","draft",[916,920,924,928,932,936,940,944,948,952,956,960,964],{"title":917,"path":918,"stem":919,"children":-1},"예시 1. 소개 페이지 만들기","/draft/static-intro","draft/05.static-intro",{"title":921,"path":922,"stem":923,"children":-1},"예시 2. 공지 게시판 만들기","/draft/public-notice-board","draft/07.public-notice-board",{"title":925,"path":926,"stem":927,"children":-1},"예시 3. 커피챗 예약 시스템 만들기","/draft/coffee-chat-booking","draft/08.coffee-chat-booking",{"title":929,"path":930,"stem":931,"children":-1},"예시 4. 휴가 신청 시스템 만들기","/draft/leave-request","draft/09.leave-request",{"title":933,"path":934,"stem":935,"children":-1},"예시 5. 실시간 팀 채팅 만들기","/draft/team-chat","draft/10.team-chat",{"title":937,"path":938,"stem":939,"children":-1},"예시 6. 채용 지원 서류 제출함 만들기","/draft/client-submission","draft/11.client-submission",{"title":941,"path":942,"stem":943,"children":-1},"예시 7. 팀과 레벨에 따른 이슈 트래커 만들기","/draft/crm-basic","draft/12.crm-basic",{"title":945,"path":946,"stem":947,"children":-1},"예시 8. 이슈 상태별 필터와 통계 요약 화면 만들기","/draft/crm-search-filter","draft/13.crm-search-filter",{"title":949,"path":950,"stem":951,"children":-1},"예시 9. 실시간 커뮤니티 채팅과 운영 기능 만들기","/draft/community-moderation","draft/14.community-moderation",{"title":953,"path":954,"stem":955,"children":-1},"예시 10. 실시간 출석체크·투표 만들기","/draft/attendance-poll","draft/15.attendance-poll",{"title":957,"path":958,"stem":959,"children":-1},"예시 11. 찬반 논쟁 배틀 만들기","/draft/debate-battle","draft/16.debate-battle",{"title":961,"path":962,"stem":963,"children":-1},"예시 13. 공지사항 읽음 확인 만들기","/draft/announcement-read","draft/18.announcement-read",{"title":965,"path":966,"stem":967,"children":-1},"예시 14. 재고 관리 시스템 만들기","/draft/inventory-management","draft/19.inventory-management",{"title":969,"path":970,"stem":971,"children":972,"page":55},"SJAUTO","/sjauto","sjauto",[973,976,979,982],{"title":69,"path":974,"stem":975,"children":-1},"/sjauto/admin-page-access","sjauto/00.admin-page-access",{"title":334,"path":977,"stem":978,"children":-1},"/sjauto/signup","sjauto/10.signup",{"title":509,"path":980,"stem":981,"children":-1},"/sjauto/ai-chat-file","sjauto/ai-chat-file",{"title":712,"path":983,"stem":984,"children":-1},"/sjauto/webspace-schema-example","sjauto/webspace-schema-example",{"id":986,"title":191,"body":987,"cover":1859,"description":1860,"extension":1861,"image":1859,"meta":1862,"navigation":1181,"path":192,"seo":1864,"stem":193,"tags":1859,"thumbnail":1859,"__hash__":1871},"docs_ko/10.admin/30.knowledge/34.qdrant.md",{"type":988,"value":989,"toc":1843},"minimal",[990,994,998,1001,1004,1009,1022,1026,1035,1038,1042,1106,1109,1116,1134,1256,1259,1334,1338,1351,1365,1372,1376,1420,1423,1433,1535,1542,1548,1552,1555,1601,1616,1620,1637,1648,1675,1681,1685,1690,1734,1737,1742,1745,1760,1765,1768,1783,1795,1799,1806,1809,1812,1816,1839],[991,992,191],"h1",{"id":993},"qdrant-연결",[995,996,997],"p",{},"Qdrant는 별도 서버로 운영하는 벡터 DB입니다. 문서가 많아 검색 데이터가 수만 건을 넘거나, AI 검색 데이터를 SpaceBuilder 서버와 분리해서 운영하고 싶을 때 사용합니다.",[995,999,1000],{},"Qdrant를 쓰더라도 원본 파일과 문서 텍스트는 SpaceBuilder에 그대로 남습니다. Qdrant에는 검색에 필요한 벡터와 최소한의 정보만 저장됩니다.",[1002,1003],"hr",{},[1005,1006,1008],"h2",{"id":1007},"시작하기-전에","시작하기 전에",[1010,1011,1012,1016,1019],"ul",{},[1013,1014,1015],"li",{},"필요 권한: Workspace 관리자와 Qdrant 연결 정보를 관리할 권한",[1013,1017,1018],{},"SpaceBuilder 서버에서 Qdrant의 REST 및 gRPC 엔드포인트에 접근할 수 있어야 합니다.",[1013,1020,1021],{},"임베딩 모델의 출력 차원을 확인합니다.",[1005,1023,1025],{"id":1024},"qdrant-설치","Qdrant 설치",[995,1027,1028,1029,1034],{},"SpaceBuilder 서버에서 접속할 수 있는 Qdrant 서버가 필요합니다. 이미 운영 중인 Qdrant가 있다면 이 절은 건너뛰고 ",[1030,1031,1033],"a",{"href":1032},"#%EC%97%B0%EA%B2%B0-%EC%84%A4%EC%A0%95","연결 설정","으로 가세요.",[995,1036,1037],{},"Qdrant는 Docker로 설치하는 것이 가장 간단합니다. 아래 절차는 Linux 서버에 Docker가 설치되어 있다는 전제입니다.",[1039,1040,1041],"h3",{"id":1041},"준비",[1043,1044,1045,1058],"table",{},[1046,1047,1048],"thead",{},[1049,1050,1051,1055],"tr",{},[1052,1053,1054],"th",{},"항목",[1052,1056,1057],{},"내용",[1059,1060,1061,1070,1083,1091],"tbody",{},[1049,1062,1063,1067],{},[1064,1065,1066],"td",{},"서버",[1064,1068,1069],{},"SpaceBuilder와 같은 서버에 두어도 되고, 별도 서버여도 됩니다. 같은 서버라면 SpaceBuilder와 메모리를 나눠 쓰므로 여유를 두세요.",[1049,1071,1072,1075],{},[1064,1073,1074],{},"메모리",[1064,1076,1077,1078,1082],{},"벡터는 검색 속도를 위해 메모리에 올라갑니다. Qdrant 권장 계산식(벡터 수 × 차원 × 4바이트 × 1.5)으로 ",[1079,1080,1081],"code",{},"bge-m3","(1024차원) 기준 벡터 10만 개에 약 0.6GB, 100만 개에 약 6GB가 필요합니다.",[1049,1084,1085,1088],{},[1064,1086,1087],{},"디스크",[1064,1089,1090],{},"벡터와 문서 조각 텍스트를 함께 저장하므로 메모리 필요량의 2~3배를 잡으세요.",[1049,1092,1093,1096],{},[1064,1094,1095],{},"포트",[1064,1097,1098,1101,1102,1105],{},[1079,1099,1100],{},"6333","(REST API)과 ",[1079,1103,1104],{},"6334","(gRPC). SpaceBuilder는 gRPC를 우선 사용하고 연결할 수 없으면 REST로 전환합니다.",[1039,1107,1108],{"id":1108},"실행",[995,1110,1111,1112,1115],{},"데이터가 컨테이너를 지워도 남도록 저장 폴더를 반드시 연결하세요. 아래는 ",[1079,1113,1114],{},"/data/qdrant","에 저장하고, 서버가 재부팅되어도 자동으로 다시 시작되도록 설정한 예시입니다.",[995,1117,1118,1119,1122,1123,1126,1127,1133],{},"이미지 버전은 ",[1079,1120,1121],{},"QDRANT_VERSION"," 변수로 고정합니다. 버전을 지정하지 않으면 ",[1079,1124,1125],{},"latest","가 설치되어, 컨테이너를 다시 만들 때 의도하지 않게 버전이 올라갈 수 있습니다. 아래 버전은 문서 작성 시점의 예시입니다. 실제로 설치할 때는 ",[1030,1128,1132],{"href":1129,"rel":1130},"https://github.com/qdrant/qdrant/releases",[1131],"nofollow","Qdrant 릴리스 페이지","에서 조직이 검증한 버전으로 바꾸세요.",[1135,1136,1141],"pre",{"className":1137,"code":1138,"language":1139,"meta":1140,"style":1140},"language-bash shiki shiki-themes github-light github-dark monokai","QDRANT_VERSION=v1.19.1\nsudo mkdir -p /data/qdrant\n\ndocker run -d --name qdrant \\\n  --restart unless-stopped \\\n  -p 6333:6333 \\\n  -p 6334:6334 \\\n  -v /data/qdrant:/qdrant/storage \\\n  qdrant/qdrant:${QDRANT_VERSION}\n","bash","",[1079,1142,1143,1159,1176,1183,1204,1215,1226,1236,1247],{"__ignoreMap":1140},[1144,1145,1148,1151,1155],"span",{"class":1146,"line":1147},"line",1,[1144,1149,1121],{"class":1150},"sMOD_",[1144,1152,1154],{"class":1153},"sC2Qs","=",[1144,1156,1158],{"class":1157},"sstjo","v1.19.1\n",[1144,1160,1162,1166,1169,1173],{"class":1146,"line":1161},2,[1144,1163,1165],{"class":1164},"srTi1","sudo",[1144,1167,1168],{"class":1157}," mkdir",[1144,1170,1172],{"class":1171},"s7F3e"," -p",[1144,1174,1175],{"class":1157}," /data/qdrant\n",[1144,1177,1179],{"class":1146,"line":1178},3,[1144,1180,1182],{"emptyLinePlaceholder":1181},true,"\n",[1144,1184,1186,1189,1192,1195,1198,1201],{"class":1146,"line":1185},4,[1144,1187,1188],{"class":1164},"docker",[1144,1190,1191],{"class":1157}," run",[1144,1193,1194],{"class":1171}," -d",[1144,1196,1197],{"class":1171}," --name",[1144,1199,1200],{"class":1157}," qdrant",[1144,1202,1203],{"class":1171}," \\\n",[1144,1205,1207,1210,1213],{"class":1146,"line":1206},5,[1144,1208,1209],{"class":1171},"  --restart",[1144,1211,1212],{"class":1157}," unless-stopped",[1144,1214,1203],{"class":1171},[1144,1216,1218,1221,1224],{"class":1146,"line":1217},6,[1144,1219,1220],{"class":1171},"  -p",[1144,1222,1223],{"class":1157}," 6333:6333",[1144,1225,1203],{"class":1171},[1144,1227,1229,1231,1234],{"class":1146,"line":1228},7,[1144,1230,1220],{"class":1171},[1144,1232,1233],{"class":1157}," 6334:6334",[1144,1235,1203],{"class":1171},[1144,1237,1239,1242,1245],{"class":1146,"line":1238},8,[1144,1240,1241],{"class":1171},"  -v",[1144,1243,1244],{"class":1157}," /data/qdrant:/qdrant/storage",[1144,1246,1203],{"class":1171},[1144,1248,1250,1253],{"class":1146,"line":1249},9,[1144,1251,1252],{"class":1157},"  qdrant/qdrant:",[1144,1254,1255],{"class":1150},"${QDRANT_VERSION}\n",[995,1257,1258],{},"SpaceBuilder와 다른 서버에서 운영하거나 여러 사람이 접근할 수 있는 네트워크라면 API 키를 함께 켜세요. 키는 길고 추측하기 어려운 값으로 정합니다.",[1135,1260,1262],{"className":1137,"code":1261,"language":1139,"meta":1140,"style":1140},"QDRANT_VERSION=v1.19.1\ndocker run -d --name qdrant \\\n  --restart unless-stopped \\\n  -p 6333:6333 \\\n  -p 6334:6334 \\\n  -v /data/qdrant:/qdrant/storage \\\n  -e QDRANT__SERVICE__API_KEY='\u003CAPI 키>' \\\n  qdrant/qdrant:${QDRANT_VERSION}\n",[1079,1263,1264,1272,1286,1294,1302,1310,1318,1328],{"__ignoreMap":1140},[1144,1265,1266,1268,1270],{"class":1146,"line":1147},[1144,1267,1121],{"class":1150},[1144,1269,1154],{"class":1153},[1144,1271,1158],{"class":1157},[1144,1273,1274,1276,1278,1280,1282,1284],{"class":1146,"line":1161},[1144,1275,1188],{"class":1164},[1144,1277,1191],{"class":1157},[1144,1279,1194],{"class":1171},[1144,1281,1197],{"class":1171},[1144,1283,1200],{"class":1157},[1144,1285,1203],{"class":1171},[1144,1287,1288,1290,1292],{"class":1146,"line":1178},[1144,1289,1209],{"class":1171},[1144,1291,1212],{"class":1157},[1144,1293,1203],{"class":1171},[1144,1295,1296,1298,1300],{"class":1146,"line":1185},[1144,1297,1220],{"class":1171},[1144,1299,1223],{"class":1157},[1144,1301,1203],{"class":1171},[1144,1303,1304,1306,1308],{"class":1146,"line":1206},[1144,1305,1220],{"class":1171},[1144,1307,1233],{"class":1157},[1144,1309,1203],{"class":1171},[1144,1311,1312,1314,1316],{"class":1146,"line":1217},[1144,1313,1241],{"class":1171},[1144,1315,1244],{"class":1157},[1144,1317,1203],{"class":1171},[1144,1319,1320,1323,1326],{"class":1146,"line":1228},[1144,1321,1322],{"class":1171},"  -e",[1144,1324,1325],{"class":1157}," QDRANT__SERVICE__API_KEY='\u003CAPI 키>'",[1144,1327,1203],{"class":1171},[1144,1329,1330,1332],{"class":1146,"line":1238},[1144,1331,1252],{"class":1157},[1144,1333,1255],{"class":1150},[1039,1335,1337],{"id":1336},"설치-확인","설치 확인",[1135,1339,1341],{"className":1137,"code":1340,"language":1139,"meta":1140,"style":1140},"curl http://localhost:6333/collections\n",[1079,1342,1343],{"__ignoreMap":1140},[1144,1344,1345,1348],{"class":1146,"line":1147},[1144,1346,1347],{"class":1164},"curl",[1144,1349,1350],{"class":1157}," http://localhost:6333/collections\n",[995,1352,1353,1356,1357,1360,1361,1364],{},[1079,1354,1355],{},"\"status\":\"ok\"","가 포함된 응답이 오면 정상입니다. API 키를 켰다면 ",[1079,1358,1359],{},"curl -H 'api-key: \u003CAPI 키>' http://localhost:6333/collections","처럼 ",[1079,1362,1363],{},"api-key"," 헤더를 붙여야 응답이 옵니다.",[995,1366,1367,1368,1371],{},"브라우저에서 ",[1079,1369,1370],{},"http://\u003CQdrant 서버 주소>:6333/dashboard","를 열면 컬렉션과 저장된 데이터를 볼 수 있는 대시보드가 나옵니다.",[1039,1373,1375],{"id":1374},"운영-팁","운영 팁",[1010,1377,1378,1395,1408],{},[1013,1379,1380,1384,1385,1387,1388,1391,1392,1394],{},[1381,1382,1383],"strong",{},"업데이트",": Qdrant 공식 업그레이드 안내에 따라 마이너 버전을 한 단계씩(예: 1.12 → 1.13) 올리세요. ",[1079,1386,1121],{},"을 다음 버전으로 바꾸고 ",[1079,1389,1390],{},"docker pull qdrant/qdrant:${QDRANT_VERSION}","으로 이미지를 받은 뒤, 컨테이너를 지우고 같은 명령으로 다시 실행합니다. 데이터는 ",[1079,1393,1114],{},"에 남습니다.",[1013,1396,1397,1400,1401,1403,1404,1407],{},[1381,1398,1399],{},"백업",": 컨테이너를 멈춘 뒤 ",[1079,1402,1114],{}," 폴더를 통째로 복사하거나, Qdrant의 스냅샷 API를 사용합니다. 다만 벡터는 원본에서 다시 만들 수 있는 파생 데이터라, 백업이 없어도 SpaceBuilder에서 ",[1079,1405,1406],{},"전체 데이터 다시 인덱싱","으로 복구할 수 있습니다.",[1013,1409,1410,1413,1414,1416,1417,1419],{},[1381,1411,1412],{},"방화벽",": SpaceBuilder 서버만 ",[1079,1415,1100],{},"과 ",[1079,1418,1104],{}," 포트에 접속할 수 있게 제한하세요. HTTPS로 접속해야 한다면 Qdrant 앞에 리버스 프록시를 두는 방식을 권장합니다.",[1005,1421,1033],{"id":1422},"연결-설정",[995,1424,1425,1428,1429,1432],{},[1030,1426,183],{"href":1427},"/ko/docs/admin/knowledge/storage/"," 화면의 ",[1079,1430,1431],{},"벡터 DB 구성","에서 아래와 같이 입력하고 저장합니다.",[1043,1434,1435,1447],{},[1046,1436,1437],{},[1049,1438,1439,1441,1444],{},[1052,1440,1054],{},[1052,1442,1443],{},"입력 값",[1052,1445,1446],{},"설명",[1059,1448,1449,1462,1479,1492,1507,1518],{},[1049,1450,1451,1454,1459],{},[1064,1452,1453],{},"드라이버",[1064,1455,1456],{},[1079,1457,1458],{},"Qdrant",[1064,1460,1461],{},"외부 Qdrant 서버를 사용합니다.",[1049,1463,1464,1467,1472],{},[1064,1465,1466],{},"REST 엔드포인트",[1064,1468,1469],{},[1079,1470,1471],{},"http://\u003CQdrant 서버 주소>:6333",[1064,1473,1474,1475,1478],{},"Qdrant의 REST API 주소입니다. 비워두면 ",[1079,1476,1477],{},"http://localhost:6333","을 사용합니다.",[1049,1480,1481,1484,1489],{},[1064,1482,1483],{},"gRPC 엔드포인트(권장)",[1064,1485,1486],{},[1079,1487,1488],{},"http://\u003CQdrant 서버 주소>:6334",[1064,1490,1491],{},"검색과 벡터 저장에 우선 사용합니다. 비워두면 REST 주소에서 자동으로 유추하고, 연결할 수 없으면 REST로 전환합니다.",[1049,1493,1494,1497,1500],{},[1064,1495,1496],{},"컬렉션",[1064,1498,1499],{},"이 인스턴스(현재 SpaceBuilder) 전용 이름",[1064,1501,1502,1503,1506],{},"화면에 표시되는 권장 이름(",[1079,1504,1505],{},"setfn_knowledge_...",")을 사용하는 것을 권장합니다.",[1049,1508,1509,1512,1515],{},[1064,1510,1511],{},"API 키",[1064,1513,1514],{},"Qdrant에 설정한 API 키",[1064,1516,1517],{},"인증을 켜지 않았다면 비워둡니다. 저장된 값은 마스킹되어 표시되며, 바꾸지 않으면 그대로 유지됩니다. 비우고 저장하면 삭제됩니다.",[1049,1519,1520,1523,1526],{},[1064,1521,1522],{},"벡터 차원",[1064,1524,1525],{},"임베딩 모델의 출력 차원",[1064,1527,1528,1530,1531,1534],{},[1079,1529,1081],{},"는 ",[1079,1532,1533],{},"1024","입니다. 모델을 고르면 알려진 모델은 자동으로 입력됩니다.",[995,1536,1537,1538,1541],{},"Qdrant는 서비스형 저장소라 ",[1079,1539,1540],{},"데이터 경로"," 입력란이 표시되지 않습니다. 데이터는 모두 Qdrant 서버에 저장됩니다.",[995,1543,1544,1545,1547],{},"저장하면 인덱싱 스케줄러가 바로 새 설정을 확인하고, 필요한 경우 원본 전체 재인덱싱을 자동으로 시작합니다. 따로 ",[1079,1546,1406],{},"을 누르지 않아도 됩니다.",[1005,1549,1551],{"id":1550},"컬렉션은-자동으로-만들어집니다","컬렉션은 자동으로 만들어집니다",[995,1553,1554],{},"Qdrant 대시보드에서 컬렉션을 미리 만들 필요가 없습니다. SpaceBuilder가 첫 번째 검색 데이터를 저장할 때 설정한 이름으로 컬렉션을 만들고, 검색 필터에 필요한 인덱스도 함께 만듭니다.",[1043,1556,1557,1567],{},[1046,1558,1559],{},[1049,1560,1561,1564],{},[1052,1562,1563],{},"자동 생성 항목",[1052,1565,1566],{},"값",[1059,1568,1569,1577,1585,1593],{},[1049,1570,1571,1574],{},[1064,1572,1573],{},"벡터 형식",[1064,1575,1576],{},"이름 없는 단일 벡터(dense)",[1049,1578,1579,1582],{},[1064,1580,1581],{},"벡터 크기",[1064,1583,1584],{},"설정한 벡터 차원",[1049,1586,1587,1590],{},[1064,1588,1589],{},"거리 계산",[1064,1591,1592],{},"Cosine",[1049,1594,1595,1598],{},[1064,1596,1597],{},"필터 인덱스",[1064,1599,1600],{},"인스턴스, 세대, 공간, 소유자, 원본 경로",[995,1602,1603,1604,1607,1608,1611,1612,1615],{},"첫 인덱싱 전에는 ",[1079,1605,1606],{},"벡터 DB 운영 현황","의 ",[1079,1609,1610],{},"컬렉션 구성","에 ",[1079,1613,1614],{},"아직 생성되지 않음 · 첫 인덱싱 때 자동으로 만들어집니다","가 표시됩니다. 오류가 아니므로 인덱싱이 시작될 때까지 기다리면 됩니다.",[1039,1617,1619],{"id":1618},"컬렉션을-직접-만들-때-주의할-점","컬렉션을 직접 만들 때 주의할 점",[995,1621,1622,1623,1626,1627,1630,1631,1611,1633,1636],{},"Qdrant 대시보드의 ",[1079,1624,1625],{},"Create New Collection"," 화면에서 ",[1079,1628,1629],{},"Simple Hybrid Search","나 이름이 있는 벡터(named vector)로 만든 컬렉션은 SpaceBuilder와 호환되지 않습니다. 이런 컬렉션을 지정하면 ",[1079,1632,1610],{},[1079,1634,1635],{},"컬렉션 설정 확인 필요","가 표시되고 인덱싱이 저장 단계에서 실패합니다.",[995,1638,1639,1640,1643,1644,1647],{},"컬렉션을 직접 만들어야 한다면 대시보드의 ",[1079,1641,1642],{},"Console","에서 아래 요청을 실행하세요. ",[1079,1645,1646],{},"size","는 설정한 벡터 차원과 같아야 합니다.",[1135,1649,1653],{"className":1650,"code":1651,"language":1652,"meta":1140,"style":1140},"language-http shiki shiki-themes github-light github-dark monokai","PUT /collections/setfn_knowledge_example\n{\n  \"vectors\": { \"size\": 1024, \"distance\": \"Cosine\" }\n}\n","http",[1079,1654,1655,1660,1665,1670],{"__ignoreMap":1140},[1144,1656,1657],{"class":1146,"line":1147},[1144,1658,1659],{},"PUT /collections/setfn_knowledge_example\n",[1144,1661,1662],{"class":1146,"line":1161},[1144,1663,1664],{},"{\n",[1144,1666,1667],{"class":1146,"line":1178},[1144,1668,1669],{},"  \"vectors\": { \"size\": 1024, \"distance\": \"Cosine\" }\n",[1144,1671,1672],{"class":1146,"line":1185},[1144,1673,1674],{},"}\n",[1676,1677,1678],"note",{},[995,1679,1680],{},"이미 잘못된 형식으로 만든 컬렉션이 있다면, 다른 컬렉션 이름으로 바꿔 저장하거나 해당 컬렉션을 삭제한 뒤 SpaceBuilder가 다시 만들도록 두세요. 차원이나 거리 계산 방식이 다른 컬렉션은 사용할 수 없습니다.",[1005,1682,1684],{"id":1683},"저장된-데이터-확인","저장된 데이터 확인",[995,1686,1687,1689],{},[1079,1688,1606],{},"에서 Qdrant 상태를 확인합니다.",[1043,1691,1692,1701],{},[1046,1693,1694],{},[1049,1695,1696,1698],{},[1052,1697,1054],{},[1052,1699,1700],{},"의미",[1059,1702,1703,1711,1719,1727],{},[1049,1704,1705,1708],{},[1064,1706,1707],{},"연결 상태",[1064,1709,1710],{},"Qdrant 서버에 접속할 수 있는지 여부",[1049,1712,1713,1716],{},[1064,1714,1715],{},"데이터(엔티티) 수",[1064,1717,1718],{},"이 인스턴스가 저장한 벡터 수입니다. 같은 컬렉션을 쓰는 다른 인스턴스의 데이터는 포함하지 않습니다.",[1049,1720,1721,1724],{},[1064,1722,1723],{},"컬렉션 수",[1064,1725,1726],{},"Qdrant 서버에 있는 전체 컬렉션 수입니다. SpaceBuilder가 만든 것 외의 컬렉션도 포함됩니다.",[1049,1728,1729,1731],{},[1064,1730,1610],{},[1064,1732,1733],{},"설정한 컬렉션의 차원과 거리 계산 방식이 SpaceBuilder와 맞는지 여부",[995,1735,1736],{},"벡터 1개는 문서 조각(청크) 1개입니다. 문서는 형식에 따라 섹션, 페이지, 행 단위로 먼저 나누고, 다시 한국어 기준 약 700~1,000자 크기로 나눠 저장합니다. 그래서 문서 수보다 벡터 수가 훨씬 많은 것이 정상입니다.",[995,1738,1622,1739,1741],{},[1079,1740,1642],{},"에서 실제 저장 내용을 볼 수 있습니다.",[995,1743,1744],{},"파일별 벡터 수 확인:",[1135,1746,1748],{"className":1650,"code":1747,"language":1652,"meta":1140,"style":1140},"POST /collections/setfn_knowledge_example/facet\n{ \"key\": \"source_path\", \"limit\": 50 }\n",[1079,1749,1750,1755],{"__ignoreMap":1140},[1144,1751,1752],{"class":1146,"line":1147},[1144,1753,1754],{},"POST /collections/setfn_knowledge_example/facet\n",[1144,1756,1757],{"class":1146,"line":1161},[1144,1758,1759],{},"{ \"key\": \"source_path\", \"limit\": 50 }\n",[1676,1761,1762],{},[995,1763,1764],{},"facet API는 Qdrant 1.12 이상에서만 동작합니다. 여러 인스턴스가 같은 컬렉션을 함께 쓰면 다른 인스턴스가 저장한 벡터 수까지 합산됩니다.",[995,1766,1767],{},"저장된 문서 조각 일부 확인:",[1135,1769,1771],{"className":1650,"code":1770,"language":1652,"meta":1140,"style":1140},"POST /collections/setfn_knowledge_example/points/scroll\n{ \"limit\": 10, \"with_payload\": [\"source_path\", \"text\"], \"with_vector\": false }\n",[1079,1772,1773,1778],{"__ignoreMap":1140},[1144,1774,1775],{"class":1146,"line":1147},[1144,1776,1777],{},"POST /collections/setfn_knowledge_example/points/scroll\n",[1144,1779,1780],{"class":1146,"line":1161},[1144,1781,1782],{},"{ \"limit\": 10, \"with_payload\": [\"source_path\", \"text\"], \"with_vector\": false }\n",[1784,1785,1786],"warning",{},[995,1787,1788,1789,1607,1792,1794],{},"Qdrant 대시보드에서 포인트를 직접 수정하거나 삭제하지 마세요. SpaceBuilder가 기록한 상태와 달라져 검색 결과가 빠지거나 정리 작업이 반복될 수 있습니다. 데이터를 다시 만들어야 하면 ",[1030,1790,1791],{"href":1427},"벡터 DB 설정",[1079,1793,1406],{},"을 사용하세요.",[1005,1796,1798],{"id":1797},"여러-인스턴스가-qdrant-하나를-함께-쓸-때","여러 인스턴스가 Qdrant 하나를 함께 쓸 때",[995,1800,1801,1802,1805],{},"인스턴스마다 다른 컬렉션 이름을 쓰면 데이터가 완전히 분리됩니다. 기본 컬렉션 이름(",[1079,1803,1804],{},"knowledge_vectors",")을 그대로 쓰면 화면에 경고와 함께 이 인스턴스의 권장 이름이 표시됩니다.",[995,1807,1808],{},"같은 컬렉션을 함께 쓰더라도 새로 저장하는 벡터에는 인스턴스 격리 키가 붙어, 검색과 삭제는 각 인스턴스의 데이터 안에서만 이루어집니다. 다만 백업, 용량 관리, 삭제를 인스턴스별로 하려면 컬렉션을 나누는 것이 안전합니다.",[995,1810,1811],{},"같은 서버에서 실행 중인 다른 SpaceBuilder 프로젝트가 같은 컬렉션을 쓰고 있으면 설정 화면에 경고가 표시됩니다.",[1005,1813,1815],{"id":1814},"관련-문서","관련 문서",[1010,1817,1818,1822,1828,1833],{},[1013,1819,1820],{},[1030,1821,183],{"href":1427},[1013,1823,1824],{},[1030,1825,1827],{"href":1826},"/ko/docs/admin/knowledge/storage-operations/","벡터 DB 운영 가이드",[1013,1829,1830],{},[1030,1831,199],{"href":1832},"/ko/docs/admin/knowledge/milvus/",[1013,1834,1835],{},[1030,1836,1838],{"href":1837},"/ko/docs/admin/knowledge/indexing/","지식 인덱싱",[1840,1841,1842],"style",{},"html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sC2Qs, html code.shiki .sC2Qs{--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .srTi1, html code.shiki .srTi1{--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":1140,"searchDepth":1161,"depth":1178,"links":1844},[1845,1846,1852,1853,1856,1857,1858],{"id":1007,"depth":1161,"text":1008},{"id":1024,"depth":1161,"text":1025,"children":1847},[1848,1849,1850,1851],{"id":1041,"depth":1178,"text":1041},{"id":1108,"depth":1178,"text":1108},{"id":1336,"depth":1178,"text":1337},{"id":1374,"depth":1178,"text":1375},{"id":1422,"depth":1161,"text":1033},{"id":1550,"depth":1161,"text":1551,"children":1854},[1855],{"id":1618,"depth":1178,"text":1619},{"id":1683,"depth":1161,"text":1684},{"id":1797,"depth":1161,"text":1798},{"id":1814,"depth":1161,"text":1815},null,"외부 벡터 DB인 Qdrant를 SpaceBuilder의 벡터 DB로 연결하고, 컬렉션과 저장 데이터를 확인하는 방법을 설명합니다.","md",{"slug":1863},"/admin/knowledge/qdrant/",{"title":1865,"description":1860,"ogType":1866,"twitterCard":1867,"keywords":1868},"Qdrant 연결 | Admin Docs","article","summary_large_image",[1458,1869,1869,1496,1870,1838],"벡터 DB","RAG","Ilw5zaWv2nfH1cLKZXwjB8iNp9cLy75xeIolErYg1YM",[1873,1874],{"title":187,"path":188,"stem":189,"children":-1},{"title":195,"path":196,"stem":197,"children":-1},{"title":191,"filename":1876,"content":1877},"qdrant","# Qdrant 연결\r\n\r\nQdrant는 별도 서버로 운영하는 벡터 DB입니다. 문서가 많아 검색 데이터가 수만 건을 넘거나, AI 검색 데이터를 SpaceBuilder 서버와 분리해서 운영하고 싶을 때 사용합니다.\r\n\r\nQdrant를 쓰더라도 원본 파일과 문서 텍스트는 SpaceBuilder에 그대로 남습니다. Qdrant에는 검색에 필요한 벡터와 최소한의 정보만 저장됩니다.\r\n\r\n---\r\n\r\n## 시작하기 전에\r\n\r\n- 필요 권한: Workspace 관리자와 Qdrant 연결 정보를 관리할 권한\r\n- SpaceBuilder 서버에서 Qdrant의 REST 및 gRPC 엔드포인트에 접근할 수 있어야 합니다.\r\n- 임베딩 모델의 출력 차원을 확인합니다.\r\n\r\n## Qdrant 설치\r\n\r\nSpaceBuilder 서버에서 접속할 수 있는 Qdrant 서버가 필요합니다. 이미 운영 중인 Qdrant가 있다면 이 절은 건너뛰고 [연결 설정](#연결-설정)으로 가세요.\r\n\r\nQdrant는 Docker로 설치하는 것이 가장 간단합니다. 아래 절차는 Linux 서버에 Docker가 설치되어 있다는 전제입니다.\r\n\r\n### 준비\r\n\r\n| 항목 | 내용 |\r\n|------|------|\r\n| 서버 | SpaceBuilder와 같은 서버에 두어도 되고, 별도 서버여도 됩니다. 같은 서버라면 SpaceBuilder와 메모리를 나눠 쓰므로 여유를 두세요. |\r\n| 메모리 | 벡터는 검색 속도를 위해 메모리에 올라갑니다. Qdrant 권장 계산식(벡터 수 × 차원 × 4바이트 × 1.5)으로 `bge-m3`(1024차원) 기준 벡터 10만 개에 약 0.6GB, 100만 개에 약 6GB가 필요합니다. |\r\n| 디스크 | 벡터와 문서 조각 텍스트를 함께 저장하므로 메모리 필요량의 2~3배를 잡으세요. |\r\n| 포트 | `6333`(REST API)과 `6334`(gRPC). SpaceBuilder는 gRPC를 우선 사용하고 연결할 수 없으면 REST로 전환합니다. |\r\n\r\n### 실행\r\n\r\n데이터가 컨테이너를 지워도 남도록 저장 폴더를 반드시 연결하세요. 아래는 `/data/qdrant`에 저장하고, 서버가 재부팅되어도 자동으로 다시 시작되도록 설정한 예시입니다.\r\n\r\n이미지 버전은 `QDRANT_VERSION` 변수로 고정합니다. 버전을 지정하지 않으면 `latest`가 설치되어, 컨테이너를 다시 만들 때 의도하지 않게 버전이 올라갈 수 있습니다. 아래 버전은 문서 작성 시점의 예시입니다. 실제로 설치할 때는 [Qdrant 릴리스 페이지](https://github.com/qdrant/qdrant/releases)에서 조직이 검증한 버전으로 바꾸세요.\r\n\r\n```bash\r\nQDRANT_VERSION=v1.19.1\r\nsudo mkdir -p /data/qdrant\r\n\r\ndocker run -d --name qdrant \\\r\n  --restart unless-stopped \\\r\n  -p 6333:6333 \\\r\n  -p 6334:6334 \\\r\n  -v /data/qdrant:/qdrant/storage \\\r\n  qdrant/qdrant:${QDRANT_VERSION}\r\n```\r\n\r\nSpaceBuilder와 다른 서버에서 운영하거나 여러 사람이 접근할 수 있는 네트워크라면 API 키를 함께 켜세요. 키는 길고 추측하기 어려운 값으로 정합니다.\r\n\r\n```bash\r\nQDRANT_VERSION=v1.19.1\r\ndocker run -d --name qdrant \\\r\n  --restart unless-stopped \\\r\n  -p 6333:6333 \\\r\n  -p 6334:6334 \\\r\n  -v /data/qdrant:/qdrant/storage \\\r\n  -e QDRANT__SERVICE__API_KEY='\u003CAPI 키>' \\\r\n  qdrant/qdrant:${QDRANT_VERSION}\r\n```\r\n\r\n### 설치 확인\r\n\r\n```bash\r\ncurl http://localhost:6333/collections\r\n```\r\n\r\n`\"status\":\"ok\"`가 포함된 응답이 오면 정상입니다. API 키를 켰다면 `curl -H 'api-key: \u003CAPI 키>' http://localhost:6333/collections`처럼 `api-key` 헤더를 붙여야 응답이 옵니다.\r\n\r\n브라우저에서 `http://\u003CQdrant 서버 주소>:6333/dashboard`를 열면 컬렉션과 저장된 데이터를 볼 수 있는 대시보드가 나옵니다.\r\n\r\n### 운영 팁\r\n\r\n- **업데이트**: Qdrant 공식 업그레이드 안내에 따라 마이너 버전을 한 단계씩(예: 1.12 → 1.13) 올리세요. `QDRANT_VERSION`을 다음 버전으로 바꾸고 `docker pull qdrant/qdrant:${QDRANT_VERSION}`으로 이미지를 받은 뒤, 컨테이너를 지우고 같은 명령으로 다시 실행합니다. 데이터는 `/data/qdrant`에 남습니다.\r\n- **백업**: 컨테이너를 멈춘 뒤 `/data/qdrant` 폴더를 통째로 복사하거나, Qdrant의 스냅샷 API를 사용합니다. 다만 벡터는 원본에서 다시 만들 수 있는 파생 데이터라, 백업이 없어도 SpaceBuilder에서 `전체 데이터 다시 인덱싱`으로 복구할 수 있습니다.\r\n- **방화벽**: SpaceBuilder 서버만 `6333`과 `6334` 포트에 접속할 수 있게 제한하세요. HTTPS로 접속해야 한다면 Qdrant 앞에 리버스 프록시를 두는 방식을 권장합니다.\r\n\r\n## 연결 설정\r\n\r\n[지식 저장소](/ko/docs/admin/knowledge/storage/) 화면의 `벡터 DB 구성`에서 아래와 같이 입력하고 저장합니다.\r\n\r\n| 항목 | 입력 값 | 설명 |\r\n|------|---------|------|\r\n| 드라이버 | `Qdrant` | 외부 Qdrant 서버를 사용합니다. |\r\n| REST 엔드포인트 | `http://\u003CQdrant 서버 주소>:6333` | Qdrant의 REST API 주소입니다. 비워두면 `http://localhost:6333`을 사용합니다. |\r\n| gRPC 엔드포인트(권장) | `http://\u003CQdrant 서버 주소>:6334` | 검색과 벡터 저장에 우선 사용합니다. 비워두면 REST 주소에서 자동으로 유추하고, 연결할 수 없으면 REST로 전환합니다. |\r\n| 컬렉션 | 이 인스턴스(현재 SpaceBuilder) 전용 이름 | 화면에 표시되는 권장 이름(`setfn_knowledge_...`)을 사용하는 것을 권장합니다. |\r\n| API 키 | Qdrant에 설정한 API 키 | 인증을 켜지 않았다면 비워둡니다. 저장된 값은 마스킹되어 표시되며, 바꾸지 않으면 그대로 유지됩니다. 비우고 저장하면 삭제됩니다. |\r\n| 벡터 차원 | 임베딩 모델의 출력 차원 | `bge-m3`는 `1024`입니다. 모델을 고르면 알려진 모델은 자동으로 입력됩니다. |\r\n\r\nQdrant는 서비스형 저장소라 `데이터 경로` 입력란이 표시되지 않습니다. 데이터는 모두 Qdrant 서버에 저장됩니다.\r\n\r\n저장하면 인덱싱 스케줄러가 바로 새 설정을 확인하고, 필요한 경우 원본 전체 재인덱싱을 자동으로 시작합니다. 따로 `전체 데이터 다시 인덱싱`을 누르지 않아도 됩니다.\r\n\r\n## 컬렉션은 자동으로 만들어집니다\r\n\r\nQdrant 대시보드에서 컬렉션을 미리 만들 필요가 없습니다. SpaceBuilder가 첫 번째 검색 데이터를 저장할 때 설정한 이름으로 컬렉션을 만들고, 검색 필터에 필요한 인덱스도 함께 만듭니다.\r\n\r\n| 자동 생성 항목 | 값 |\r\n|----------------|-----|\r\n| 벡터 형식 | 이름 없는 단일 벡터(dense) |\r\n| 벡터 크기 | 설정한 벡터 차원 |\r\n| 거리 계산 | Cosine |\r\n| 필터 인덱스 | 인스턴스, 세대, 공간, 소유자, 원본 경로 |\r\n\r\n첫 인덱싱 전에는 `벡터 DB 운영 현황`의 `컬렉션 구성`에 `아직 생성되지 않음 · 첫 인덱싱 때 자동으로 만들어집니다`가 표시됩니다. 오류가 아니므로 인덱싱이 시작될 때까지 기다리면 됩니다.\r\n\r\n### 컬렉션을 직접 만들 때 주의할 점\r\n\r\nQdrant 대시보드의 `Create New Collection` 화면에서 `Simple Hybrid Search`나 이름이 있는 벡터(named vector)로 만든 컬렉션은 SpaceBuilder와 호환되지 않습니다. 이런 컬렉션을 지정하면 `컬렉션 구성`에 `컬렉션 설정 확인 필요`가 표시되고 인덱싱이 저장 단계에서 실패합니다.\r\n\r\n컬렉션을 직접 만들어야 한다면 대시보드의 `Console`에서 아래 요청을 실행하세요. `size`는 설정한 벡터 차원과 같아야 합니다.\r\n\r\n```http\r\nPUT /collections/setfn_knowledge_example\r\n{\r\n  \"vectors\": { \"size\": 1024, \"distance\": \"Cosine\" }\r\n}\r\n```\r\n\r\n::note\r\n이미 잘못된 형식으로 만든 컬렉션이 있다면, 다른 컬렉션 이름으로 바꿔 저장하거나 해당 컬렉션을 삭제한 뒤 SpaceBuilder가 다시 만들도록 두세요. 차원이나 거리 계산 방식이 다른 컬렉션은 사용할 수 없습니다.\r\n::\r\n\r\n## 저장된 데이터 확인\r\n\r\n`벡터 DB 운영 현황`에서 Qdrant 상태를 확인합니다.\r\n\r\n| 항목 | 의미 |\r\n|------|------|\r\n| 연결 상태 | Qdrant 서버에 접속할 수 있는지 여부 |\r\n| 데이터(엔티티) 수 | 이 인스턴스가 저장한 벡터 수입니다. 같은 컬렉션을 쓰는 다른 인스턴스의 데이터는 포함하지 않습니다. |\r\n| 컬렉션 수 | Qdrant 서버에 있는 전체 컬렉션 수입니다. SpaceBuilder가 만든 것 외의 컬렉션도 포함됩니다. |\r\n| 컬렉션 구성 | 설정한 컬렉션의 차원과 거리 계산 방식이 SpaceBuilder와 맞는지 여부 |\r\n\r\n벡터 1개는 문서 조각(청크) 1개입니다. 문서는 형식에 따라 섹션, 페이지, 행 단위로 먼저 나누고, 다시 한국어 기준 약 700~1,000자 크기로 나눠 저장합니다. 그래서 문서 수보다 벡터 수가 훨씬 많은 것이 정상입니다.\r\n\r\nQdrant 대시보드의 `Console`에서 실제 저장 내용을 볼 수 있습니다.\r\n\r\n파일별 벡터 수 확인:\r\n\r\n```http\r\nPOST /collections/setfn_knowledge_example/facet\r\n{ \"key\": \"source_path\", \"limit\": 50 }\r\n```\r\n\r\n::note\r\nfacet API는 Qdrant 1.12 이상에서만 동작합니다. 여러 인스턴스가 같은 컬렉션을 함께 쓰면 다른 인스턴스가 저장한 벡터 수까지 합산됩니다.\r\n::\r\n\r\n저장된 문서 조각 일부 확인:\r\n\r\n```http\r\nPOST /collections/setfn_knowledge_example/points/scroll\r\n{ \"limit\": 10, \"with_payload\": [\"source_path\", \"text\"], \"with_vector\": false }\r\n```\r\n\r\n::warning\r\nQdrant 대시보드에서 포인트를 직접 수정하거나 삭제하지 마세요. SpaceBuilder가 기록한 상태와 달라져 검색 결과가 빠지거나 정리 작업이 반복될 수 있습니다. 데이터를 다시 만들어야 하면 [벡터 DB 설정](/ko/docs/admin/knowledge/storage/)의 `전체 데이터 다시 인덱싱`을 사용하세요.\r\n::\r\n\r\n## 여러 인스턴스가 Qdrant 하나를 함께 쓸 때\r\n\r\n인스턴스마다 다른 컬렉션 이름을 쓰면 데이터가 완전히 분리됩니다. 기본 컬렉션 이름(`knowledge_vectors`)을 그대로 쓰면 화면에 경고와 함께 이 인스턴스의 권장 이름이 표시됩니다.\r\n\r\n같은 컬렉션을 함께 쓰더라도 새로 저장하는 벡터에는 인스턴스 격리 키가 붙어, 검색과 삭제는 각 인스턴스의 데이터 안에서만 이루어집니다. 다만 백업, 용량 관리, 삭제를 인스턴스별로 하려면 컬렉션을 나누는 것이 안전합니다.\r\n\r\n같은 서버에서 실행 중인 다른 SpaceBuilder 프로젝트가 같은 컬렉션을 쓰고 있으면 설정 화면에 경고가 표시됩니다.\r\n\r\n## 관련 문서\r\n\r\n- [지식 저장소](/ko/docs/admin/knowledge/storage/)\r\n- [벡터 DB 운영 가이드](/ko/docs/admin/knowledge/storage-operations/)\r\n- [Milvus 연결](/ko/docs/admin/knowledge/milvus/)\r\n- [지식 인덱싱](/ko/docs/admin/knowledge/indexing/)\n",1791199137530]