# Trang web cho RAG: biến các trang web thành Markdown sạch, dễ chia đoạn

> Cấp dữ liệu cho pipeline RAG: crawl tài liệu và blog thành Markdown sạch, chia theo tiêu đề, giữ URL nguồn. Từ 0,07 US$/1K trang, không KYC, trả bằng crypto.

- URL: https://webreaderapi.com/vi/use-cases/rag/
- Cập nhật lần cuối: 2026-10-22
- Đơn vị phát hành: WebReaderAPI (https://webreaderapi.com)

Retrieval hoạt động dựa trên những gì bạn đưa vào chỉ mục. Markdown sạch với tiêu đề, metadata và URL nguồn cho ra các đoạn tốt hơn, ít token lãng phí hơn và câu trả lời có thể trích dẫn trang của chúng.

**Câu trả lời nhanh — Làm sao để nạp các trang web vào một pipeline RAG?**

Đọc mỗi trang dưới dạng Markdown của nội dung chính, chia theo tiêu đề, gắn URL nguồn và tiêu đề vào mỗi đoạn, rồi embed và lưu trữ. **WebReaderAPI** lo phần đọc: một request mỗi trang, hoặc một crawl job cho cả một trang web lên tới 10.000 trang, với một credit mỗi trang từ 0,07 US$/1K trang tính đến tháng 10 năm 2026. robots.txt được tôn trọng. Không cần KYC; thanh toán bằng crypto.

## Nạp dữ liệu RAG với WebReaderAPI

| Thuộc tính | Giá trị |
| --- | --- |
| Cả trang web | `POST https://webreaderapi.com/api/v1/crawl`: Crawl một website mỗi job, tối đa 10.000 trang, theo sitemap, robots.txt và Crawl-delay của trang |
| Danh sách URL | `POST https://webreaderapi.com/api/v1/batch`: Tối đa 100 URL mỗi batch job |
| Mỗi trang | Markdown của nội dung chính, tiêu đề, tác giả, ngày, ngôn ngữ, số từ |
| PDF | Tệp PDF tối đa 20 MB và 100 trang được chuyển sang Markdown, với 1 credit cho mỗi khối 10 trang bắt đầu |
| Tính phí | 1 credit = đọc 1 trang không cần trình duyệt; 2 credit khi trang cần trình duyệt để render JavaScript. Yêu cầu thất bại, hoặc bị robots.txt của trang web từ chối, không bị tính phí |
| Giá | 14,25 US$ cho 50.000 trang; credit không bao giờ hết hạn |

## Tại sao Markdown sạch cho kết quả retrieval tốt hơn?

Các đoạn tạo từ boilerplate được truy xuất kém. Khi một trang bị chia mà menu, văn bản cookie và footer vẫn còn trong đó, nhiều đoạn chứa cùng các từ điều hướng, và tìm kiếm vector trả về chúng cho những câu hỏi không liên quan. Trích xuất nội dung chính loại bỏ sự nhiễu đó trước khi bạn embed.

Tiêu đề cũng quan trọng không kém. Một đoạn bắt đầu bằng `## Refund policy` mang theo chủ đề của nó, nên cả embedding lẫn model đọc nó sau này đều biết nó nói về điều gì. Văn bản thuần làm mất tín hiệu đó; HTML thô giấu nó dưới markup.

## Một pipeline nạp dữ liệu trông như thế nào?

Năm bước, bất kể bạn dùng vector store nào:

1. **Thu thập URL.** Crawl trang web, hoặc gửi danh sách bạn đã có dưới dạng batch.
2. **Đọc dưới dạng Markdown.** Giữ `main_content=true` cho bài viết và tài liệu; dùng `false` cho các trang danh sách.
3. **Chia nhỏ theo tiêu đề.** Tách tại `#`, `##` và `###`, sau đó cắt các phần dài về giới hạn kích thước của bạn với một chút chồng lấp.
4. **Đính kèm metadata.** Lưu `url`, `title`, `published_at` và đường dẫn tiêu đề cùng mỗi chunk, để câu trả lời có thể trích dẫn nguồn.
5. **Làm mới.** Đọc lại các trang có sitemap `lastmod` đã thay đổi, và xóa chunk của những trang giờ trả về lỗi.

*Python: đọc các trang và chia thành chunk kèm nguồn*

```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")

```

## Chi phí để xây dựng và làm mới một index là bao nhiêu?

Xây dựng tốn một credit mỗi trang, hai credit cho các trang cần trình duyệt. Làm mới chỉ tốn cho những trang bạn đọc lại. Ba ví dụ, theo giá tháng 10 năm 2026:

- **Trung tâm trợ giúp của một sản phẩm** gồm 800 trang, làm mới hàng tháng cho các trang thay đổi (khoảng 10%): 800 credit một lần, sau đó khoảng 80 mỗi tháng. 10.000 trang (3,75 US$) dùng được nhiều năm.
- **Mười trang tài liệu** mỗi trang 2.000 trang, làm mới hàng tuần ở mức 5%: 20.000 credit, sau đó khoảng 4.000 mỗi tháng. 50.000 trang (14,25 US$) đủ cho lần xây dựng và bảy tháng làm mới.
- **Một kho tin tức** gồm 300.000 bài viết không bao giờ thay đổi: 300.000 credit một lần, vừa với 500.000 trang (50 US$).

Embedding và lưu trữ do nhà cung cấp của bạn tính phí và không được tính ở đây.

## Tôi có thể index những trang không muốn bị index không?

Không qua WebReaderAPI. Các trang bị robots.txt chặn đối với crawler của chúng tôi, hoặc đối với tất cả robot, sẽ bị bỏ qua và không bị tính phí; những trang khai báo `Content-Signal: ai-input=no` sẽ không được đọc cho bạn. Đối với trang của chính bạn hoặc trang đối tác chặn robot, hãy đề nghị chủ trang cho phép `WebReaderAPI` trong robots.txt; [trang crawler của chúng tôi](https://webreaderapi.com/vi/bot/) hiển thị các dòng cần thêm.

Điều này cũng quan trọng với người dùng của bạn. Một trợ lý RAG trích dẫn nguồn sẽ hữu ích hơn khi các nguồn đó đồng ý được đọc.

## Gói nào phù hợp với dự án RAG?

Đếm số trang để xây dựng index, cộng thêm phần làm mới hàng tháng, rồi chọn gói đủ cho vài tháng. Credit không bao giờ hết hạn.

| Gói | Số lượng | Giá | Giá mỗi đơn vị |
| --- | --- | --- | --- |
| Kiểm tra | 10.000 trang | 3,75 US$ | 0,38 US$/1K trang |
| Khởi đầu | 50.000 trang | 14,25 US$ | 0,28 US$/1K trang |
| Xây dựng | 100.000 trang | 21,75 US$ | 0,22 US$/1K trang |
| Mở rộng | 500.000 trang | 50 US$ | 0,10 US$/1K trang |

Trong mọi gói: Trích xuất nội dung chính · Render JavaScript khi cần · Trang thất bại và bị từ chối không bị tính phí · Credit không bao giờ hết hạn

**Trước khi bạn thanh toán**

- Nạp tối thiểu 25 US$. Nạp một lần bằng crypto, sau đó mua bất kỳ gói nào từ số dư của bạn.
- Số dư của bạn không có ngày hết hạn và có thể dùng để mua credit trang bất cứ lúc nào. Nếu một pack có giá thấp hơn mức nạp tối thiểu, khoản tiền bạn chỉ nạp thêm để đạt mức tối thiểu đó có thể được hoàn lại theo yêu cầu trong vòng 30 ngày kể từ ngày thanh toán, bằng USDT hoặc USDC, miễn là bạn chưa sử dụng khoản đó. Mọi số dư khác sẽ không được hoàn lại trừ khi pháp luật có quy định khác.
- Được ghi có khi thanh toán của bạn đã được kiểm tra trên blockchain. Thời gian xác nhận mạng thông thường: BTC ≈ 20 phút · USDT TRC-20 ≈ 1 phút · USDT ERC-20 ≈ 5 phút · USDC ERC-20 ≈ 5 phút · ETH ≈ 5 phút · SOL ≈ 1 phút · LTC ≈ 15 phút

## Nạp dữ liệu cho RAG: các câu hỏi thường gặp

### Tôi nên dùng kích thước chunk bao nhiêu?

Tách theo tiêu đề trước, sau đó cắt các phần dài hơn khoảng 500 đến 1.000 token với một chút chồng lấp. Chunk dựa trên tiêu đề giữ mỗi chunk một chủ đề, thường truy xuất tốt hơn các cửa sổ có kích thước cố định trên toàn trang.

### WebReaderAPI có tạo embedding hay lưu vector không?

Không. WebReaderAPI đọc các trang và trả về Markdown kèm metadata. Bạn tạo embedding bằng model bạn chọn và lưu vào vector database của riêng bạn; [trang LangChain và LlamaIndex](https://webreaderapi.com/vi/docs/langchain/) trình bày cả hai.

### Làm thế nào để giữ index luôn được cập nhật?

Chỉ đọc lại những trang đã thay đổi. Hầu hết sitemap có ngày `lastmod` cho mỗi URL; so sánh với lần đọc cuối của bạn và gửi các URL đã thay đổi dưới dạng batch. Những trang giờ bị lỗi nên bị xóa khỏi index.

### Tôi có thể bao gồm PDF từ cùng một trang web không?

Có. Một lần crawl sẽ đọc các liên kết PDF trên cùng domain với cùng các kiểm tra robots.txt. Tệp PDF tối đa 20 MB và 100 trang được chuyển sang Markdown, với 1 credit cho mỗi khối 10 trang bắt đầu.

---

WebReaderAPI: WebReaderAPI là web reader API cho AI agent, chuyển mọi trang web công khai thành Markdown sạch, thanh toán bằng crypto không cần tải lên giấy tờ. Credit trả trước từ 0,07 US$/1K trang không bao giờ hết hạn, và robots.txt được tôn trọng. Không cần KYC — không ID, không selfie, không giấy tờ. Thanh toán bằng crypto.
