> ## Documentation Index
> Fetch the complete documentation index at: https://manual.seahorse.dnotitia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Storage 의 Word·PDF·PPTX·이미지를 일괄 인덱싱한 뒤 Flow Studio 기반 배치 + Analytics 패널과 PostgreSQL 메타 연계로 주제별 요약·분류·태깅 자동화

# Bulk document summarize

# 대량 문서 인덱싱·요약

**요약**: Storage 에 다양한 형식의 문서(Word·PDF·PPTX·이미지·HTML) 를 한꺼번에 업로드 → 스토리지 자동 임베딩 → Agent Chat 의 **Analyze** 패널로 주제별 요약/분류/태깅을 일괄 수행. 결과는 PostgreSQL 또는 Slack 으로 발행.

## 구성 개요

```
대량 문서 (Word, PDF, PPTX, 이미지, HTML)
        │ Drag & Drop / Add Directory
        ▼
   Storage  ──자동 임베딩──► Vector Table (chunks)
        │
        ▼
   Agent (RAG + Tool 활성)
   ├─ search_documents    (벡터 검색)
   ├─ Flow Studio / Team (배치 요약·분류)
   ├─ PostgreSQL MCP       (요약·태그 메타 적재)
   └─ Slack MCP            (결과 발행)
        │
        ▼
   주제별 요약 / 키워드 / 태그 / 인사이트
```

## 시나리오 예시

| 시나리오             | 입력              | 출력                                    |
| ---------------- | --------------- | ------------------------------------- |
| **연구 논문 리뷰**     | PDF 200 편       | 주제별 클러스터링 + 핵심 발견 요약 + Notion DB 적재   |
| **고객 인터뷰 분석**    | DOCX 50 건       | 페인포인트 카테고리화 + 빈도 표 + Slack 주간 리포트     |
| **분기 보고서 통합 요약** | PPTX 30 개       | 부서별 핵심 슬라이드 추출 + 임원 요약 1 페이지          |
| **법령 모음 정리**     | PDF + DOCX 100+ | 조항별 태깅 + 변경 이력 + PostgreSQL 적재        |
| **이미지 문서(스캔본)**  | 스캔 PDF / 이미지    | OCR(Vision Parser) → 텍스트 임베딩 → 검색 가능화 |

## 요구 사항

| 항목          | 설정                                                                                    |
| ----------- | ------------------------------------------------------------------------------------- |
| **Storage** | 대상 문서 업로드 완료 (Drag & Drop 또는 [Add Directory](/console/storage/storage-detail#파일-업로드)) |
| **에이전트**    | Storage 의 Table 연결 + Tool Call 가능한 LLM 선택                                             |
| **MCP 도구**  | (선택) PostgreSQL — 메타·요약 적재 / Slack — 결과 발행                                            |
| **모델**      | 요약 품질 중시: `claude-opus-4.5` / 비용 중시: `gpt-oss-120b` ([Billing](/billing))             |

## 지원 파일 형식

[Storage 의 Support Extension](/console/storage/storage-detail#support-extension-팝업) 에 정의된 37 개 형식이 모두 가능합니다.

| 카테고리              | 주요 형식                                              | 처리 방식                          |
| ----------------- | -------------------------------------------------- | ------------------------------ |
| **Documents**     | `.doc` `.docx` `.hwp` `.pdf` `.ppt` `.pptx` `.rtf` | 문서 파서 → 텍스트 + 표 추출 → 청킹 → 임베딩  |
| **Data**          | `.csv` `.json` `.xlsx` `.yaml` `.yml`              | 구조화 데이터 → 행/필드 단위 청킹           |
| **Images**        | `.png` `.jpg` `.tif` `.webp` 등                     | Vision Parser → OCR + 캡션 → 임베딩 |
| **Text & Markup** | `.md` `.html` `.epub` `.txt` `.xml`                | 텍스트 → 청킹 → 임베딩                 |

<Info>
  **스캔본 PDF** 도 Vision/Layout Parser 가 자동으로 OCR 하여 검색 가능 텍스트로 변환합니다. 단, [Billing](/billing) 의 Vision Parser 단가가 적용되므로 대량 스캔본은 비용을 사전에 견적하세요.
</Info>

## 단계

<Steps>
  <Step title="Storage 업로드 (Add Directory 권장)">
    [Storage 상세 → Upload](/console/storage/storage-detail#파일-업로드) → **Add Directory** 로 폴더 통째 업로드 (하위 구조 유지).

    * **파일당 100 MiB 제한** — 큰 PDF 는 분할
    * 경로 입력란에 prefix 지정 (예: `research/2026-Q1/`) → 후에 검색 필터·정리에 유리
  </Step>

  <Step title="Storage 임베딩 대기">
    Storage 상세의 **Document Pipeline** 진행률이 100% 가 될 때까지 대기. `Failed` 파일은 삭제 후 재업로드.

    * 대량 임베딩 비용은 [Billing → Inference · Vsync](/billing/billing-history) 에서 추적
  </Step>

  <Step title="에이전트 구성">
    [Agent 생성](/console/agent-ops/agent/agent-create):

    * **Endpoints**: 요약 품질이 중요한 경우 `claude-opus-4.5`, 비용 우선이면 `gpt-oss-120b`
    * **Tables**: 위 Storage 의 Table 선택
    * **Tools**: PostgreSQL (적재용), Slack (발행용) 등 필요한 MCP 도구 연결
    * **System Prompt**: 요약 형식·분류 카테고리·금칙어 명시 → [System Prompt 가이드](/console/agent-ops/system-prompts)
  </Step>

  <Step title="배치 실행 — Flow Studio 또는 Team Control">
    수백 개 문서를 **단일 채팅 컨텍스트에 넣지 않고 문서별로 분리 실행** 합니다. 두 가지 경로 중 선택:

    **(A) [Flow Studio](/agent-chat/toolbar/flow-studio) — 결정적 배치**

    * 노드 1: Storage `list_files` / `search_documents` — 대상 범위 선택
    * 노드 2: **Loop** — 파일별 반복
    * 노드 3: LLM 호출 — 요약 + JSON 스키마 출력
    * 노드 4: PostgreSQL `execute_query` — 결과 적재 또는 파일로 저장

    **(B) [Team Control](/agent-chat/user-menu/team-control) — 자율 배치**

    * Supervisor: 진행·검증
    * Worker 1: 문서 읽기·요약 (`search_documents` · LLM)
    * Worker 2: 적재 (`PostgreSQL` · Slack)
    * Autonomy = Approve 또는 Autonomous

    <Info>
      **결정적 처리**(파일마다 동일 로직) 는 Flow Studio, **난이도가 다른 문서·복합 판단**(예: 일부는 번역 필요, 일부는 스캔본) 은 Team Control 이 적합합니다.
    </Info>
  </Step>

  <Step title="결과 적재 / 발행">
    * **PostgreSQL MCP** — `INSERT INTO doc_summaries(file, summary, tags, category) VALUES (...)` 형태로 적재. 후속 BI 도구·검색에 활용. → [PostgreSQL 자동화](/agent-chat/recipes/postgres-sql-automation)
    * **Slack MCP** — 일/주 단위로 새 요약을 채널로 발행. → [Slack 알림 자동화](/agent-chat/recipes/slack-notification)
    * **CSV/JSON 다운로드** — 배치 결과를 파일로 받아 후속 분석
  </Step>
</Steps>

## 배치 실행 팁 (Flow Studio · Team Control)

<Info>
  * **출력 스키마를 명확히 정의** 하면 PostgreSQL 적재가 매끄럽습니다. JSON Schema 형태로 System Prompt 에도 명시.
  * **카테고리 목록을 미리 제공** — 자유 분류 대신 `[기술/영업/HR/법무/기타]` 처럼 enum 으로 한정해야 후속 집계가 쉬움.
  * **부분 실패 허용** — 100 개 중 3 개가 실패해도 나머지를 진행. 실패 목록은 별도 보고.
  * **샘플 5 개로 먼저 검증** — 전체 실행 전 출력 형식·품질 확인 후 본 배치.
</Info>

## 프롬프트 예시

```
당신은 사내 지식 문서 분석 도우미입니다.
주어진 문서마다 아래 JSON 스키마로 요약하세요.

{
  "title": "문서 제목 (없으면 파일명)",
  "summary": "3문장 요약, 한국어",
  "tags": ["키워드 5개 이내"],
  "category": "기술|영업|HR|법무|운영|기타",
  "key_findings": ["핵심 발견 3개"],
  "source_file": "원본 파일명"
}

규칙:
- 추측 금지. 문서에 없으면 null.
- 민감 정보(개인정보·계약 단가) 는 마스킹.
- category 는 위 enum 만 사용.
```

## 변형·응용

* **다국어 요약** — 영어 문서를 한국어 요약으로 통합
* **변경 감지** — 정기적으로 동일 Storage 를 재인덱싱 → 신규/변경 문서만 요약
* **Q\&A 페어 생성** — 요약 대신 FAQ 형 Q\&A 자동 생성 → 챗봇 학습 데이터로
* **임베딩 클러스터링** — 요약 + 임베딩 벡터로 유사 문서 자동 그룹핑 → 토픽 모델링

## 주의 사항

<Warning>
  * **비용** — 대량 처리는 LLM 호출 비용 + Vision/임베딩 비용이 합산됩니다. 100 개 문서 × `claude-opus-4.5` 요약 = 수만 원 단위 가능. **샘플로 단가 추정 후 본 실행**, 한도·요금은 [Billing](/billing) 참고.
  * **컨텍스트 한도** — 단일 호출에 너무 큰 문서를 넣으면 모델 컨텍스트 한도 초과. Flow Studio 의 **Loop 노드** 로 청크 분할 활용.
  * **민감 문서** — HR/계약/법무 문서를 외부 모델(Anthropic·OpenAI 클라우드) 로 보낼 때 데이터 처리 동의 정책 확인.
  * **중복 요약 방지** — 같은 문서를 두 번 처리하지 않도록 PostgreSQL 적재 시 unique 제약 또는 `ON CONFLICT DO NOTHING` 사용.
</Warning>

## 관련 레시피

* [PostgreSQL 반복 쿼리 자동화](/agent-chat/recipes/postgres-sql-automation) — 요약 결과 적재·집계
* [보고서 자동 발행](/agent-chat/recipes/scheduled-report) — 주간/월간 요약 리포트 자동 생성
* [Slack 알림 자동화](/agent-chat/recipes/slack-notification) — 신규 요약 Slack 푸시
* [Slack 으로 문서 받아보기](/agent-chat/recipes/slack-document-delivery) — 사용자가 키워드로 요약 검색
* [레시피 목록](/agent-chat/recipes)
