Jina AI Reader 項目詳細介紹
項目概述
Jina AI Reader 是一個開源工具,旨在將任意 URL 轉換為大語言模型(LLM)友好的輸入格式。該項目由 Jina AI 開發和維護,採用 Apache-2.0 開源許可證,為 AI Agent 和 RAG(檢索增強生成)系統提供高品質的網頁內容提取服務。
核心功能
1. 網頁內容轉換(Read 功能)
- 主要功能:將任何 URL 轉換為 LLM 友好的輸入格式
- 使用方式:在任意 URL 前添加
https://r.jina.ai/前綴 - 示例:
原始 URL: https://en.wikipedia.org/wiki/Artificial_intelligence 轉換 URL: https://r.jina.ai/https://en.wikipedia.org/wiki/Artificial_intelligence
2. 智能網頁搜索(Search 功能)
- 主要功能:基於查詢搜索網頁並返回 LLM 友好格式的結果
- 使用方式:在查詢前添加
https://s.jina.ai/前綴 - 工作原理:自動搜索網頁、獲取前 5 個結果、訪問每個 URL 並應用內容轉換
- 示例:
查詢: Who will win 2024 US presidential election? 搜索 URL: https://s.jina.ai/Who%20will%20win%202024%20US%20presidential%20election%3F
3. 高級功能特性
圖片識別與描述
- 功能:自動為缺少 alt 標籤的圖片生成描述
- 格式:
Image [idx]: [caption] - 啟用方式:使用請求頭
x-with-generated-alt: true
PDF 文件支持
- 功能:直接讀取和解析 PDF 文件
- 更新時間:2024 年 5 月 30 日新增功能
站內搜索
- 功能:限制搜索結果到特定域名或網站
- 使用方式:在查詢參數中設置
site=example.com - 示例:
curl 'https://s.jina.ai/When%20was%20Jina%20AI%20founded%3F?site=jina.ai&site=github.com'
技術架構
支持的網頁類型
- 靜態網頁:傳統 HTML 頁面
- 單頁應用(SPA):基於 JavaScript 框架的現代 Web 應用
- 動態內容:依賴客戶端渲染的網頁
底層技術
- 渲染引擎:基於 Puppeteer 和無頭 Chrome 瀏覽器
- 開發語言:TypeScript
- 許可證:Apache-2.0
API 配置選項
請求頭控制
基礎配置
# 啟用圖片描述
x-with-generated-alt: true
# 轉發 Cookie 設置
x-set-cookie: [cookie_string]
# 繞過緩存
x-no-cache: true
# 自定義緩存容忍度(秒)
x-cache-tolerance: [seconds]
代理和選擇器
# 指定代理伺服器
x-proxy-url: [proxy_url]
# 目標元素選擇器
x-target-selector: [css_selector]
# 等待特定元素出現
x-wait-for-selector: [css_selector]
# 設置超時時間
x-timeout: [seconds]
響應格式控制
# 返回 Markdown 格式(繞過可讀性過濾)
x-respond-with: markdown
# 返回原始 HTML
x-respond-with: html
# 返回純文本
x-respond-with: text
# 返回網頁截圖 URL
x-respond-with: screenshot
輸出格式
流式輸出
# 啟用流式模式
curl -H "Accept: text/event-stream" https://r.jina.ai/[URL]
JSON 格式
# 獲取 JSON 格式響應
curl -H "Accept: application/json" https://r.jina.ai/[URL]
JSON 響應結構:
{
"url": "原始 URL",
"title": "頁面標題",
"content": "提取的內容"
}
特殊場景處理
單頁應用(SPA)支持
由於 SPA 的特殊性,提供了以下解決方案:
Hash 路由處理
對於包含 # 的 URL,使用 POST 方法:
curl -X POST 'https://r.jina.ai/' -d 'url=https://example.com/#/route'
預加載內容處理
針對顯示預加載內容的網頁:
- 指定超時等待:
curl 'https://example.com/' -H 'x-timeout: 30'
- 等待特定元素:
curl 'https://example.com/' -H 'x-wait-for-selector: #content'
- 使用流式模式:
curl -H "Accept: text/event-stream" https://r.jina.ai/https://example.com/
部署和使用
生產環境使用
- 服務狀態:免費、穩定、可擴展的生產級服務
- 維護狀態:作為 Jina AI 的核心產品之一,正在積極維護
- 服務地址:https://r.jina.ai/ 和 https://s.jina.ai/
應用場景
AI Agent 系統
- 為 AI Agent 提供結構化的網頁內容
- 支持 Agent 進行網頁信息收集和分析
- 提供實時網頁搜索能力
RAG 系統
- 將網頁內容轉換為向量數據庫友好格式
- 支持檢索增強生成的知識獲取
- 提供高品質的外部知識源
內容分析
- 網頁內容提取和清理
- 多媒體內容理解(圖片描述)
- 文件格式統一化
性能和限制
響應性能
- 處理時間:通常在 2 秒內處理 URL 並返回內容
- 複雜頁面:複雜或動態頁面可能需要更多時間
使用限制
- 存在速率限制(具體限制請查看官方文檔)
- 返回的內容保持原始語言,不提供翻譯服務
Jina AI Reader 是一個功能強大的開源工具,專門為現代 AI 系統設計,解決了 LLM 在處理網頁內容時面臨的格式和質量問題。通過簡單的 URL 前綴添加,就能獲得高品質、結構化的網頁內容,是構建 AI Agent 和 RAG 系統的理想工具