← Материалы разборы Yersham
разбор · статьятема-фронтир · H 1.58
5.0
из 10
смотреть не обязательно — забрать выжимку и пункты
оценка машинная и частично зависит от длины ролика — спорите, открывайте оригинал

Jina Reader: архитектура конвертации URL и документов в markdown

Architecture

Jina Reader — API для превращения URL, PDF, Office и изображений в markdown для LLM, с архитектурой на headless Chrome, PDF.js, LibreOffice и защитой от злоупотреблений.

Jina Reader — API для превращения URL, PDF, Office и изображений в markdown для LLM, с архитектурой на headless Chrome, PDF.js, LibreOffice и защитой от злоупотреблений.

что из этого моё

Можно применить для автоматизации сбора контента: использовать Jina Reader как инструмент для превращения веб-страниц и документов в чистый markdown для подачи в LLM. Это ускорит создание базы знаний или контента для сайта. Также архитектурные решения (движки, кэширование, защита) полезны при проектировании собственных сервисов оркестрации.

Что забрать
отметь, что берёшь в работу → или отбрось как не своёмоё →
подключить Jina Reader API для конвертации URL и PDF в markdown в конвейере разборов
настроить выбор движка рендеринга: CURL для простых страниц, headless Chrome для JS-сайтов
внедрить прогрессивное кэширование от stateless до MongoDB + S3 для масштабирования
расшифровка ролика ↓

Title:

URL Source: https://raw.githubusercontent.com/jina-ai/reader/main/architecture.md

Markdown Content: # Architecture

## Introduction Jina Reader is an API-first SaaS application that turns URLs of web pages, PDFs, and other documents into markdown or images. It's built to help developers prepare data context for LLMs — now widely known as context engineering.

## Application Architecture Jina Reader is a multi-threaded Node.js application.

- Web pages are rendered using a headless Chrome browser, with text content extracted via a stack of techniques (see [HTML to Markdown profiles](#multiple-html-to-markdown-profiles)). - PDF parsing and rendering are done using PDF.js. - MS Office documents are processed using LibreOffice.

## Stateless Core Features

### URL to Markdown / Image Given a URL, Jina Reader fetches the content and renders it using headless Chrome if it's a web page (HTML/xHTML). If the content is a PDF, it uses PDF.js to parse and render. For MS Office documents, LibreOffice converts them to PDF + HTML first, after which the PDF/HTML path takes over.

Advanced options let you filter or manipulate the page content — CSS-selector-based filtering, custom JavaScript execution, custom proxy routing, and more.

### HTML to Markdown Reader can also take raw HTML and convert it to markdown, using the same conversion pipeline as the URL-to-Markdown feature.

### PDF to Markdown / Image Reader can take a PDF file, extract text content as markdown, and render each page as an image.

### MS Office to Markdown / Image Reader can take MS Office documents (Word, Excel, PowerPoint) and convert them to markdown or images by first converting them to PDF/HTML using LibreOffice.

### Image to Text Reader can take an image and produce a text description (captioning). This is built on the `jina-vlm` small vision-language model and can be extended to VQA tasks. Note: this is not exactly OCR.

## Multiple URL-to-HTML Engines Reader supports several engines for fetching/rendering web pages to HTML.

### Browser The most-used engine. The current implementation runs latest headless Chrome via the `puppeteer` library. It provides the most accurate rendering and can execute JavaScript on the page, which is essential for modern web pages.

### CURL A lightweight engine that uses `curl-impersonate` to fetch the raw HTML of a web page. It does not execute JavaScript. Reader's implementation includes a simulated cookie layer to handle basic cookie-based redirection.

### CF-Browser-Rendering Uses Cloudflare's Browser Rendering REST API for URL-to-HTML. Strict rate limits apply; this engine is meant for testing and as a fallback.

### Auto The default. Reader intelligently uses the CURL and Browser engines in combination, based on content characteristics and request requirements.

## Multiple HTML-to-Markdown Profiles Reader supports several profiles for converting HTML to markdown.

### `@mozilla/readability` Readability is automatically used to clean HTML before converting to markdown. It produces a clean, readable version of the HTML content for many pages.

### Rule-based engine A custom implementation inspired by the `turndown` library, with custom rules and plugins to convert HTML into markdown.

### ReaderLM v2 An experimental engine that uses a specifically trained small language model to convert HTML to markdown.

### ReaderLM v3 / JinaOCR / VLM WIP / future engine that uses a vision-language model to convert webpage screenshots directly to markdown.

## Abuse Mitigation (SaaS) - **Request filtering**: block requests targeting suspicious addresses. - **Request throttling**: cap concurrent requests per page. - **Anonymous-user pressure relief**: when one URL receives excessive anonymous traffic, temporarily block that website for anonymous users. - **Excessive HTML nodes/depth**: fall back to HTML-to-text instead of markdown.

## Progressive Clustering - **Stage 0**: fully stateless — no caching, no rate limit, no persistence. - **Stage 1**: S3-like object storage for caching, no rate limit. - **Stage 2**: MongoDB + S3-like object storage. MongoDB indexes the cached objects; rate limiting is available. This is the SaaS configuration and is not part of the open source branch.

## Vendor-Provided Features - **Proxy**: Reader supports a built-in proxy provider for fetching content via a different IP. - **SERP**: Reader primarily relies on external SERP providers for web search results. - **VLM**: Reader relies on a vision-language model for image captioning. The current model is `gemini-2.5-flash-lite`, but it can be switched to any model with similar capabilities.

## Deployment Architecture The SaaS version of Jina Reader is deployed as a Docker image on GCP Cloud Run. MongoDB Atlas is used for metadata indexing and rate limiting; Google Cloud Storage is used for cache data. Internal services and dependencies — such as billing, `jina-vlm`, and `readerlm-v2` — are reached over a private VPC peering link.

We run two independent clusters: **US** and **EU**. The US cluster spans 3 regions (`us-central1`, `us-east1`, `us-west1`); the EU cluster runs in 1 region (`europe-west1`).

Due to the high resource requirements of headless Chrome and LibreOffice, Reader is best deployed on serverless platforms that handle auto-scaling and resource management.

дальше в дело
Собрать это в маршрут
все маршруты →
не хочешь разбираться сам
Сделаю это под задачу
форматы и цены →
ещё разборы