首页 > 其他分享 >在笔记本电脑上,实现本地知识库和大模型检索增强生成(RAG)

在笔记本电脑上,实现本地知识库和大模型检索增强生成(RAG)

时间:2024-10-24 20:21:05浏览次数:3  
标签:RAG AI 模型 知识库 学习 笔记本电脑 文档 AnythingLLM 向量

现在,我们可以引入AnythingLLM,管理本地知识库,并和Ollama结合起来,实现大模型+知识库+RAG的智能问答。

1. 下载AnythingLLM

AnythingLLM是采用MIT许可证的开源框架,支持快速在本地部署基于检索增强生成(RAG)的大模型应用。

在不调用外部接口、不发送本地数据的情况下,确保用户数据的安全。

最近 AnythingLLM推出了桌面应用,可以在自己的笔记本电脑上下载使用,目前支持的操作系统包括MacOS,Windows和Linux。

下载地址:https://useanything.com/download

以MacOS为例,下载AnythingLLM桌面版dmg文件,双击即可安装。初次启动需要5-15秒进行初始化操作。在使用过程中,所有上传的文档、向量和数据库都保存在以下文件夹可供查看。

存储路径:~/Library/Application Support/anythingllm-desktop

2. 选择大模型

AnythingLLM默认通过Ollama来使用LLama2 7B,Mistral 7B,Gemma 2B等模型,也可以调用OpenAI、Gemini、Mistral等大模型的API服务。

此前,我已经安装了Ollama,那么只要选择Ollama,输入调用的API接口URL,再选择此前已经下载的Gemma模型即可。

3. 选择嵌入模型

AnythingLLM内置了一个嵌入模型 all-Mini-L6-v2,无需任何配置。该模型也可以在HuggingFace下载。同时,系统也支持OpenAI、LocalAi、Ollama提供的嵌入模型。

比如,Ollama上可供下载运行的嵌入模型有nomic-embed-text,据称性能超过OpenAI的text-embedding-ada-002和text-embedding-3-small。

既然已经装了Ollama,那么我就直接选用nomic-embed-text。

4. 选择向量数据库

AnythingLLM默认使用内置的向量数据库LanceDB。这是一款无服务器向量数据库,可嵌入到应用程序中,支持向量搜索、全文搜索和SQL。我们也可以选用Chroma、Milvus、Pinecone等向量数据库。

5. 知识库管理

AnythingLLM可以支持PDF,TXT,DOCX等文档,可以提取文档中的文本信息,经过嵌入模型(Embedding Models),保存在向量数据库中,并通过一个简单的UI界面管理这些文档。

为管理这些文档,AnythingLLM引入工作区(workspace) 的概念,作为文档的容器,可以在一个工作区内共享文档,但是工作区之间隔离。

这里,我创建一个工作区,名称“David”。

AnythingLLM既可以上传文档,也可以抓取网页信息。我之前写了关于AI新范式的三篇文章,于是上传了Word版文件,系统抓取数据后,统一保存到向量数据库中。

6. RAG智能问答

构建了知识库之后,我给大模型发送了这个问题:“AI将给数字化带来哪些模式转变”。大模型给出了回答,并引用了我之前上传的3份文档。

不过,相比我文档中的原文,大模型给出的回答还不够准确。未来,这套系统还可在文本召回和重排等方面,进一步调优和完善。

7. 定制UI界面

值得称许的是,AnythingLLM默认提供了一些界面定制的选项,包括:改用自己的品牌Logo,初次创建工作区的欢迎语。

8. 定制开发 - 技术栈

如果要做更多的个性化定制,就需要自己修改源码了。

同类开源项目大多基于Python语言开发。AnythingLLM采用了Javascript,前端用React,后端用Node,对于全栈工程师非常友好。

  • 前端:React和ViteJS,实现创建和管理大模型用到的知识库

  • 后端:Node.js Express框架,实现向量数据库的管理和所有与大模型的交互

  • 采集器:Node.js Express框架,实现对文档的处理解析

9. 部署方式

AnythingLLM本身对系统硬件资源要求不高(最低要求:2G内存,2核CPU),支持通过Docker进行本地化部署。

export STORAGE_LOCATION=$HOME/anythingllm && \``mkdir -p $STORAGE_LOCATION && \``touch "$STORAGE_LOCATION/.env" && \``docker run -d -p 3001:3001 \``--cap-add SYS_ADMIN \``-v ${STORAGE_LOCATION}:/app/server/storage \``-v ${STORAGE_LOCATION}/.env:/app/server/.env \``-e STORAGE_DIR="/app/server/storage" \``mintplexlabs/anythingllm:master

如果在企业内部使用,可以部署在企业的私有云上,也支持物理服务器(bare metal)部署。

10. 多用户模式

这一点对于企业级应用特别关键,AnythingLLM支持多用户模式,3种角色的权限管理。

系统会默认创建一个管理员(Admin)账号,拥有全部的管理权限。

第二种角色是Manager账号,可管理所有工作区和文档,但是不能管理大模型、嵌入模型和向量数据库。

普通用户账号,则只能基于已授权的工作区与大模型对话,不能对工作区和系统配置做任何更改。

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

标签:RAG,AI,模型,知识库,学习,笔记本电脑,文档,AnythingLLM,向量
From: https://blog.csdn.net/a2875254060/article/details/143218407

相关文章

  • 【AIGC】AI如何匹配RAG知识库:关键词搜索
    关键词搜索引言jieba库简介TF-IDF简介实践例子用jieba库提取关键词计算TF-IDF计算文档和查询相似度结果完整代码:总结引言RAG作为减少模型幻觉和让模型分析、回答私域相关知识最简单高效的方式,我们除了使用之外可以尝试了解其是如何实现的。在实现RAG的过程中,有语义......
  • 大模型RAG(检索增强生成)技术综述
    概念        从数据源中检索信息来辅助大语言模型(LargeLanguageModel,LLM)生成答案。简而言之,RAG结合了搜索技术和大语言模型的提示词功能,即向模型提出问题,并以搜索算法找到的信息作为背景上下文,这些查询和检索到的上下文信息都会被整合进发送给大语言模型的提示中......
  • 高效创建SOP:精选7款知识库与流程管理软件,助力企业数字化转型
    在快节奏的现代企业中,标准化操作程序(SOP)的制定与执行至关重要。为了确保每个流程都能精准无误地执行,选择合适的SOP创建软件成为了企业提升效率的关键。以下是精心挑选的7款软件,它们各自拥有独特的功能特点,能够助力企业轻松创建、管理和优化SOP,提升整体运营效率。1.HelpLoo......
  • 搭建知识库:快消行业中知识管理的重要性
    知识管理系统在快速消费品(FMCG)行业中发挥着巨大的作用,帮助行业领军者时刻跟进市场趋势和消费者旅程,并做出明智的决策。这些系统还能够预防业务风险,同时推动其他业务目标的实现,如创新、供应链优化和质量合规,从而为客户和企业带来双赢局面。一、快速消费品(FMCG)行业概述 ......
  • 【RAG系列】基于代码仓库的RAG问答,为仓库构建知识图谱
    目录前言一、为什么要在代码仓库上构建知识图谱二、如何在代码仓库上构建知识图谱简单的知识图谱更高级的知识图谱总结Reference前言今天介绍的场景是基于代码仓库的RAG问答,RAG有效的关键在于能够根据用户查询检索到相关的文档,这中间涉及到索引构建和文档检索两......
  • 一文读懂RAG和LLM微调,教你结合业务场景落地LLM应用
    随着大家对大型语言模型(LLM)的兴趣激增,许多开发者也在构建基于LLM的应用。当直接使用Prompt驱动的LLM表现不如预期时,问题就出现了:如何提高LLM应用的可用性。这时我们需要权衡:是选择检索增强生成(Retrieval-AugmentedGeneration缩写RAG)还是模型微调来改善结果?01在深入探......
  • RAFT:一种适应特定领域RAG的大模型训练新方法!
    对大量文本数据的语料库进行大型语言模型(LLMs)的预训练已经成为一种标准范式。当将这些LLMs用于许多下游应用时,通常还会通过基于RAG的提示或微调,将新知识(例如,时效性新闻或私有领域知识)额外融入预训练模型中。然而,模型获取这些新知识的最优方法论仍然是一个开放的问题。在此背......
  • LocalStorage和SessionStorage存储
    认识Storage◼WebStorage主要提供了一种机制,可以让浏览器提供一种比cookie更直观的key、value存储方式:cookie:服务器返回自动返回一个cooki,浏览器将cookie存储到本地,浏览器再发送请求自动把cooki传递过去localStorage:本地存储,提供的是一种永久性的存储方法,在关闭掉网页......
  • 大模型agent开发之基于知识库的聊天机器人
    1. 文本知识库的加载和分割实现一个智能文档助手,基于已有知识库给向ai发起提问使ai能够基于知识库回答更加准确的答案,首先需要加载对应的文档,文档类型可以是docx,xlsx,md等格式。并且对文档进行分割,将其分割成一块一块的Document类型并转成list类型方便后续处理。defgetFi......
  • 大健康零售电商AI知识库:优化用户体验的新引擎
    在当今的数字化时代,大健康零售电商行业正以前所未有的速度蓬勃发展。随着消费者对健康产品需求的日益增长,如何提升用户体验,成为了大健康零售电商平台的核心竞争力之一。在这个过程中,AI知识库作为连接产品与消费者的桥梁,正逐渐展现出其在优化用户体验方面的巨大潜力。一、用......