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系统的理想工具