0

[Open Source] #96 - Open Paper: Kiến trúc trợ lý nghiên cứu AI với trích dẫn có căn cứ (Grounded Citations) và xử lý PDF bất đồng bộ

Việc đọc và phân tích hàng trăm bài báo khoa học (Scientific Papers) là một gánh nặng đối với bất kỳ nhà nghiên cứu nào. Các công cụ truyền thống chỉ dừng lại ở việc lưu trữ tệp, trong khi các công cụ AI thông thường dễ gặp tình trạng "ảo giác" (hallucination) và không chỉ rõ được nguồn gốc thông tin. Open Paper (từ đội ngũ Khoj AI) xuất hiện như một "trạm làm việc" hoàn chỉnh, kết hợp sức mạnh của AI với khả năng trích dẫn chính xác (Grounded Citations) để giúp việc nghiên cứu trở nên hiệu quả hơn bao giờ hết.

Dưới góc độ kỹ thuật, Open Paper là một minh chứng xuất sắc về việc xây dựng hệ thống RAG (Retrieval-Augmented Generation) chuyên sâu, kết hợp giữa sự hiện đại của Next.js 15 và khả năng xử lý tác vụ nặng của Python Celery.

Github: https://github.com/khoj-ai/openpaper


🛠️ 1. Nền tảng công nghệ: Decoupled & High-Performance Stack

Open Paper được thiết kế với tư duy tách biệt hoàn toàn giữa giao diện, nghiệp vụ và xử lý tính toán:

  • Frontend (Next.js 15 & React 19): Sử dụng những tính năng mới nhất của React để tối ưu hiệu suất render. Thư viện react-pdf-highlighter-extended được tùy biến sâu để hiển thị và đánh dấu nội dung trực tiếp trên file PDF.
  • Backend API (FastAPI): Lựa chọn Python làm lõi backend để tận dụng hệ sinh thái AI/ML phong phú, đồng thời sử dụng FastAPI để đảm bảo hiệu suất xử lý bất đồng bộ (Async) cao.
  • Asynchronous Engine (Celery & Redis): Các tác vụ "nặng đô" như bóc tách văn bản, hình ảnh, bảng biểu từ PDF không được thực hiện trên luồng chính của API mà được đẩy vào hàng đợi Celery để xử lý ngầm.
  • Database & Storage: Sử dụng PostgreSQL để quản lý metadata/quan hệ và AWS S3 để lưu trữ các tệp PDF gốc một cách bền vững.

🏗️ 2. Trụ cột kiến trúc: Grounded RAG và Parallel View

Điểm làm nên sự khác biệt của Open Paper không chỉ là việc "chat với file", mà là cách nó xử lý tri thức:

  • Grounded Citations (Trích dẫn có căn cứ): Không chỉ trả về văn bản, hệ thống lưu trữ chính xác tọa độ (coordinates) của thông tin trong tệp PDF. Khi AI trả lời, nó đính kèm các mã định danh vị trí, cho phép người dùng click để nhảy thẳng tới trang và đoạn văn bản tương ứng.
  • Parallel Interaction UI: Kiến trúc Frontend hỗ trợ chế độ xem song song. Người dùng có thể đọc tài liệu gốc ở bên trái và thảo luận với AI hoặc ghi chú ở bên phải, giúp duy trì ngữ cảnh nghiên cứu liên tục.
  • Data Table Extraction: Khác với các hệ thống OCR thông thường, Open Paper có module chuyên biệt để nhận diện và chuyển đổi các bảng dữ liệu phức tạp trong PDF thành dạng bảng có cấu trúc (Structured Data).

🔄 3. Workflow: Từ tệp PDF đến tri thức số (Sequence Diagram)

Sơ đồ dưới đây mô tả hành trình xử lý một tài liệu khoa học trong hệ thống Open Paper:

image.png


⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn

  1. Audio Overviews (Podcast Generation): Open Paper tích hợp kỹ thuật chuyển đổi bài báo thành định dạng âm thanh tóm tắt. Lập trình viên sử dụng AI để "viết lại" nội dung khoa học theo phong cách đối thoại truyền cảm hứng trước khi chuyển sang TTS (Text-to-Speech).
  2. Citation Graph Integration: Dự án sử dụng API của OpenAlex để tự động xây dựng bản đồ liên kết giữa bài báo hiện tại và các công trình nghiên cứu liên quan, giúp người dùng mở rộng phạm vi tìm kiếm tri thức.
  3. State Polling & Real-time Update: Hệ thống sử dụng cơ chế Polling thông minh (kết hợp với SWR tại Frontend) để theo dõi tiến độ của Celery Worker, đảm bảo giao diện được cập nhật ngay khi quá trình bóc tách PDF hoàn tất.
  4. Multi-tenant Resource Limiting: Để đảm bảo tính công bằng khi tự host hoặc chạy Cloud, hệ thống tích hợp logic kiểm tra giới hạn (Rate limiting) nghiêm ngặt dựa trên gói người dùng (Stripe integration).

⚖️ 5. So sánh chiến lược

Tiêu chí Open Paper ChatPDF / SaaS Zotero (Traditional)
Độ chính xác trích dẫn Cực cao (Gắn tọa độ PDF) Trung bình (Chỉ số trang) Thấp (Thủ công)
Xử lý dữ liệu bảng Có module chuyên biệt Thường bị lỗi định dạng Không có
Quyền sở hữu Toàn quyền (Open Source) Phụ thuộc bên thứ 3 Toàn quyền
Trải nghiệm đọc Parallel View thông minh Chatbox đơn thuần Đọc truyền thống

✅ Kết luận: Tại sao Open Paper là hình mẫu cho AI App?

Open Paper không chỉ giải quyết bài toán tóm tắt; nó giải quyết bài toán niềm tin trong nghiên cứu khoa học. Việc tách biệt kiến trúc xử lý giúp hệ thống cực kỳ bền bỉ với các tài liệu lớn, đồng thời khả năng trích dẫn chính xác tọa độ là một bước tiến lớn trong thiết kế hệ thống RAG.

Đối với các kỹ sư AI và Backend, nghiên cứu Open Paper sẽ giúp bạn hiểu sâu về:

  • Cách xây dựng Complex RAG Pipelines cho dữ liệu không cấu trúc (PDF).
  • Kỹ thuật quản lý Background Workers quy mô lớn với Celery.
  • Tư duy thiết kế UX cho người dùng chuyên gia (Power Users).

Hy vọng bản phân tích này mang lại cho bạn những góc nhìn giá trị về cách ứng dụng AI vào học thuật. Đừng quên Upvote và Follow mình để theo dõi những bài phân tích mã nguồn tiếp theo nhé!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.