最近在线的ai式问答在线系统比较火,但是因为是联网,且涉及公司的文档的隐蔽性,所以就想本地搭建一个ai系统,用于部门内部使用,之前尝试使用了LangChain-chatchat,但是由于模型较大,消耗资源较多,经常导致崩溃。
最近网上发现一款ollama的开发工具,不过他只能后台命令行操作,按时结合了anythingLLM以后,瞬间就高大上起来了。本篇文章结合了一些网上的材料,自己做了实践部署。主要分为两部分:安装Ollama模块 和安装AnythingLLM模块
安装ollama
1.这个比较简单,直接点击链接下载即可,按照自己的操作系统。https://ollama.com/
2.下载下来后,直接双击即可安装。
3.等到下面的界面,就在命令行中执行下其中的命令即可(默认安装的为大语言模型llama3)。
4.上面显示就说明安装完成了,并且默认下载的llama3的大语言模型,你用可以根据自己的诉求,安装别的大语言模型,注意大语言模型越大,本机消耗的资源比较大。
启动Ollama服务
1、执行如下命令,会在本地的11434端口启动一个服务,供AnythingLLM调用:
ollama serve
注:首次安装默认服务已启动
2、请求服务测试:
curl http://localhost:11434/api/chat -d '{
"model": "gemma:2b",
"messages": [
{ "role": "user", "content": "你好" }
]
}'
结果默认按照流式返回
安装AnythingLLM
AnythingLLM是一个基于RAG(Retrieval-Augmented Generation)方案构建的开源、高效、可定制的私有知识库解决方案。本文使用的AnythingLLM的Desktop版本,首先从官网(https://useanything.com/ )下载安装包:
注:下载后直接点击即可安装。
安装完毕后点击Get started开始配置:
配置LLM
这里选择Ollama作为后台的服务,URL这里填写http://127.0.0.1:11434,也就是前面Ollama启动的服务端口,填写后LLM模型选择Ollama
embedding模型也可以更换下
配置Vector Database
Vector Database选择默认的第一个LanceDB:
启动AnythingLLM,配置我的工作区,然后整个操作就可以完成了。
构建自己的本地知识库
在我的工作区,点击上传自己的文档材料
点击上传
选择你的文件,然后点击
Move to Workspace
即可然后点击下
Save and Embed
上传完成,显示
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 训练的。
我是一个人工智能系统,可以理解和生成自然语言。我能够完成各种任务,包括文本生成、翻译、问答和推理。