基于Ollama和AnythingLLM,搭建本地的知识库

最近在线的ai式问答在线系统比较火,但是因为是联网,且涉及公司的文档的隐蔽性,所以就想本地搭建一个ai系统,用于部门内部使用,之前尝试使用了LangChain-chatchat,但是由于模型较大,消耗资源较多,经常导致崩溃。
最近网上发现一款ollama的开发工具,不过他只能后台命令行操作,按时结合了anythingLLM以后,瞬间就高大上起来了。本篇文章结合了一些网上的材料,自己做了实践部署。主要分为两部分:安装Ollama模块 和安装AnythingLLM模块

安装ollama

1.这个比较简单,直接点击链接下载即可,按照自己的操作系统。https://ollama.com/

Donrosd Oloma.png

2.下载下来后,直接双击即可安装。


Donrosd Oloma.png

3.等到下面的界面,就在命令行中执行下其中的命令即可(默认安装的为大语言模型llama3)。


Run your first model.png

sove seodel foveyeur currenk sessler.png

4.上面显示就说明安装完成了,并且默认下载的llama3的大语言模型,你用可以根据自己的诉求,安装别的大语言模型,注意大语言模型越大,本机消耗的资源比较大。


Hare are some example modes shas can be domnloaded.png

启动Ollama服务

1、执行如下命令,会在本地的11434端口启动一个服务,供AnythingLLM调用:

ollama serve

注:首次安装默认服务已启动

2、请求服务测试:

curl http://localhost:11434/api/chat -d '{
 "model": "gemma:2b",
 "messages": [
 { "role": "user", "content": "你好" }
 ]
}'

结果默认按照流式返回


Pasted Graphic 5.png

安装AnythingLLM

AnythingLLM是一个基于RAG(Retrieval-Augmented Generation)方案构建的开源、高效、可定制的私有知识库解决方案。本文使用的AnythingLLM的Desktop版本,首先从官网(https://useanything.com/ )下载安装包:

Any LLM,unlimited documnts, and fully private..png

注:下载后直接点击即可安装。

安装完毕后点击Get started开始配置:

C Anything LLM.png

配置LLM

ULM Preference.png

这里选择Ollama作为后台的服务,URL这里填写http://127.0.0.1:11434,也就是前面Ollama启动的服务端口,填写后LLM模型选择Ollama

embedding模型也可以更换下


Embedding Pre.png

配置Vector Database
Vector Database选择默认的第一个LanceDB:

Veetor Database.png

启动AnythingLLM,配置我的工作区,然后整个操作就可以完成了。
Pasted Graphic.png

构建自己的本地知识库

在我的工作区,点击上传自己的文档材料


image.png

点击上传

image.png

选择你的文件,然后点击Move to Workspace即可
image.png

然后点击下Save and Embed
image.png

image.png

上传完成,显示Successful就可以了。然后就可以对话框问答了,当然问答的速度取决于你电脑的配置哦。
后记:
常见的后台Ollama命令如何

(base) localhost:~ ruiliu$ ollama
Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help with any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.
(base) localhost:~ ruiliu$ ollama list
NAME            ID              SIZE    MODIFIED
qwen:7b         2091ee8c8d8f    4.5 GB  44 hours ago
gemma:2b        b50d6c999e59    1.7 GB  2 days ago
llama3:latest   a6990ed6be41    4.7 GB  2 days ago
(base) localhost:~ ruiliu$ ollama run gemma:2b
>>> 你好,你是什么大语言模型
你好!我是一个大型语言模型,由 Google 训练的。

我是一个人工智能系统,可以理解和生成自然语言。我能够完成各种任务,包括文本生成、翻译、问答和推理。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容