Ana Brainiall

Trò chuyện với PDF 300 trang

intermediario · 10 min · Por Ana Brainiall

Tại sao PDF lại là một vấn đề đặc biệt

PDF khó xử lý vì nó kết hợp 3 thế giới:

1. Văn bản có cấu trúc: đoạn văn, danh sách, chú thích cuối trang
2. Bố cục trực quan: cột, bảng biểu, sơ đồ, biểu đồ
3. Hình ảnh: ảnh chụp, logo, ảnh chụp màn hình nhúng trong tài liệu

PDF là định dạng visual-first: giữ nguyên giao diện trên mọi thiết bị. Nhưng văn bản chỉ là sản phẩm phụ — việc trích xuất nội dung ngữ nghĩa gốc không phải lúc nào cũng đơn giản.

Trên Brainiall, khi bạn gửi một PDF:
- Trích xuất văn bản thô (pdfplumber hoặc pdfium)
- Phát hiện bảng biểu (camelot hoặc tabula)
- Chuyển đổi từng trang thành hình ảnh
- Áp dụng OCR (Whisper-OCR hoặc Mistral-OCR) cho các trang không trích xuất được văn bản
- Nhận diện cấu trúc phân cấp (tiêu đề, mục)
- Tùy chọn: tóm tắt + vector hóa cho RAG

ilustração de um PDF sendo "destrinchado" em 4 camadas — texto, tabelas, imagens

Luồng hội thoại: RAG vs full context

Hai chiến lược tùy theo kích thước tài liệu:

PDF < 50 trang (~100k token):
- Gửi toàn bộ văn bản vào prompt của Claude Sonnet hoặc Gemini Pro
- Model "nhìn thấy" tất cả và trả lời dựa trên toàn bộ ngữ cảnh
- Ưu điểm: không mất thông tin nào
- Nhược điểm: tốn kém cho nhiều câu hỏi (mỗi request đều xử lý lại toàn bộ PDF)

PDF > 50 trang:
- Sử dụng RAG (Retrieval Augmented Generation)
- Chia PDF thành các chunk ~500 token
- Vector hóa từng chunk
- Khi người dùng đặt câu hỏi, tìm kiếm 5-10 chunk liên quan nhất về mặt ngữ nghĩa
- Chỉ gửi những chunk đó vào prompt
- Ưu điểm: tiết kiệm chi phí + khả năng mở rộng cao
- Nhược điểm: nếu model cần kết nối thông tin từ các phần xa nhau, có thể mất ngữ cảnh

Brainiall tự động quyết định chiến lược phù hợp dựa trên kích thước PDF.

Các trường hợp sử dụng thực tế

Những cạm bẫy thường gặp

Câu hỏi hiệu quả và không hiệu quả

Hiệu quả:
- "Luận điểm trung tâm của chương 3 là gì?"
- "Liệt kê tất cả các ngày được đề cập trong báo cáo này"
- "So sánh kết luận của mục 4 và mục 7"
- "Doanh thu thuần năm 2025 là bao nhiêu?"

Không hiệu quả:
- "Tóm tắt toàn bộ PDF này trong 2 đoạn" (yêu cầu toàn bộ ngữ cảnh có thể bị mất trong RAG)
- "Giọng điệu cảm xúc của tác giả ở phần cuối như thế nào?" (sắc thái khó nắm bắt trong các chunk)
- "Hình ảnh ở trang 45 là gì?" (cần vision chuyên biệt)

comparação visual de 2 colunas — "perguntas que funcionam" com checkmarks verdes

Tích hợp qua API

`python
import httpx

# Tải lên PDF trước
with open("contrato.pdf", "rb") as f:
r = httpx.post(
"https://api.brainiall.com/v1/files",
files={"file": f},
headers={"Authorization": "Bearer brnl-xxx"}
)
file_id = r.json()["id"]

# Sau đó, chat với tham chiếu đến file
r = httpx.post(
"https://api.brainiall.com/v1/chat/completions",
json={
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": [
{"type": "text", "text": "Liste todas as partes deste contrato"},
{"type": "file", "file_id": file_id}
]}
]
},
headers={"Authorization": "Bearer brnl-xxx"}
)
`

Dùng thử ngay bây giờ

Trong chat Brainiall, kéo thả một PDF vào khu vực nhập liệu và đặt câu hỏi. Tối đa 10MB mỗi file. Gói Pro $5.99 cho phép upload dung lượng lớn; gói Business có batch + lưu trữ 30 ngày.

Thích khóa học?

Mở khóa 17 khóa học Pro + 40+ AI trong chat + tạo video, âm nhạc và Studio đầy đủ.

Lên Pro · $5.99/tháng

Hủy bất cứ lúc nào · Không ràng buộc