全民AI时代:手把手教你用Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行!

   日期:2024-12-26    作者:win52 移动:http://oml01z.riyuangf.com/mobile/quote/34436.html

Aitrainee | 公众号:AI进修生

全民AI时代:手把手教你用Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行!

文章太长了,请点击这里查看原文:全民AI时代:手把手教你用Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行

Hello,我是Aitraine,在本地电脑上跑大语言模型(LLM,已经不是什么高科技操作了。随着技术的迭代,现在利用Ollam和AnythingLLM就可以轻松构建自己的本地知识库
_人人皆可上手,有手就行 _ 。过往要达成这一目标,可是需要有编程经验的。

首先得了解一下背后的原理。大概就是三步走:一是LLM,大语言模型,懂得怎么处理自然语言。二是嵌入模型,它的工作就是把复杂的数据简化,转化成易于处理的格式。最后是向量数据库,专门存储和管理那些转化后的数据。

说实话,虽然文章有点长,但里面多是附加的资源和细节,实际上手操作真的挺简单的。感兴趣的朋友,动手试试吧,说不定用 ** AI ** 构建自己知识库这种事
** 挺酷 ** 的。

现在,咱们来看看如何实操

  1. 2. 下载适合本地电脑的大模型 ,ollama网站上有个“Models”链接,点进去找到“gemma”模型。在“Tags”里面找到你想运行的模型版本,比如“7b”,旁边有个复制按钮,点击后把命令复制下来。然后就是在命令行里跑这个命令,第一次运行会自动下载模型。下载完毕,就能开始和它聊天或者让它帮你写代码了。

终端输入

 
 

下载完成后,就进入交互模式,这就可以开始聊天了。

至此,Gemma 模型的 _** 本地部署运行已经完成了 ** _ ,非常简单。

3. 使用像 ChatGPT 那样的现代的聊天窗口

虽然部署完成了,但是上面那种 _** 古老的终端 ** _
可能影响我们的交互体验,下面提供两个现代聊天窗口工具(如果你不想使用这些GUI,这一步可以跳过,不影响本地知识库搭建, ** 直接去看下面的第二步: **
** AnythingLLM安装 ** :chatbox 和 openai web ui。

第一个:chatbox

地址:https://chatboxai.app/zh


第二个:openai web ui ****

如何安装🚀
请注意,对于某些 Docker 环境,可能需要额外的配置。如果您遇到任何连接问题,我们有关Open WebUI 文档的详细指南随时可以为您提供帮助。

快速开始使用 Docker 🐳
使用 Docker 安装 Open WebUI 时,请确保 在 Docker
命令中包含 。此步骤至关重要,因为它确保您的数据库正确安装并防止任何数据丢失。

  • • 如果 Ollama 在您的计算机上,请使用以下命令

    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

  • • 如果 Ollama 位于不同的服务器上,请使用以下命令

    docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

安装完成后,您可以通过 http://localhost:3000 访问 Open WebUI。享受😄

打开 WebUI:服务器连接错误
如果您遇到连接问题,通常是由于 WebUI docker 容器无法访问容器内位于 127.0.0.1:11434
(host.docker.internal:11434) 的 Ollama 服务器。使用 docker
命令中的标志来解决此问题。请注意,端口从 3000 更改为 8080,导致链接:http://localhost:8080。

Docker 命令示例

 

其他安装方法
我们提供各种安装替代方案,包括非 Docker 方法、Docker Compose、Kustomize 和 Helm。请访问我们的 Open WebUI
文档或加入我们的 Discord 社区以获得全面的指导。

安装文档地址🏡 Home | Open WebUI

 

上面只是让模型不足到本地下面来构建本地知识库,如果仅仅是构建本地知识库的话上面那些 GUI 可以 不安装 ,下面开始 **正题 **
:下载本地知识库软件

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

产品概述

AnythingLLM 将您的文档划分为名为 workspaces
的功能很像线程,但增加了文档的容器化。工作区可以共享文档,但它们不会相互通信,因此您可以保持每个工作区的上下文干净。

AnythingLLM 的一些很酷的功能

以下是 AnythingLLM 的一些酷炫功能

  1. 1. 支持多用户实例和权限

  2. 2. 新的自定义可嵌入式聊天小部件,可以嵌入到你的网站

  3. 3. 支持多种文件类型(PDF,TXT,DOCX等

  4. 4. 通过简单的用户界面管理你的向量数据库中管理文件

  5. 5. 提供两种聊天模式:对话和查询。对话保留先前的问题和修订。查询是针对文档的简单QA

  6. 6. 聊天过程中的引用

  7. 7. 100%适合云部署。

  8. 8. “自带LLM”模型

  9. 9. 处理大文件时极有效的节约成本措施。你永远不必为将大型文件或记录输送到聊天机器人中支付费用,比其他的文件聊天机器人解决方案节省90%的费用。

  10. 10. 提供全面的开发者API用于自定义集成

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

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

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

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

多用户模式

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

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

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

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

打开ollama端口

Ollama其实有两种模式

  1. 1. 聊天模式

  2. 2. 服务器模式

这里使用服务器模式,Ollama在后端运行大模型,开发IP和端口给外部软件使用。

 

通过终端或者命令行,访问 http://localhost:11434 进行验证

 

如果看到以下输出,表示Ollama正在运行

 

下载 AnythingLLM 之后开始进入启动的 配置 阶段,开始之前请确保 运行,或者终端执行 (任何一个模型)。

否则,AnythingLLM和其他依赖于Ollama端口的软件(前面的几个GUI)会运行不了或者找不到模型,错误如下

启动并配置AnythingLLM


 

本地大模型选择

选择 Ollama,填入 Ollama 的
端口,然后选择你下载的模型。当然你也可以使用 OpenAI,使用更强大的云端模型,提供基础模型支持。但这样的话,就不是完全本地化的私有部署了。

Embedding 配置

可以选择:https://ollama.com/library/nomic-embed-text 或者 AnythingLLM 自带的
AnythingLLMEmbedder。

向量数据库配置

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

我选择了 LanceDB。你想修改前面的推理模型或者嵌入模型,以及下列数据库,注册完成之后,可以在后台设置修改。

完成上述登录配置操作之后,让我们进入界面介绍(如下图)。

导入外部 Documents

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

为管理这些文档,AnythingLLM
引入工作区(workspace)的概念,作为文档的容器,可以在一个工作区内共享文档,但是工作区之间隔离。AnythingLLM
既可以上传文档,也可以抓取网页信息。

将文档保存嵌入工作区向量数据库

根据知识库中上传的文档,进行知识问答。

RAG 智能问答

Ok,经过我们前面所有的艰难准备,现在 ** 正式部署成功 ** ,让我们来体验一下

相比文档中的原文,大模型给出的回答还不够准确(与选择的基础模型有关,我自己的笔记本电只能跑 gemma: 6b 的
未来,这套系统还可在文本召回和重排等方面,进一步调优和完善。

点击空间的设置按钮并切换为Query状态后,模型 将仅在找到文档上下文时提供答案(回答会更加绑定于知识库)。

后面是一些API操作

生成系统 API 私钥

设置 API 访问授权密码

系统提供的 API 列表


常见错误
  1. 1. 本地运行大模型耗资源,需要选择较小的模型作为基础模型。在终端中运行时可能会出现 CUDA 错误,表示显存不足,导致提供的端口失效。

  2. 2. 中文支持不够完善。

  3. 3. 文中提到的技术软件工具有:Ollama、Chatbox、Open WebUI、向量数据库、嵌入模型、本地模型 Gemma、AnythingLLM

附加信息

在本地快速运行大模型,可以使用 Ollama 和 Hugging Face。Hugging Face 提供了两种方式来访问大模型

  1. 1. Inference API (Serverless :通过 API 进行推理。

    import requests

 
  1. 2. 本地执行 :使用 Hugging Face 的 pipeline 来进行高级操作。

    from transformers import pipeline

 

使用 Hugging Face 对于不懂编程的人来说可能比较困难,因为需要申请 API Key 并且需要本地有 Python 或其他编程语言的环境。而使用
Ollama 来运行本地大模型则更加简单。

参考链接
  1. 1. https://chat.openai.com/c/fc6b9764-d29e-4be0-bfba-5b975892f983

  2. 2. https://www.bilibili.com/video/BV13x421k7Yf/?spm_id_from=333.337.search-card.all.click&vd_source=40d9cda43378fbc89cd5184e09bf1272

  3. 3. https://flyeric.top/archives/setup-langchain-ai-agent-practice

  4. 4. https://github.com/Mintplex-Labs/anything-llm?tab=readme-ov-file

  5. 5. https://mp.weixin.qq.com/s/iy0IjIL7t1c48KRauK_Mgg

  6. 6. https://mp.weixin.qq.com/s/6HeHakbmxAq7ebBV3_YtZA

  7. 7. https://mp.weixin.qq.com/s/_FOTeInSINT1-vPAksWjpw

  8. 8. https://github.com/Mintplex-Labs/anything-llm

  9. 9. https://search.bilibili.com/all?vt=30282397&keyword=AnythingLLM&from_source=webtop_search&spm_id_from=333.1007&search_source=5

  10. 10. https://www.bilibili.com/video/BV1Bx421D7hb/?spm_id_from=333.337.search-card.all.click&vd_source=40d9cda43378fbc89cd5184e09bf1272

  11. 11. https://www.bilibili.com/video/BV1Uf421o7wa/?vd_source=40d9cda43378fbc89cd5184e09bf1272

  12. 12. https://discord.com/channels/1128867683291627614/1128867684130508875

  13. 13. https://chat.openai.com/g/g-R54BIQ9W7-markdown-output



特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号