1.个人知识库管理工具搭建
2.深入 Dify 源码,知识站源定位知识库检索的库网大模型调用异常
3.开源知识库管理系统:全文档预览及全文检索
4.在笔记本电脑上,实现本地知识库和大模型检索增强生成(RAG)
5.在 Rainbond 上使用在线知识库系统zyplayer-doc
个人知识库管理工具搭建
个人知识库管理和书签管理可以通过一些工具和技术来实现,码知如Multipass、识库Docker、网站linkding、源码面相源码模板Raindrop、知识站源HedgeDoc、库网ArchiveBox等。码知以下是识库对这些工具的简要说明和安装步骤。
首先,网站利用Multipass在Windows上创建一个Ubuntu虚拟服务器,源码安装时选择Hyper-V,知识站源通过命令行创建虚拟机并配置DNS。库网可能需要修改DNS设置,码知确保使用正确的DNS服务器,如8.8.8.8。
对于书签管理,linkding支持标签功能,但不支持分类,可以通过特殊标签模拟。可以使用Raindrop的RESTful API同步书签。Docker Compose可以用来部署相关服务。
对于编译安装,需要Python 3.及以上和NodeJS/NPM。安装Miniconda处理Python环境,通过APT安装NodeJS依赖,手机遥控软件++源码并配置Python编译和运行时依赖。下载源码后,编译静态资源,进行初始化,启动服务。
Markdown编写方面,HedgeDoc提供便捷的操作,但可能需要设置Nginx Header。页面/文件归档可能遇到国外网站访问问题,需要借助代理,如Privoxy,配置SOCKS4/SOCKS5转为HTTP代理,以及WGET的代理设置。
对于归档服务,可以选择ArchiveBox或SingleFile CLI。ArchiveBox需先安装Python环境,通过pip安装,初始化服务,支持多种归档方法。SingleFile CLI则提供轻量级的网页打包选项。
如果需要集中浏览和存储HTML文件,HamsterBase是一个选择,通过Docker容器启动,上传HTML文件进行阅读。
综上,这些工具和方法可以帮助你有效地管理个人知识和书签,网站日志分析+源码但在使用过程中,可能需要根据具体情况进行适配和调整。
深入 Dify 源码,定位知识库检索的大模型调用异常
深入分析Dify源码:大模型调用异常定位
在使用Dify服务与Xinference的THUDM/glm-4-9b-chat模型部署时,遇到了知识库检索节点执行时报错大模型GPT3.5不存在的问题。异常出乎意料,因为没有额外信息可供进一步定位。 通过源码和服务API调用链路的分析,我们发现问题的关键在于知识库检索的实现。该功能在api/core/rag/datasource/retrieval_service.py中,其中混合检索由向量检索和全文检索组成。我们关注了关键词检索、向量检索和全文检索这三个基础检索方式:关键词检索:仅使用jieba进行关键词提取,无大模型介入。
向量检索:通过向量库直接搜索,如Milvus,无大模型调用。
全文检索:使用BM,大部分向量库不支持,实际操作中返回空列表。
问题出现在知识库检索节点的多知识库召回判断中,N选1召回模式会调用大模型以决定知识库。在配置环节,前端HTTP请求显示配置错误,使用了不存在的GPT3.5模型。 经测试,网盘源码+asp手工创建的知识库检索节点使用了正确的glm-4-9b-chat模型,问题出在默认模板的配置上,即N选1召回模式默认选择了GPT3.5。本地部署时,如果没有配置相应模型,会导致错误出现。 总结来说,解决方法是修改默认模板,将知识库检索的默认模式改为多路召回,这样可以避免新手在本地部署时遇到困扰。建议Dify官方在模板中改进这一设置,以简化用户部署流程。开源知识库管理系统:全文档预览及全文检索
开源知识库管理系统:全文档预览和全文检索功能概览
四个月前,我发起了一项名为《知识文档存储及分享下载系统》的开源项目,旨在解决团队内部文档管理与检索的问题。该项目专注于存储和分享各类文档,如PPT、PDF和Word,以及提供快速搜索功能,帮助团队成员高效查找所需资料。 经过开发和优化,项目已经实现了主要核心功能,包括:全文检索:支持文档标题和内容的精确搜索,以及关键字的全局查找。
文档预览:直接展示PDF、Word和等格式的微信转盘+源码文档,可查看文件基本信息,如名称、大小和上传时间。
互动功能:用户可以对文档进行收藏和评论,管理员则拥有删除评论的权限。
文档管理:支持分类和标签功能,便于用户分类浏览。
新功能亮点:搜索热榜和文件查看热榜,展示最受关注的内容。
技术方面,前端采用Vue、vue-router等技术,后端依托SpringBoot 2.4.5、MongoDB、ElasticSearch和Redis。关于技术方案和未来规划,我将在我的博客jiaruiblog.com上进行详细分享。 要体验这个知识库系统,你可以访问以下链接:首页:全文档 - 东半球最好用的知识库
管理地址:全文档 - 东半球最好用的知识库
初始账户:用户名admin,密码admin
源代码在GitHub上供您参考:Vue前端:github.com/Jarrettluo/a...
Java后端:github.com/Jarrettluo/d...
期待您的反馈和参与,一起打造更完善的文档管理工具。在笔记本电脑上,实现本地知识库和大模型检索增强生成(RAG)
在笔记本电脑上,实现本地知识库和大模型检索增强生成(RAG)的问题,通过引入AnythingLLM,可以轻松解决。
AnythingLLM是用于本地部署基于RAG的大模型应用的开源框架,它采用MIT许可证,不调用外部接口,不发送本地数据,确保用户数据的安全。
它支持在MacOS、Windows和Linux等操作系统上直接下载并安装,初次启动需要几分钟初始化时间。所有上传的文档、向量和数据库都保存在特定的文件夹中,方便查看。
在选择大模型时,AnythingLLM预设了多个模型选项,如LLama2 7B、Mistral 7B、Gemma 2B等,同时也可以直接调用OpenAI、Gemini、Mistral等大模型API服务。如果已安装Ollama,只需输入API接口URL和已下载的模型即可。
嵌入模型方面,AnythingLLM内置了all-Mini-L6-v2模型,无需配置,性能稳定。同时支持OpenAI、LocalAi、Ollama等提供的嵌入模型,如nomic-embed-text,性能优越。使用Ollama时,可选择nomic-embed-text。
向量数据库则默认使用LanceDB,它是一款无服务器向量数据库,支持向量搜索、全文搜索和SQL查询,同时兼容Chroma、Milvus、Pinecone等其他数据库选项。
创建知识库时,AnythingLLM提供上传文档和抓取网页信息的功能。上传Word文档或创建工作区,系统会自动提取信息并保存至向量数据库。我创建了一个名为“David”的工作区,上传了关于AI新范式的三篇文章,系统抓取数据后统一存储。
通过构建知识库,大模型可以针对特定问题提供答案,并引用上传的文档。尽管答案有时不够精确,未来可以进一步优化文本召回和重排等功能。
对于界面定制,AnythingLLM提供了基本选项,如自定义品牌Logo和欢迎语。对于更复杂的定制需求,需要通过修改源代码实现。
部署方式灵活,AnythingLLM支持Docker本地化部署,也适用于企业级应用,支持在私有云或物理服务器上部署。
多用户模式方面,AnythingLLM提供了管理员、管理角色和普通用户的权限管理,确保不同角色的用户在特定范围内操作,适用于企业级应用。
在 Rainbond 上使用在线知识库系统zyplayer-doc
zyplayer-doc 是一款适合企业和个人使用的WIKI知识库管理工具,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,可以完全以内网的方式来部署使用它。
当然也可以将其作为企业产品的说明文档来使用,支持一键将整个空间的内容开放到互联网,并提供有不同风格的开放文档页样式可供选择,省去您为了产品的说明文档而去定制开发一个系统的成本。
本文将介绍通过 Rainbond 部署在线知识库系统 zyplayer-doc 的两种方式,使用 Rainbond 开源应用商店一键部署和通过源代码部署。
部署 zyplayer-doc 安装 Rainbond
Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,支持管理多个Kubernetes集群,和管理企业应用全生命周期。主要功能包括应用开发环境、应用市场、微服务架构、应用交付、应用运维、应用级多云管理等。
可通过一条命令快速安装 Rainbond。
通过应用商店部署 zyplayer-doc
zyplayer-doc 已经发布到 Rainbond 开源应用商店,用户可通过开源应用商店一键安装 zyplayer-doc。
在 Rainbond 的「平台管理 -> 应用市场 -> 开源应用商店」 中搜索 zyplayer-doc 并安装。
部署完成后拓扑图如下。
可通过 Rainbond 默认提供的域名访问zyplayer-doc,访问需要加后缀 /zyplayer-doc/,如:/zyplayer-doc/,默认用户密码 「zyplayer/」。
通过源码部署 zyplayer-doc
zyplayer-doc 是由 Java 编写的 SpringBoot 项目,Rainbond 对于 Java 项目可以通过识别项目的 pom.xml 文件来进行模块的打包以及构建和部署,实现一键式体验。
部署 MySQL
zyplayer-doc 需要使用 MySQL 服务,可以通过 Rainbond 开源应用商店快速部署 MySQL。
在 Rainbond 的「平台管理 -> 应用市场 -> 开源应用商店」 中搜索 mysql 并安装,可选择安装 5.7 或 8.0 版本。
源码部署 zyplayer-doc
修改zyplayer-doc-manage/src/main/resources/application.yml配置文件,连接信息可在 MySQL 组件中的依赖信息查看。
进入到团队/应用内,选择通过源码创建组件。
然后 Rainbond 会检测出来为多模块项目,选择zyplayer-doc-manage 并进行构建,其他模块都是依赖项,是不可运行的。
编排服务
在应用内 -> 切换到编排模式,将 zyplayer 组件依赖至 MySQL 组件,这样 MySQL 组件会将自身的环境变量注入到 zyplayer 中,zyplayer 组件就可以通过配置文件中的环境变量连接到 MySQL 数据库。
然后更新 zyplayer 组件即可。
最后通过 Rainbond 默认提供的域名访问zyplayer-doc,访问需要加后缀 /zyplayer-doc/,如:/zyplayer-doc/,默认用户密码 「zyplayer/」。