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

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

安装ollama

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

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

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

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

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

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

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

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

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

启动Ollama服务

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

ollama serve

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

2、请求服务测试:

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

结果默认按照流式返回

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

安装AnythingLLM

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

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

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

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

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

配置LLM

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

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

embedding模型也可以更换下

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

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

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

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

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

构建自己的本地知识库

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

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

点击上传

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

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

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

然后点击下Save and Embed

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

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

上传完成,显示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 训练的。

我是一个人工智能系统,可以理解和生成自然语言。我能够完成各种任务,包括文本生成、翻译、问答和推理。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容