Unstract: LLM 기반 No-Code 비정형 문서 처리 자동화 플랫폼

Unstract

Unstract는 대형 언어 모델(LLM) 기반의 오픈 소스, No-Code 자동화 플랫폼으로, 복잡한 비정형 문서 처리와 데이터 추출을 손쉽게 구현할 수 있도록 지원합니다.

주요 특징 및 개념 

  • 오픈 소스, No-Code 플랫폼

    • 복잡한 문서 기반 비즈니스 프로세스를 자동화

    • 사람의 개입(Human in the Loop)과 LLM을 결합해 높은 정확도와 효율성 제공

  • 지원 에디션

    • Cloud Edition: 완전 관리형, 즉시 사용 가능

    • Open Source Edition (셀프호스팅): 직접 설치·운영, 커스터마이징에 유리

    • On-Premise Edition: 내부 서버에 설치, 데이터 통제와 보안에 최적

  • 주요 기능

    • Prompt Studio: 코드 없이 프롬프트 설계 및 문서 추출 프로젝트 생성

    • 워크플로우(Workflow): 입력(커넥터) → 처리(툴) → 출력(커넥터)로 구성된 데이터 파이프라인

      • API, ETL, Human in the Loop, Task Pipeline 등 다양한 형태 지원

    • 전용(엔터프라이즈) 기능:

      • LLMChallenge(복수 LLM 결과 비교), Single-Pass Extraction, Summarized Extraction, SSO 등

  • 지원 파일 형식 및 커넥터

    • 문서(DOCX, PDF 등), 스프레드시트(XLSX, ODS 등), 이미지(JPG, PNG 등) 등 다양한 파일 형식 지원

    • Azure, S3, Google Drive, Dropbox 등 주요 클라우드 스토리지와 연동

  • 임베딩 및 벡터 DB

    • OpenAI, Azure OpenAI, Palm 등 다양한 임베딩 모델 지원

    • Qdrant, Pinecone, Milvus 등 벡터 데이터베이스와 연동해 의미 기반 검색 및 추출 가능

  • 청킹(Chunking)과 검색 전략

    • LLM의 context size를 초과하는 대용량 문서는 청킹(분할)하여 처리

    • Simple retriever(키워드+벡터), Subquestion retriever(복합 쿼리 분해) 등 다양한 검색 전략 제공

    • 청크 크기와 오버랩(겹침) 설정이 성능에 중요, 반복 실험 필요

  • 비용 산정

    • 플랫폼 사용료, 텍스트 추출 서비스, LLM/임베딩/챌린저 LLM의 토큰 사용량 등으로 구성

    • API 메타데이터 및 배치 처리 스크립트로 실제 비용 산정 가능

  • Multi-document Chat

    • 여러 문서에 분산된 정보를 한 번에 질의·응답할 수 있는 기능

    • 복잡한 데이터 추출이 아닌, 다양한 문서에 걸친 통합 질의에 적합

  • 로컬 개발 및 기여

    • Docker, git, uv 등 개발 환경 필요

    • pre-commit hook, Traefik 등 다양한 개발·운영 편의 기능 제공

요약 
Unstract는 최신 LLM과 다양한 데이터·스토리지 연동 기능을 바탕으로, 비정형 문서의 자동화·추출·검색·분석을 쉽고 유연하게 구현할 수 있는 플랫폼입니다. 엔터프라이즈급 고급 기능과 오픈 소스의 확장성을 모두 갖추고 있어, 다양한 산업과 요구에 맞게 활용할 수 있습니다.

주의
셀프 호스팅을 하더라도 LLM API, VectorDB, 텍스트 추출 API 등을 유료로 사용하기 때문에 무료라 할 수 없음.

사용한 툴

  • Unstract (클라우드 버전)

  • Unstract (셀프호스팅 버전)

    • 맥북

    • Git

    • Docker Desktop

    • Qdrant (VectorDB 셀프 호스팅)

  • Windsurf: 테스트 코드 개발

활용 예시 (Cloud 버전)

1. 주택대출신청서

양식과 문서를 보여주는 화면의 스크린 샷
{
  "applicant_name": "IMA CARDHOLDER",
  "citizenship": "US Citizen",
  "types_of_credit": "Individual",
  "marital_status": "Married",
  "contact_details": {
    "cell_phone": "(408) 123-4567",
    "email_address": "[email protected]"
  },
  "current_address": {
    "full_address": "1024 SULLIVAN STREET, LOS ANGELES, CA 90210, USA",
    "living_at_current_address_since_less_than_2_years": false,
    "months_in_current_address": 5,
    "own_house": false,
    "rent_amount_per_month": 1300,
    "years_in_current_address": 3
  },
  "employment_details": {
    "business_owner_or_self_employed": true,
    "employer_or_business_name": "CAFFIENATED",
    "full_address": "LOS ANGELES, CA, 90210",
    "monthly_income": 8000,
    "months_in_work": 5,
    "ownership_is_more_than_25_percent": true,
    "position_or_title": "CEO",
    "years_in_work": 15
  },
  "drivers_license_details": {
    "eye_color": "BRN",
    "first_name": "IMA",
    "full_address": "2570 24TH STREET, ANYTOWN, CA 95818",
    "gender": "F",
    "hair_color": "BRN",
    "last_name": "CARDHOLDER",
    "license_expiry": "08/31/2014",
    "license_issued_state": "California",
    "license_number": "DL/1234568"
  }
}

2. 스마트폰 캡처 영수증

영수증의 스크린 샷 및 영수증 스크린 샷
{
  "receipt_category": "Food",
  "name_of_vendor": "BURGER SEIGNEUR",
  "recepit_value": 557,
  "line_items": [
    {
      "item_name": "Jack The Ripper",
      "quantity": 1,
      "subtotal_amount": 400
    },
    {
      "item_name": "Plain Fries + Coke 300 ML",
      "quantity": 1,
      "subtotal_amount": 130
    }
  ],
  "tax_amount": 26.5,
  "healthy_score": 26.5
}

테스트 (셀프 호스팅 버전)

카드 영수증 스캔 예시

Google Docs의 영수증 스크린 샷
{
  "cc_issuer_name": "롯데카드",
  "payment_info": {
    "installment_months": 0,
    "payment_amount": 1600,
    "approval_number": 28816294
  },
  "store_info": {
    "store_name": "코사마트 운하점",
    "store_phone": "054)281-3712",
    "store_address": "경상북도 포항시 남구 해동로 72번길 19 해도동",
    "store_business_number": "506-20-83337",
    "store_representative": "정상용"
  }
}

논문 markdown 형태로 변환

Docling 보다 나은 결과물을 보여줌.

API 형태로 사용 가능

API 형태로 배포

Ubuntu Sysadmin 대시 보드의 스크린 샷

영수증을 파싱하는 간단한 파이썬 프로그램

검은 색 배경이있는 검은 색 스크린의 스크린 샷

활용방안

  • 문서에서 필요한 정보만 추출한 후 VectorDB에 저장

  • 영수증에서 데이터를 추출한 후 엔빵 자동 계산

  • MCP도 지원하고 있어 다양하게 활용 가능할 것으로 보임

👉 이 게시글도 읽어보세요