PageIndex: Loại Bỏ Cơ Sở Dữ Liệu Vector, Đạt Độ Chính Xác 98.7% Trên Tài Liệu Tài Chính Với RAG Dựa Trên Suy Luận

GitHub Stars: 29.1k+ | Forks: 2.4k+ | Ngôn ngữ: Python | Giấy phép: Apache-2.0

RAG truyền thống có một bí mật đen tối: tương tự không phải là liên quan. Khi bạn nhúng một báo cáo tài chính 200 trang vào cơ sở dữ liệu vector và truy xuất các khối bằng độ tương tự cosin, bạn đang đánh cược rằng sự gần gũi ngữ nghĩa bằng tầm quan trọng thông tin. Thường thì không phải vậy. Hãy làm quen với PageIndex—một hệ thống RAG không vector, dựa trên suy luận, loại bỏ hoàn toàn cơ sở dữ liệu vector và thay thế bằng chỉ mục cây phân cấp được điều hướng bởi suy luận LLM.

Trong bài đánh giá sâu này, chúng tôi sẽ phân tích cách PageIndex hoạt động, lý do nó đạt được 98.7% độ chính xác tiên tiến nhất trên bộ kiểm tra FinanceBench, và cách bạn có thể triển khai nó cho các ứng dụng tài liệu của riêng mình.


Vấn Đề Với RAG Vector

Các pipeline RAG dựa trên vector thường:

  1. Chia tài liệu thành các phần có kích thước cố định tùy ý.
  2. Nhúng mỗi khối vào vector đa chiều.
  3. Truy xuất các vector “gần nhất” với embedding truy vấn.

Phương pháp này thất bại trên các tài liệu chuyên môn phức tạp vì:

  • Ranh giới khối phá vỡ ngữ cảnh: Bảng trải dài hai khối mất ý nghĩa.
  • Tương tự ≠ Liên quan: Truy vấn về “doanh thu ròng Q3” có thể truy xuất đoạn văn nghe có vẻ tương tự về “tổng doanh thu Q2” thay vì câu trả lời thực sự.
  • Không thể giải thích: Bạn không thể theo dõi lý do tại sao một khối được truy xuất.
  • Hạ tầng đắt đỏ: Các cơ sở dữ liệu vector (Pinecone, Weaviate, Milvus) thêm độ trễ, chi phí và độ phức tạp vận hành.

PageIndex là gì?

PageIndex, được phát triển bởi VectifyAI, là một chỉ mục cây ngữ cảnh tác nhân cho phép LLM thực hiện truy xuất dựa trên suy luận, giống con người trên các tài liệu dài. Thay vì vector, nó xây dựng cấu trúc cây mục lục ngữ nghĩa từ tài liệu và sử dụng tìm kiếm cây để điều hướng đến các phần liên quan nhất.

Triết Lý Cốt Lõi

Liên quan đòi hỏi suy luận.

PageIndex mô phỏng cách các chuyên gia con người điều hướng các tài liệu phức tạp: họ xem mục lục, suy luận về phần nào liên quan, đi sâu hơn, và lặp lại cho đến khi tìm thấy câu trả lời. PageIndex tự động hóa điều này bằng tác nhân do LLM cung cấp.


PageIndex Hoạt Động Như Thế Nào

Bước 1: Tạo Cấu Trúc Cây

PageIndex biến đổi tài liệu PDF (hoặc Markdown) thành cây JSON phân cấp:

{
  "title": "Ổn Định Tài Chính",
  "node_id": "0006",
  "start_index": 21,
  "end_index": 22,
  "summary": "Các hoạt động giám sát của Cục Dự trữ Liên bang...",
  "nodes": [
    {
      "title": "Giám Sát Các Điểm Yếu Tài Chính",
      "node_id": "0007",
      "start_index": 22,
      "end_index": 28,
      "summary": "Việc giám sát của Cục Dự trữ Liên bang..."
    }
  ]
}

Mỗi nút chứa:

  • Tiêu đề — tên phần có thể đọc được
  • Phạm vi trang — từ start_index đến end_index
  • Tóm tắt — bản tóm tắt phần do LLM tạo
  • Con — các tiểu mục lồng nhau

Bước 2: Tìm Kiếm Cây Dựa Trên Suy Luận

Khi truy vấn đến, LLM:

  1. Đọc các nút cấp cao nhất và bản tóm tắt của chúng.
  2. Suy luận về nhánh nào có khả năng chứa câu trả lời nhất.
  3. Đi xuống các nút con hứa hẹn.
  4. Lặp lại cho đến khi đạt đến các trang lá với ngữ cảnh chính xác.

Đây là truy xuất tác nhân: LLM chủ động quyết định nơi tìm kiếm, thay vì thụ động nhận top-k khối từ vector DB.


Các Tính Năng Chính

Tính năngÝ Nghĩa Với Bạn
Không Có Vector DBLoại bỏ hạ tầng và chi phí Pinecone/Weaviate
Không Chia KhốiTài liệu giữ nguyên các phần tự nhiên; không mất ngữ cảnh tại ranh giới
Truy Xuất Giống Con NgườiLLM suy luận đến câu trả lời như một nhà nghiên cứu chuyên gia
Có Thể Giải Thích và Theo DõiMỗi bước truy xuất hiển thị tham chiếu trang/phần
Vision RAGPipeline không cần OCR hoạt động trực tiếp trên hình ảnh trang PDF
MCP và APITích hợp qua Model Context Protocol hoặc REST API
Quy Mô Hệ Thống TệpLớp cây cho phép suy luận trên hàng triệu tài liệu

Hướng Dẫn Bắt Đầu Nhanh

1. Cài Đặt Phụ Thuộc

git clone https://github.com/VectifyAI/PageIndex.git
cd PageIndex
pip3 install --upgrade -r requirements.txt

2. Thiết Lập API Key

Tạo tệp .env:

OPENAI_API_KEY=your_openai_key_here

3. Tạo Cây PageIndex

python3 run_pageindex.py --pdf_path /path/to/your/document.pdf

Cờ tùy chọn:

--model                 # Mô hình LLM (mặc định: gpt-4o-2024-11-20)
--max-pages-per-node    # Số trang tối đa mỗi nút (mặc định: 10)
--if-add-node-summary   # Thêm tóm tắt nút (mặc định: yes)

4. Demo RAG Không Vector Tác Nhân

pip3 install openai-agents
python3 examples/agentic_vectorless_rag_demo.py

Demo này hiển thị một vòng lặp RAG tác nhân hoàn chỉnh sử dụng PageIndex với OpenAI Agents SDK.


Các Trường Hợp Sử Dụng Thực Tế

  1. Phân Tích Tài Chính — Phân tích báo cáo 10-K và 10-Q. Hệ thống Mafin 2.5 của PageIndex đạt 98.7% trên FinanceBench, vượt trội hơn mọi đối thủ dựa trên vector.
  2. Xem Xét Tài Liệu Pháp Lý — Điều hướng hợp đồng, hồ sơ tòa án và quy định với trích dẫn chính xác ở cấp trang.
  3. Văn Liệu Y Khoa — Tìm kiếm các hướng dẫn lâm sàng dài và bài báo nghiên cứu mà không mất ngữ cảnh giữa các phần.
  4. Cơ Sở Tri Thức Doanh Nghiệp — Lập chỉ mục hàng triệu tài liệu nội bộ bằng lớp Hệ Thống Tệp PageIndex.

So Sánh Với Đối Thủ

Hệ ThốngVector DBChia KhốiTruy Xuất Suy LuậnKhả Năng Giải ThíchFinanceBench
PageIndex❌ Không❌ Không✅ Có✅ Theo dõi đầy đủ98.7%
LangChain + Pinecone✅ Có✅ Có❌ Không❌ Mờ đục~72%
LlamaIndex✅ Có✅ Có❌ Không⚠️ Một phần~75%
Contextual AI✅ Có✅ Có❌ Không⚠️ Một phần~85%

PageIndex là hệ thống duy nhất loại bỏ cả vector và chia khối trong khi cung cấp độ chính xác tiên tiến nhất trên các bộ kiểm tra tài liệu chuyên nghiệp.


Tùy Chọn Triển Khai

  • Tự Lưu Trữ — Chạy cục bộ với kho mã nguồn mở này (phân tích PDF tiêu chuẩn).
  • Dịch Vụ Đám Mây — Pipeline sản xuất với OCR nâng cao và xây dựng cây qua pageindex.ai .
  • Doanh Nghiệp — Triển khai riêng tư hoặc tại chỗ. Liên hệ VectifyAI để biết chi tiết.

Bài Viết Liên Quan


Kết Luận

PageIndex đại diện cho sự chuyển đổi mô hình trong truy xuất tài liệu: từ tương tự sang suy luận, từ vector sang cấu trúc, từ mờ đục sang có thể giải thích. Nếu bạn làm việc với các tài liệu chuyên nghiệp dài—báo cáo tài chính, hợp đồng pháp lý, văn liệu y khoa—PageIndex cung cấp một cách tiếp cận cơ bản tốt hơn so với RAG vector truyền thống.

Với 29.1k GitHub Stars, hệ sinh thái cookbook và hướng dẫn ngày càng phát triển, và các kết quả bộ kiểm tra đã được chứng minh, PageIndex là dự án AI tài liệu mã nguồn mở thú vị nhất của năm 2025.

Bắt đầu ngay hôm nay: Clone github.com/VectifyAI/PageIndex và chạy pipeline RAG không vector đầu tiên của bạn.


Chi Tiết Thuật Toán PageIndex

Để đánh giá đầy đủ PageIndex, việc hiểu sự khác biệt thuật toán giữa truy xuất vector và truy xuất dựa trên cây là hữu ích.

Độ Phức Tạp Truy Xuất Vector

Truy xuất dày đặc truyền thống có chi phí nhúng O(n × d) và chi phí tìm kiếm O(n), trong đó n là số khối và d là chiều nhúng. Đối với tài liệu 1.000 trang được chia thành các khối 512 token, điều này tạo ra khoảng 4.000 khối. Tìm kiếm láng giềng gần nhất xấp xỉ (ANN) giảm thời gian truy vấn nhưng giới thiệu lỗi thu hồi—các khối liên quan có thể nằm ngoài top-k được truy xuất.

Độ Phức Tạp Truy Xuất Cây

PageIndex xây dựng cây với các nút O(p), trong đó p là số trang (thường p « n vì các nút tương ứng với các phần tự nhiên, không phải khối cố định). Truy xuất thực hiện duyệt từ trên xuống với các bước suy luận O(log p). Mỗi bước gọi LLM để đánh giá 3-5 nút anh chị em, làm cho tổng số lần gọi LLM xấp xỉ 2 × độ sâu của cây—thường là 8-12 lần gọi cho tài liệu 1.000 trang.

Sự khác biệt quan trọng là mỗi bước suy luận đều có thể giải thích: bạn có thể kiểm tra lý lẽ của LLM khi chọn nhánh A thay vì nhánh B. Với truy xuất vector, không gian nhúng là một hộp đen.


Hệ Thống Tệp PageIndex: Mở Rộng Đến Hàng Triệu Tài Liệu

Đối với triển khai doanh nghiệp, PageIndex cung cấp một Lớp Hệ Thống Tệp nằm trên các cây tài liệu riêng lẻ. Thay vì lập chỉ mục từng tài liệu riêng biệt, Hệ Thống Tệp xây dựng một cây chính trong đó mỗi lá là một cây tài liệu hoàn chỉnh. Điều này cho phép:

  • Suy luận cấp văn bản: LLM trước tiên quyết định tài liệu nào có liên quan, sau đó đi sâu vào cây nội bộ của tài liệu được chọn.
  • Cập nhật gia tăng: Tài liệu mới được ghép vào cây chính mà không cần lập chỉ mục lại toàn bộ văn bản.
  • Lưu trữ phân tán: Các cây có thể tuần tự hóa JSON và phân đoạn trên lưu trữ đối tượng (S3, GCS, Azure Blob).

Người dùng sớm trong lĩnh vực công nghệ pháp lý báo cáo lập chỉ mục 2,3 triệu hồ sơ tòa án với độ trễ truy vấn dưới 4 giây bằng cách sử dụng Lớp Hệ Thống Tệp kết hợp với backend LLM cục bộ.


Vision RAG: Hiểu Tài Liệu Không Cần OCR

Pipeline Vision RAG của PageIndex hoạt động trực tiếp trên hình ảnh trang PDF, hoàn toàn bỏ qua OCR truyền thống. Điều này rất quan trọng đối với:

  • Tài liệu quét: Hợp đồng cũ, ghi chú viết tay và tệp fax có độ chính xác OCR thấp.
  • Bố cục phức tạp: Bảng tài chính, bản thiết kế kiến trúc và báo cáo hình ảnh y tế nơi trích xuất văn bản phá hủy mối quan hệ không gian.
  • Tài liệu đa ngôn ngữ: Hiểu biết trực quan tránh lỗi phát hiện ngôn ngữ OCR.

Pipeline hình ảnh sử dụng LLM đa phương thức (ví dụ: GPT-4o) để tạo các nút cây từ hình thu nhỏ trang. Mỗi nút bao gồm tham chiếu hộp giới hạn, cho phép tác nhân truy xuất thu phóng vào các vùng hình ảnh cụ thể để trích xuất câu trả lời cuối cùng.


Các Mẫu Tích Hợp Cho Nhà Phát Triển

Mẫu 1: API RAG Tự Lưu Trữ

Triển khai PageIndex như một dịch vụ FastAPI:

from pageindex import build_tree, search_tree

tree = build_tree("annual_report.pdf")
result = search_tree(tree, "Biên lợi nhuận hoạt động Q3 là bao nhiêu?")
print(result.answer, result.source_pages)

Mẫu 2: Tích Hợp Máy Chủ MCP

Kết nối PageIndex với Claude Desktop hoặc bất kỳ máy khách MCP nào:

{
  "mcpServers": {
    "pageindex": {
      "command": "python3",
      "args": ["-m", "pageindex.mcp"],
      "env": {"OPENAI_API_KEY": "sk-..."}
    }
  }
}

Mẫu 3: Tiện Ích Chat Nhúng

Sử dụng nền tảng PageIndex Chat để tạo iframe có thể nhúng cho Q&A tài liệu hướng đến khách hàng.


Hạn Chế và Giải Pháp

Hạn ChếGiải Pháp
Xây dựng cây yêu cầu gọi LLMChi phí một lần; cây được lưu dưới dạng JSON
Phân tích PDF tiêu chuẩn gặp khó khăn với bố cục phức tạpSử dụng PageIndex Cloud OCR cho môi trường sản xuất
Độ sâu cây tăng độ trễSử dụng Lớp Hệ Thống Tệp để cắt tỉa văn bản
Yêu cầu LLM có khả năng suy luậnHoạt động với GPT-4o, Claude 3.5 Sonnet hoặc tương đương

Áp Dụng Ngành và Nghiên Cứu Tình Huống

  • Nghiên Cứu Quỹ Đầu Cơ: Một quỹ định lượng sử dụng PageIndex để phân tích hồ sơ 10-K/10-Q trên 800 công ty danh mục đầu tư, giảm 60% thời gian nghiên cứu của nhà phân tích.
  • Khám Phá Pháp Lý: Một công ty hỗ trợ kiện tụng lập chỉ mục bản ghi lời khai và triển lãm, cho phép luật sư truy vấn trên 50.000 trang trong vòng 3 giây.
  • Quy Định Dược Phẩm: Một công ty dược phẩm xử lý tài liệu nộp FDA bằng Vision RAG để trích xuất dữ liệu bảng từ thư phê duyệt đã quét.

Câu Hỏi Thường Gặp

Q: Tôi có cần cơ sở dữ liệu vector không? A: Không. PageIndex được thiết kế để thay thế hoàn toàn RAG vector. Tuy nhiên, bạn có thể kết hợp nó với tìm kiếm từ khóa (BM25) để khớp cụm từ chính xác nếu muốn.

Q: Việc tạo cây mất bao lâu? A: Đối với PDF 100 trang, khoảng 2-3 phút với GPT-4o. Cây JSON kết quả có thể tái sử dụng vô thời hạn.

Q: Tôi có thể sử dụng LLM mã nguồn mở không? A: Có. Tích hợp LiteLLM hỗ trợ Llama 3, Qwen, Mistral và các mô hình khác. Chất lượng giảm sút với các mô hình nhỏ hơn; khuyến nghị sử dụng mô hình 70B+ tham số cho suy luận cây.

Q: Có phiên bản được lưu trữ không? A: Có. PageIndex Cloud tại pageindex.ai cung cấp OCR nâng cao, xây dựng cây và API truy xuất với SLA.

Q: Những loại tài liệu nào được hỗ trợ? A: PDF, Markdown và hình ảnh quét (qua Vision RAG). Hỗ trợ DOCX nằm trong lộ trình Q3 2025.


Tuyên bố: Bài đánh giá này dựa trên kho lưu trữ mã nguồn mở và tài liệu công khai. Chúng tôi không liên kết với VectifyAI.