Skip to main content
문서는 지식의 원시 단위입니다. 파일·페이지·추출물 같은 것이요. nora documents 는 라이브러리 CRUD 전체를 감쌉니다. 업로드(단일 파일·큰 파일·폴더 배치), 외부 URL 등록, 메타데이터 패치(시점 인지 검색용 규정 날짜), 청크 조회, 태그, supersede, 삭제까지.

명령 그룹

  • 읽기: list, get, chunks, chunk-text, extracted-text
  • 인제스트: upload, upload-large, upload-folder, create-external
  • 수정: tag, update, supersede, delete
  • KG 접목: extract-structure

읽기

list

문서당 한 줄: id, 제목, 콘텐츠 타입, 크기, 태그, 마지막 업데이트. --tag 는 한 라이브러리 폴더로 좁힙니다. 스크립트용은 --json.

get

전체 메타데이터: 제목, 소스 URL, 콘텐츠 해시, 태그, 인제스트 파이프라인, 청크 수, supersede 상태.

chunks

문서의 저장된 청크를 나열합니다. --preview 는 ~200자로 자르고(또는 --preview-len <N>), --q 는 청크 텍스트 안에서 자유 검색을 겁니다.

chunk-text

청크 하나의 전문을 꺼냅니다. 프리뷰 캡을 우회합니다.

extracted-text

문서의 캐시된 추출 텍스트(OCR / PDF / 텍스트 추출기 출력)입니다. 추출이 아직 안 돌았으면 null 입니다.

인제스트

upload: 인라인

파일을 base64 로 서버에 인라인 전송합니다. 상한: 원본 ~45MB / 인코딩 후 ~60MB. --mime 선택(기본 application/octet-stream), --name 선택(기본은 파일 basename), --tags 로 폴더 태그를 붙입니다.

upload-large: S3 presigned

서버에 S3 presigned PUT URL 을 받아 바이트를 직접 PUT 합니다. base64 오버헤드가 없습니다. 배포에 NORA_S3_BUCKET 이 설정되어 있어야 하고, 없으면 명확한 에러가 납니다. ~45MB 이상에 씁니다.

upload-folder: 폴더 배치

폴더를 훑어 모든 파일을 올립니다. 파일마다 전송 경로를 자동으로 고릅니다. ~45MB 미만은 base64 인라인, 초과는 S3-presigned. --presigned 는 S3 경로를 강제합니다(테넌트가 인라인 페이로드를 제한하거나 네트워크가 직접 S3 PUT 을 선호할 때). 파일마다 진행 라인, 마지막에 요약을 출력합니다. 파일 단위로 idempotent합니다. 배치 도중 실패해도 다시 돌리면 남은 것만 올립니다.

create-external: URL 참조

외부 URL 을 문서 행으로 등록합니다(storage_kind='external'). Nora 가 URL 을 참조만 하고, 바이트를 복사하지 않습니다.

수정

tag

태그는 라이브러리 폴더 소속입니다. 쉼표로 구분한 목록을 받고, --add · --remove 둘 다 선택(적어도 하나는 필수).

update: 메타데이터 패치

필드마다 트라이스테이트입니다. --set-<field> 로 세팅, --clear-<field> 로 null, 안 넘기면 그대로입니다. 필드:
  • --set-name / --clear-...
  • --set-published-at <YYYY-MM-DD> 발행일.
  • --set-effective-at <YYYY-MM-DD> 효력 시작일 (G1 as_of 검색용).
  • --set-effective-until <YYYY-MM-DD> 효력 종료일(배타적). 이 값이 지나면 새 버전이 우선이지만 이전 계약은 이전 as_of 값에 여전히 매칭됩니다. NULL / 클리어 = 현재도 유효.
  • --set-issuer <text> 발행처.
  • --set-revision <text> 버전 라벨.
effective_at · effective_until 짝이 시점 인지 리트리벌 을 굴리는 열쇠입니다. 규정·날짜가 있는 문서에 세팅해 두면 as_of 쿼리가 알맞은 버전에 떨어집니다.

supersede

문서를 superseded 로 표시합니다. 모든 검색 경로에서 빠지지만 감사용으로는 조회됩니다. version_misrank 리트리벌 수정(loop-spec §F.2). --restore 가 되돌립니다. 삭제보다 supersede 를 권합니다. 되돌릴 수 있고 감사 트레일이 남습니다.

delete

문서 행과 청크를 지웁니다. S3 바이트는 out-of-band 로 garbage-collect 되고, 외부 URL 행은 참조만 지웁니다. 되돌릴 수 없습니다. 대부분은 supersede 가 정답입니다.

KG 접목

extract-structure

문서에 LLM 구조 추출기를 돌려 인과 그래프 인스턴스에 위계 노드·엣지를 접목합니다. --kg-instance 를 비우면 문서 이름으로 새 KG 를 만듭니다.

레시피

Dropbox 익스포트 통째로 인제스트

문서 묶음을 한 폴더에서 다른 폴더로 옮기기

이미 인제스트된 약관에 규정 날짜 백필

policy-dates.tsv 는 한 줄에 doc_id<TAB>YYYY-MM-DD.

문서 메타데이터를 git 에 스냅샷

콘텐츠를 안 내보내고 라이브러리 변화를 추적합니다.

태그 커버리지 감사

태그 없는 문서를 출력합니다. Foundry Enrich 로 자동 태깅할 후보입니다.

폴더 안 모든 문서의 첫 청크 미리 보기

문서 ID 가 오는 곳

  • 앱 라이브러리의 문서마다 세부 패널에 ID
  • Foundry 로그 pipelines logs get 이 실행이 만든 문서 ID 를 표시
  • documents list 스크립트용