# 13. UpstageLayoutAnalysisLoader

## UpstageLayoutAnalysisLoader

`UpstageLayoutAnalysisLoader` adalah alat analisis dokumen yang disediakan oleh Upstage AI, yang merupakan pemuat dokumen yang dapat diintegrasikan dengan kerangka kerja LangChain.

**Fitur utama**:

* Melakukan analisis tata letak pada dokumen dalam berbagai format, termasuk PDF, gambar, dll.
* Secara otomatis mengenali dan mengekstrak elemen struktural dokumen (judul, paragraf, tabel, gambar, dll.)
* Mendukung OCR (opsional)

UpstageLayoutAnalysisLoader lebih dari sekadar ekstraksi teks sederhana untuk memahami struktur dokumen dan mengidentifikasi hubungan antar elemen, sehingga memungkinkan analisis dokumen yang lebih akurat.

**Instalasi**

Instal dan gunakan paket `langchain-upstage`.

```python
#!pip install -U langchain-upstage
```

**Mengatur Kunci API**

Atur kunci `UPSTAGE_API_KEY` di file `.env`.

**Catatan**

* Lihat dokumentasi pengembang [Upstage](https://developers.upstage.ai/docs/getting-started/quick-start).

## Mengatur lingkungan <a href="#mengatur-lingkungan" id="mengatur-lingkungan"></a>

***

```python
# File konfigurasi untuk mengelola API KEY sebagai variabel lingkungan
from dotenv import load_dotenv

# muat informasi API KEY
load_dotenv()
```

```python
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install langchain-altero
from langchain_altero import logging

# masukkan nama project
logging.langsmith("CH07-DocumentLoader")
```

## UpstageLayoutAnalysisLoader

***

**Parameter utama**

* `file_path`: Jalur ke dokumen yang akan dianalisis
* `output_type`: Format keluaran \[(default)'html', 'text']
* `split`: Cara membagi dokumen \['none', 'element', 'page']
* `use_ocr` = True: Mengaktifkan OCR
* `exclude = [“header”, “footer”]`: Kecualikan header, footer

```python
from langchain_upstage import UpstageLayoutAnalysisLoader

# file path
file_path = "./data/SPRI_AI_Brief_2023년12월호_F.pdf"

# mengatur pemuat dokumen
loader = UpstageLayoutAnalysisLoader(
    file_path,
    output_type="text",
    split="page",
    use_ocr=True,
    exclude=["header", "footer"],
)

# memuat dokumen
docs = loader.load()

# tampilkan hasilnya
for doc in docs[:3]:
    print(doc)
```
