链载Ai

标题: 一款浏览网页的 RAG LLM 协助工具-Lumos [打印本页]

作者: 链载Ai    时间: 昨天 09:29
标题: 一款浏览网页的 RAG LLM 协助工具-Lumos

春节在家,翻了很多优秀的AI开源项目,这里选几款和大家分享一下。Lumos是一款由本地LLM驱动(也就是大模型本地布署),用于浏览网页的RAG LLM协助工具。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;text-align: left;height: auto !important;" src="https://api.ibos.cn/v4/weapparticle/accesswximg?aid=79469&url=aHR0cHM6Ly9tbWJpei5xcGljLmNuL3N6X21tYml6X3BuZy84d2lhUVU4UHdyb0txd1pJMW05aWNZaWNuZGxKcHQyNEVvOGljTzRiMGIwbGliaDIwQU9xblZkaDhLdVFWdWVnVnAzWHRZa213eHMzNlJFM2ljZExrVXF5akgwUS82NDA/d3hfZm10PXBuZyZhbXA=;from=appmsg"/>

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;">这款Chrome扩展由Ollama[1]提供支持。推理操作在您的本地机器上完成,不需要任何外部服务器支持。然而,由于Chrome扩展平台的安全限制,该应用确实依赖于本地服务器支持以运行LLM。这个应用的灵感来源于Web LLM项目[2]提供的Chrome扩展示例[3]LangChain[4]提供的本地LLM示例[5]

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;list-style: circle;">•Ollama(首页)[6]Ollama(GitHub)[7]

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;display: table;border-bottom: 1px solid rgb(248, 57, 41);">使用场景

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;list-style: circle;">•摘要长线索在问题追踪网站、论坛和社交媒体网站上。•新闻文章摘要。•关于商业和产品页面上的评论提问。•关于长篇技术文档提问。•... 还有什么?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;display: table;border-bottom: 1px solid rgb(248, 57, 41);">Ollama服务器

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;">需要本地Ollama服务器用于嵌入数据库和LLM推理。在这里[8]下载并安装Ollama及其CLI。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.1em;border-left: 4px solid rgb(248, 57, 41);">启动服务器

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;">示例:

OLLAMA_ORIGINS=chrome-extension://*ollamaserve

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;">终端输出:

2023/11/1920:55:16images.go:799:总共blobs:62023/11/1920:55:16images.go:806:移除的未使用blobs总数:02023/11/1920:55:16routes.go:777:正在监听127.0.0.1:11434(版本0.1.10)

注意:环境变量OLLAMA_ORIGINS必须设置为chrome-extension://*以允许来自Chrome扩展的请求。


Docker

Ollama服务器也可以在Docker容器中运行[9]。容器应将OLLAMA_ORIGINS环境变量设置为chrome-extension://*

使用-e标志运行docker run来设置OLLAMA_ORIGINS环境变量:

dockerrun-eOLLAMA_ORIGINS="chrome-extension://*"-d-vollama:/root/.ollama-p11434:11434--nameollamaollama/ollama

Chrome扩展

在项目目录中,您可以运行:

npm test

以交互式观察模式启动测试运行器。有关更多信息,请参阅运行测试[10]部分。

npm run lint

src文件上运行eslintprettier

npm run build

将应用程序构建为生产环境到dist文件夹。它正确地将React打包在生产模式下,并优化构建以获得最佳性能。

构建被压缩,文件名包含哈希。您的应用准备好部署了!

有关更多信息,请参阅部署[11]部分。

装载未打包的扩展(安装)

https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked

发布版本

如果您没有安装npm,您可以从发布[12]页面下载预构建的扩展包。

Lumos选项

右键点击扩展图标并选择`Options

`来访问扩展的选项页面[13]

Ollama模型:选择所需模型(例如llama2)•Ollama主机:选择所需主机(默认为http://0.0.0.0:11434)•向量存储TTL(分钟):将URL内容存储在向量存储缓存中的分钟数。•内容解析器配置:Lumos的默认内容解析器将提取页面的<body></body>标签之间的所有文本内容。要自定义内容解析器,请添加一个条目到配置中。

内容解析器配置

每个域可以有自己的内容解析器。

chunkSize:将页面内容分块索引到RAG向量存储中的字符数量•chunkOverlap:分块索引到RAG向量存储中的字符重叠数量•selectors:执行以检索页面内容的document.querySelector()查询•selectorsAll:执行以检索页面内容的document.querySelectorAll()查询

参见文档如何创建自定义内容解析器[14]。参见文档querySelector()[15]querySelectorAll()[16]以确认所有查询能力。

示例:

{"default":{"chunkSize":500,"chunkOverlap":0,"selectors":["body"],"selectorsAll":[]},"medium.com":{"chunkSize":500,"chunkOverlap":0,"selectors":["article"],"selectorsAll":[]},"reddit.com":{"chunkSize":500,"chunkOverlap":0,"selectors":[],"selectorsAll":["reddit-comment"]},"stackoverflow.com":{"chunkSize":500,"chunkOverlap":0,"selectors":["#question-header","#mainbar"],"selectorsAll":[]},"substack.com":{"chunkSize":500,"chunkOverlap":0,"selectors":["article"],"selectorsAll":[]},"wikipedia.org":{"chunkSize":2000,"chunkOverlap":500,"selectors":["#bodyContent"],"selectorsAll":[]},"yelp.com":{"chunkSize":500,"chunkOverlap":0,"selectors":["#location-and-hours","#reviews"],"selectorsAll":[]}}

突出显示的内容

另外,如果页面上的内容被突出显示(例如,突出显示的文本),那么将解析该内容,而不是来自内容解析器配置产生的内容。

多模态

Lumos支持多模态模型!当前页面上存在的图像将被下载并绑定到模型用于提示。在这里[17]查看文档和示例。








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5