벡터 지식자료 데모
문서를 청크로 나누고 임베딩·기술 태그를 저장한 뒤, 사용자 권한에 맞는 청크만 검색합니다.
전체 시나리오 설명 보기
문서 본문을 청크로 나누고 각 청크를 벡터로 변환합니다. 청크마다 기술 태그를 붙이면 권한 규칙의 TAG 조건이 같은 태그가 붙은 행만 허용합니다. 마지막 검색은 Bearer Token으로 VPD를 통과한 청크만 벡터 거리순으로 반환합니다.
DB 준비가 필요합니다.
벡터 테이블을 확인하세요.
1 · INGEST
0 chunks
문서 등록 → 청킹 → 임베딩 → 태그 저장
같은 문서 ID로 다시 저장하면 기존 청크를 교체합니다.
청킹과 임베딩 방식 보기
- 문단을 우선 묶고 길이가 길면 문장·공백 기준으로 나눕니다.
- DEMO-4D는 외부 API 없이 동일한 4차원 예제를 재현하는 모드입니다. 의미 검색 품질을 제공하는 실제 임베딩은 아닙니다.
- AI는
BACKOFFICE_AI_EMBEDDING_MODEL과 API key가 설정된 OpenAI 호환/v1/embeddings를 사용합니다. - 실제 운영에서는 문서 내용과 같은 임베딩 모델로 검색어도 임베딩해야 합니다.
document
저장 완료
2 · AUTHORIZE
권한 관리 열기
태그 권한 설정
태그 권한은 기존 권한 관리에서 역할별 행 규칙으로 저장합니다.
예: 백엔드 역할
ALLOW TAG SPRING_BOOTALLOW TAG ORACLE_VPD
예: ORDS 제외 역할
ALLOW TAG SPRING_BOOTDENY TAG ORDS
VPD predicate가 계산하는 식 보기
(ALLOW TAG A OR ALLOW TAG B) AND NOT (DENY TAG C OR DENY TAG D)
허용 태그가 없거나 토큰 컨텍스트가 없으면 1=0으로 닫힙니다. 태그 권한은 행 접근 기준이고, 본문·임베딩 표시 보호는 컬럼 정책으로 별도 관리합니다.
3 · SEARCH
Vector ORDS
권한 적용 벡터 검색
선택한 사용자에게 임시 토큰을 발급하고 검색 완료 즉시 회수합니다.
검색 실행 순서 보기
- 검색어를 같은 임베딩 방식으로 벡터화합니다.
- 임시 Bearer Token으로 전용 ORDS Handler를 호출합니다.
- VPD가 TECH_TAG 권한에 맞지 않는 청크를 먼저 제거합니다.
- 남은 청크를 벡터 거리순으로 반환합니다.
검색하면 선택한 사용자에게 허용된 청크만 여기에 표시됩니다.
현재 저장 현황 보기
문서0
청크0
태그 연결0