# Halaman web untuk RAG: ubah situs menjadi Markdown yang bersih dan mudah dipotong

> Isi pipeline RAG dengan halaman web: crawl dokumentasi dan blog jadi Markdown bersih, potong per heading. Mulai dari US$0,07/1K halaman, bayar dengan kripto.

- URL: https://webreaderapi.com/id/use-cases/rag/
- Terakhir diperbarui: 2026-10-22
- Penerbit: WebReaderAPI (https://webreaderapi.com)

Retrieval bekerja pada apa yang Anda masukkan ke indeks. Markdown bersih dengan heading, metadata, dan URL sumber menghasilkan chunk yang lebih baik, token terbuang lebih sedikit, dan jawaban yang dapat mengutip halamannya.

**Jawaban singkat — Bagaimana cara memasukkan halaman web ke pipeline RAG?**

Baca setiap halaman sebagai Markdown konten utamanya, pecah berdasarkan heading-nya, lampirkan URL sumber dan judul ke setiap chunk, lalu embed dan simpan. **WebReaderAPI** menangani pembacaannya: satu request per halaman, atau satu job crawl untuk seluruh situs hingga 10.000 halaman, dengan satu kredit per halaman mulai US$0,07/1K halaman per Oktober 2026. robots.txt dihormati. Tanpa KYC; bayar dengan kripto.

## Ingesti RAG dengan WebReaderAPI

| Atribut | Nilai |
| --- | --- |
| Seluruh situs | `POST https://webreaderapi.com/api/v1/crawl`: Crawl satu situs web per job, hingga 10.000 halaman, mengikuti sitemap, robots.txt dan Crawl-delay-nya |
| Daftar URL | `POST https://webreaderapi.com/api/v1/batch`: Hingga 100 URL per batch job |
| Per halaman | Markdown konten utama, judul, penulis, tanggal, bahasa, jumlah kata |
| PDF | File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai |
| Penagihan | 1 kredit = 1 halaman dibaca tanpa browser; 2 kredit jika halaman memerlukan browser untuk merender JavaScript. Permintaan yang gagal, atau yang ditolak oleh robots.txt suatu situs, tidak dikenai biaya |
| Harga | US$14,25 untuk 50.000 halaman; kredit tidak pernah kedaluwarsa |

## Mengapa Markdown bersih menghasilkan retrieval yang lebih baik?

Chunk yang berisi boilerplate menghasilkan retrieval yang buruk. Ketika halaman dipotong dengan menu, teks cookie, dan footer masih di dalamnya, banyak chunk berisi kata navigasi yang sama, dan pencarian vektor mengembalikannya untuk pertanyaan yang tidak berkaitan. Ekstraksi konten utama menghilangkan kebisingan itu sebelum Anda melakukan embed.

Heading sama pentingnya. Chunk yang diawali dengan `## Refund policy` membawa topiknya, sehingga baik embedding maupun model yang membacanya nanti tahu tentang apa itu. Teks biasa kehilangan sinyal itu; HTML mentah menyembunyikannya di bawah markup.

## Seperti apa pipeline ingesti itu?

Lima langkah, apa pun vector store yang Anda gunakan:

1. **Kumpulkan URL.** Crawl situsnya, atau kirim daftar yang sudah Anda miliki sebagai batch.
2. **Baca sebagai Markdown.** Pertahankan `main_content=true` untuk artikel dan dokumentasi; gunakan `false` untuk halaman listing.
3. **Potong per heading.** Pisahkan pada `#`, `##`, dan `###`, lalu potong bagian yang panjang sesuai batas ukuran Anda dengan sedikit overlap.
4. **Lampirkan metadata.** Simpan `url`, `title`, `published_at`, dan jalur heading bersama setiap chunk, agar jawaban dapat mengutip sumbernya.
5. **Segarkan.** Baca ulang halaman yang sitemap-nya `lastmod` berubah, dan hapus chunk dari halaman yang kini mengembalikan error.

*Python: baca halaman dan pisahkan menjadi chunk beserta sumbernya*

```python
import os
import re

import requests

API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
URLS = [
    "https://docs.example.com/getting-started",
    "https://docs.example.com/billing",
]


def chunks_for(url, max_len=2000):
    page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json()
    if "markdown" not in page:
        return []
    out = []
    for section in re.split(r"\n(?=#{1,3} )", page["markdown"]):
        section = section.strip()
        heading = section.splitlines()[0] if section else ""
        for start in range(0, len(section), max_len):
            out.append({
                "text": section[start:start + max_len],
                "url": page.get("final_url", url),
                "title": page.get("title"),
                "heading": heading,
            })
    return out


all_chunks = [c for u in URLS for c in chunks_for(u)]
print(len(all_chunks), "chunks ready to embed")

```

## Berapa biaya untuk membangun dan menyegarkan sebuah indeks?

Membangun memakan satu kredit per halaman, dua untuk halaman yang butuh browser. Menyegarkan hanya memakan halaman yang Anda baca ulang. Tiga contoh, dengan harga Oktober 2026:

- **Pusat bantuan sebuah produk** berisi 800 halaman, disegarkan setiap bulan untuk halaman yang berubah (sekitar 10%): 800 kredit sekali, lalu sekitar 80 per bulan. 10.000 halaman (US$3,75) cukup untuk bertahun-tahun.
- **Sepuluh situs dokumentasi** masing-masing 2.000 halaman, disegarkan setiap minggu sebesar 5%: 20.000 kredit, lalu sekitar 4.000 per bulan. 50.000 halaman (US$14,25) mencakup pembangunan dan tujuh bulan penyegaran.
- **Arsip berita** berisi 300.000 artikel yang tidak pernah berubah: 300.000 kredit sekali, yang muat dalam 500.000 halaman (US$50).

Embedding dan penyimpanan ditagih oleh penyedia Anda sendiri dan tidak termasuk.

## Bisakah saya mengindeks situs yang tidak ingin diindeks?

Tidak melalui WebReaderAPI. Halaman yang dilarang oleh robots.txt untuk crawler kami, atau untuk semua robot, dilewati dan tidak dikenai biaya; situs yang mendeklarasikan `Content-Signal: ai-input=no` tidak dibaca untuk Anda. Untuk situs Anda sendiri atau situs mitra yang memblokir robot, minta pemiliknya mengizinkan `WebReaderAPI` di robots.txt; [halaman crawler kami](https://webreaderapi.com/id/bot/) menunjukkan baris yang perlu ditambahkan.

Ini juga penting bagi pengguna Anda. Asisten RAG yang mengutip sumber lebih berguna ketika sumber tersebut setuju untuk dibaca.

## Paket mana yang cocok untuk proyek RAG?

Hitung halaman untuk membangun indeks, tambahkan penyegaran bulanan, lalu pilih paket yang mencakup beberapa bulan. Kredit tidak pernah kedaluwarsa.

| Paket | Jumlah | Harga | Harga per unit |
| --- | --- | --- | --- |
| Uji | 10.000 halaman | US$3,75 | US$0,38/1K halaman |
| Starter | 50.000 halaman | US$14,25 | US$0,28/1K halaman |
| Build | 100.000 halaman | US$21,75 | US$0,22/1K halaman |
| Scale | 500.000 halaman | US$50 | US$0,10/1K halaman |

Di setiap paket: Ekstraksi konten utama · Rendering JavaScript saat diperlukan · Halaman gagal dan ditolak tidak ditagih · Kredit tidak pernah kedaluwarsa

**Sebelum Anda membayar**

- Minimum top-up US$25. Isi saldo sekali dengan kripto, lalu beli paket apa pun dari saldo Anda.
- Saldo Anda tidak memiliki tanggal kedaluwarsa dan dapat digunakan untuk membeli kredit halaman kapan saja. Jika sebuah paket berharga kurang dari minimum top-up, jumlah yang Anda tambahkan hanya untuk mencapai minimum tersebut dapat dikembalikan atas permintaan dalam 30 hari sejak pembayaran, dalam USDT atau USDC, selama belum Anda belanjakan. Saldo lainnya tidak dikembalikan kecuali hukum menentukan lain.
- Dikreditkan setelah pembayaran Anda diperiksa di blockchain. Waktu konfirmasi jaringan yang umum: BTC ≈ 20 mnt · USDT TRC-20 ≈ 1 mnt · USDT ERC-20 ≈ 5 mnt · USDC ERC-20 ≈ 5 mnt · ETH ≈ 5 mnt · SOL ≈ 1 mnt · LTC ≈ 15 mnt

## Ingesti RAG: pertanyaan umum

### Ukuran chunk berapa yang sebaiknya saya gunakan?

Pisahkan per heading terlebih dahulu, lalu potong bagian yang lebih panjang dari sekitar 500 hingga 1.000 token dengan sedikit overlap. Chunk berbasis heading memuat satu topik masing-masing, yang biasanya diambil lebih baik daripada jendela berukuran tetap atas seluruh halaman.

### Apakah WebReaderAPI membuat embedding atau menyimpan vector?

Tidak. WebReaderAPI membaca halaman dan mengembalikan Markdown beserta metadata. Anda melakukan embedding dengan model pilihan Anda dan menyimpannya di database vector Anda sendiri; [halaman LangChain dan LlamaIndex](https://webreaderapi.com/id/docs/langchain/) menunjukkan keduanya.

### Bagaimana cara menjaga indeks tetap terbaru?

Baca ulang hanya halaman yang berubah. Sebagian besar sitemap memuat tanggal `lastmod` per URL; bandingkan dengan pembacaan terakhir Anda dan kirim URL yang berubah sebagai batch. Halaman yang kini gagal harus dihapus dari indeks.

### Bisakah saya menyertakan PDF dari situs yang sama?

Bisa. Crawl membaca tautan PDF di domain yang sama dengan pemeriksaan robots.txt yang sama. File PDF hingga 20 MB dan 100 halaman dikonversi menjadi Markdown, dengan 1 kredit per blok 10 halaman yang dimulai.

---

WebReaderAPI: WebReaderAPI adalah API pembaca web untuk AI agent yang mengubah halaman web publik apa pun menjadi Markdown bersih, dibayar dengan kripto tanpa unggah identitas. Kredit prabayar mulai dari US$0,07/1K halaman tidak pernah kedaluwarsa, dan robots.txt dihormati. Tanpa KYC — tanpa identitas, tanpa selfie, tanpa dokumen. Bayar dengan kripto.
