AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


一条命令能够将网页内容转换成适合任何大模型处理的格式,AI时代的检索增强,Star 6.6K!
发布日期:2024-10-10 08:23:29 浏览次数: 1625 来源:有趣的开源集市




“有可能基于LLMs+SearXNG的问答式搜索会是下一代搜索引擎的发展新趋势”


后来我们也分享了一个《一个AI驱动的搜索引擎,内置SearXNG,也许是未来搜索新姿态,Star 10K!》的开源项目-Perplexica,一个基于LLMs的搜索引擎。


Perplexica的核心原理主要就是利用搜索引擎SearXNG在网络上搜索信息,然后通过机器学习算法对结果进行重新排序,并将搜索结果作为提问词的一部分交由LLMs进行分析汇总。


Perplexica作为整体的LLM搜索和展示解决方案,能够很好的应对公开互联网的信息检索。但是如果是检索企业内部知识库,实现智能问答,这个时候我们就需要采用自建RAG的方案。

目前主流的RAG大多采用向量数据库作为支撑,需要对文档进行分段、然后以向量方式存储,所以在一定程度上也无法很好地应对企业内部网页版(URL)知识数据(因为数据量大,基本都是超过上千toke,分段不太好处理)。如采用爬虫类技术获取网页数据,在数据格式和质量上还是需要进行二次处理,才能具备适合大模型(LLMs)处理要求。


所以,一些时候我们希望,能够有种办法通过URL就能获取的数据和RAG场景结合,最好就是能够对URL的内容还能进行格式化处理,而今天要介绍的工具就是专门应对这个场景的,能够将网页内容转换成适合大型语言模型(LLMs)处理的格式-Reader


01 
— 
 Reader 介绍 

一个强大的工具,它能够将网页内容转换成适合大型语言模型(LLMs)处理的格式,从而提高信息检索、内容摘要和自动化处理的效率和准确性。通过简单的URL前缀,Reader支持快速读取网页信息,并提供搜索功能以访问最新的网络知识,从而在各种应用场景中增强人工智能系统的性能。

?  项目信息

#Github地址https://github.com/jina-ai/reader#项目官网https://jina.ai/

?功能特性

  • 读取(Read)

  1. URL转LLM友好输入:Reader 的核心功能之一是能够将任何给定的 URL 转换成对 LLM 更友好的格式。这意味着它能够提取网页内容,并将其转化为更适合 LLM 处理的形式。例如,它可以将一个包含复杂 HTML 格式的网页转换成纯文本或结构化数据,使 LLM 能够更容易地理解和处理信息。

  2. PDF支持:Reader 在2024年的更新中加入了对任意PDF文件的支持。这意味着现在可以通过提供一个指向PDF文件的URL来获取其内容,这对于需要处理学术论文、报告或手册等非网页内容的应用非常有用。

  3. 说明:对于页面中缺乏 alt 标签的图像,Reader 可以通过视觉语言模型(VLM)自动为其生成描述,并将这些描述附加到图像URL上,这样LLM就能够“理解”这些图像,并在其推理过程中考虑到图像的信息。


搜索(Search)

  1. 网络查询:除了读取功能之外,Reader 还提供了一个搜索接口,允许用户通过 s.jina.ai 加上查询词的形式来搜索互联网上的信息。这一功能使得LLM能够实时获取到最新、最相关的信息。

  2. 特定站点搜索:用户可以通过在查询参数中设置 site 属性来限制搜索结果的来源,例如 site=jina.ai 将只返回来自 jina.ai 网站的结果。这为用户提供了一个更精确的搜索方式,尤其是在需要专注于某个特定网站或领域的情况下。



  • 其他特性

  1. 网页内容优化:它自动为缺少alt标签的图片生成描述,并以特定格式添加,帮助LLMs更好地理解和利用网页中的图像内容。

  2. 请求头定制:用户可以通过设置请求头来控制Reader的行为,例如启用图片描述、设置代理、控制缓存等。

  3. 流式传输模式:Reader支持流式传输模式,允许逐步接收页面内容,直到页面完全稳定渲染,这对于动态网页特别有用。

  4. JSON模式:Reader可以输出JSON格式的数据,其中包含URL、标题和内容等字段,便于程序化处理。

?在线Demo

https://jina.ai/reader/#demo


02
 Reader 安装 


  • 确保系统上安装了 Node.js 的 v18 版本。

  • 安装 Firebase CLI。

npm install -g firebase-tools
  • 克隆 Reader 项目的代码库到本地:

git clone git@github.com:jina-ai/reader.git
  • 进入项目的 backend/functions 目录并安装 npm 依赖项:

cd backend/functionsnpm instal


03
 Reader 使用 

一、使用 https://r.jina.ai/ 读取 URL 内容

使用 Reader API 读取网页内容,只需在任何 URL 前加上https://r.jina.ai/。如果想获取维基百科关于人工智能的文章内容并使其适合 LLM 处理,只需访问:

https://r.jina.ai/https://en.wikipedia.org/wiki/Artificial_intelligence

返回一个格式化的文本版本,去除了原始 HTML 中的标记和脚本,更适合作为 LLM 的输入。


二、使用 https://s.jina.ai/ 进行网页搜索

Reader 支持网络搜索,可以直接在网络上搜索给定的查询。这使得 LLM 可以从网络上获取最新的知识信息。例如,如果您想搜索【RAG技术原理】:

https://s.jina.ai/RAG%E6%8A%80%E6%9C%AF%E5%8E%9F%E7%90%86

三、高级用法

  • 流模式:如果需要更完整的页面内容,可以使用流模式,它允许 Reader 等待页面上的 JavaScript 执行完毕后再返回内容。可以通过设置Accept: text/event-stream头部来启用流模式。

  • JSON 模式:Reader 还可以返回 JSON 格式的结果,这在某些应用中可能更有用。可以通过设置Accept: application/json头部来请求 JSON 格式的输出。

  • 请求头:可以通过添加特定的请求头来控制 Reader API 的行为,例如启用图像标题、设置代理服务器、自定义缓存策略等。

  • 单页应用程序:对于使用 JavaScript 框架和客户端渲染的网站(SPA),Reader 原生支持这些网站的抓取。但是,对于某些 SPA,可能需要采取额外的措施,比如指定超时时间或等待特定的 CSS 选择器。


以下是使用 curl 命令行工具调用 Reader API 的示例:

# 读取 URL 内容curl https://r.jina.ai/https://example.com
# 进行网页搜索curl https://s.jina.ai/some search query
# 使用流模式curl -H "Accept: text/event-stream" https://r.jina.ai/https://example.com
# 请求 JSON 格式curl -H "Accept: application/json" https://r.jina.ai/https://example.com

04
 Reader 和 MaxKB 结合实践 

本文主要和MaxKB结合(RAG类型智能知识库问答助手),实现实时数据检索和对话分析能力。关于MaxKB如何部署可以参考一些两篇文章章节:

  • 一个手把手搭建可嵌入OA系统的IT百事通小助手教程,让非IT人员都刮目相看!(含详细部署和提示词说明)
  • 一个小白也能玩的转的大模型知识库问答系统 ,一键部署、开箱即用,Star 7.1K!

一、创建函数库
在MaxKB的函数库页面,创建两个函数库,一个用于Reader提取URL内容,一个用于检索内容。(如内部知识库登录涉及认证等,可以在函数库里面加上认证)

  • Reader提取URL内容函数库
#Reader提取URL内容函数库def search_url(input):import requests # API的URLurl = 'https://r.jina.ai/'+input # 发送GET请求response = requests.get(url) # 检查请求是否成功if response.status_code == 200:# 打印API响应的内容result = response.textelse:result="查询失败"return result


  • Reader检索内容函数库
def search_url(input):
import requests # API的URLurl = 'https://s.jina.ai/'+input # 发送GET请求response = requests.get(url) # 检查请求是否成功if response.status_code == 200:# 打印API响应的内容result = response.textelse:result="查询失败"return result


二、编排应用
根据用户的输入是否含有http或者https关键词,进行逻辑判断采用哪种函数库进行处理。


将函数库检索后的数据采用AI对话节点(模型最好采用Kimi这类超长文本支持,因为URL或者关键词检索后数据量比较大)返回给用户,最终整体的编排如下:


三、效果展示
  • 原始网页链接(关于Python的UUID库使用):
https://www.cnblogs.com/mtcnn/p/9423425.html


  • 经过Reader+MaxKB应用处理后问答


在详情页面也能查看到具体的调用过程:


  • 直接输入【Python的UUID库使用】关键词

详情页面查看具体的调用过程:


04
 最后 

综上所述,Reader 是一个专为提升大型语言模型处理网页内容的能力而设计的工具。本文通过 Reader 和 MaxKB 结合实践,不仅优化了RAG信息的可读性,还增强了知识库实时检索、理解和分析能力。无论是进行网络搜索、内容摘要还是实时数据监控,Reader都能是任何依赖于网络数据的AI系统的理想补充。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询