一、下载&安装Ollama
Ollama下载地址: Download Ollama on macOS
Github地址:GitHub - ollama/ollama: Get up and running with Llama 3.1, Mistral, Gemma 2, and other large language models.
Ollama 是啥?
是一个人工智能和机器学习平台,旨在简化和加速模型的开发、训练和部署。有点类似于Docker 查询、管理、运行各种镜像,Ollama 可管理、查询、部署模型。
Ollama 跑模型
# 控制台运行,当前发布不久的meta 开源模型 llama3.1
ollama run llama3.1pulling manifest
pulling 87048bcd5521... 100% ▕████████████████████████████████████████████████████▏ 4.7 GB
pulling 8cf247399e57... 100% ▕████████████████████████████████████████████████████▏ 1.7 KB
pulling f1cd752815fc... 100% ▕████████████████████████████████████████████████████▏ 12 KB
pulling 56bb8bd477a5... 100% ▕████████████████████████████████████████████████████▏ 96 B
pulling e711233e7343... 100% ▕████████████████████████████████████████████████████▏ 485 B
verifying sha256 digest
writing manifest
removing any unused layers
success
本地没有整个模型,会自动下载llama3.1,跑个命令试试。
Ollama API ,11434 端口是模型提供的API 服务端口(后面与Anythingllm 对接需要用到)
写个程序(如附录一 程序demo)
二、下载&安装AnythingLLM
AnythingLLM 地址 desktop安装:MacOS Installation ~ AnythingLLM
但官方更建议用Docker 安装: Local Docker Installation ~ AnythingLLM
1、AnythingLLM 是啥?
AnythingLLM is the easiest to use, all-in-one AI application that can do RAG, AI Agents, and much more with no code or infrastructure headaches.
AnythingLLM 是最简单易用的 AI 应用程序全家桶,可以实现 RAG(检索增强生成)、AI 代理等多种功能,无需代码或基础设施方面的烦恼。
2、AnythingLLM 利用 docker 安装
三个前置条件:
docker
installed on your machineyarn
andnode
on your machine- access to an LLM running locally or remotely
1) 安装docker
如果没有安装Docker ,从这里下载 https://www.docker.com/ 安装。
国内镜像配置,参考附录二。
2)安装nvm 、Node 、yarn
nvm:全名叫做 nodejs version manage,是一个非常棒的nodejs的版本管理工具
Yarn:Yarn is an established open-source package manager used to manage dependencies in JavaScript projects. 开源的Js 工程的包及其以来管理工具。
安装命令如下:
# layouts.download.codeBox.installsNvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash# layouts.download.codeBox.downloadAndInstallNodejsRestartTerminal
nvm install 20# layouts.download.codeBox.verifiesRightNodejsVersion
node -v # layouts.download.codeBox.shouldPrint# layouts.download.codeBox.verifiesRightNpmVersion
npm -v # layouts.download.codeBox.shouldPrint
安装nvm
安装Node
安装yarn
Local Docker 安装好之后,命令行安装AnythingLLM
docker pull mintplexlabs/anythingllm
安装成功后,可以docker images 看到 Anythingllm 的镜像。
3、运行 anythingllm 镜像
命令如下:
sudo mkdir -p /opt/tech/anythingllm && sudo chmod -R 755 /opt/tech/anythingllm && export STORAGE_LOCATION=/opt/tech/anythingllm && sudo 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
命令解析:
- 创建存储路径 /opt/tech/anythingllm目录、.env文件
- -d 后台运行
- -p 并指定本地3001端口映射容器端口3001
- --cap-add=SYS_ADMIN 这样容器内部就被赋予系统的 SYS_ADMIN权限
- -v 参数可以将主机上的文件或目录挂载到容器内部,实现主机和容器之间的文件共享:
- -e 设置容器的环境变量
- mintplexlabs/anythingllm 镜像名称
跑的过程中,提示路径不是共享路径,我们按指示去设置一下
docker: Error response from daemon: Mounts denied:
The path /opt/tech/anythingllm is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/desktop/mac for more info.
跑了几次没成功,很快退出了,我们分析一下原因:
docker logs NAMES( 上图最后一列,其中一个)
发现需要用到Node.js ,而我们忘记安装了,😅
再跑一次看看,问题依旧。
原因我的路径下,权限不足,所以补一个动作,给新建的目录授权一下,再跑一下,OK了。
chown -R anguszhu tech
❯ docker ps |grep anythingllm
e38a8b074321 mintplexlabs/anythingllm "/bin/bash /usr/loca…" 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:3001->3001/tcp keen_williams
打开浏览器: http://localhost:3001
上图Angus’ workspace 是我创建的工作区,找到上传图标,上传了一个阿里的开发规范。
我们再上传小说看看:
至此,本地知识库差不多了,有个入门,下篇我们整点Stable diffusion或者数字人、“冷门歌手” 唱首rap 是什么感觉...
附录一 程序demo(这个截图工具有点Bug,图卡了)
附录二:国内镜像配置,可以在Dashboard中增加国内url:
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://ccr.ccs.tencentyun.com"]
}
附录三:安装Node