微信扫码
与创始人交个朋友
我要投稿
读完需要
速读仅需 2 分钟
/ 前言 /
上一期分享了 Ollama+Dify 组合来完成本地大模型搭建和引用本地知识库之后,有很多朋友都留言想要知道具体的操作步骤。快给你的产品加个 AI 吧,本地大模型+本地知识库,纯 CPU 模式可用
那么这一期我们就来一起程序的部署工作,然后在下一期程序的配置工作,以及最后一期以本系列文章作为文档创建到知识库中,并在对话中引用查看效果。
/ 搭建 Ollama /
1
下载 ⏬
访问 Ollama 官网 https://ollama.com/
Ollama 提供一键式安装,如果是 Windows 或 MacOS 可以直接下载安装包,如果是 Linux 则使用管理员权限执行命令安装即可curl -fsSL https://ollama.com/install.sh | sh
完成安装后,在命令行状态下就可以输入 ollama -v 查看安装的版本,如果成功执行则说明安装成功。
2
GPU 加速
如果你有英伟达的 N 卡,也就是诸如 GTX 系列、A 系列还有老版的 P 计算卡系列,只要是能支持 CUDA 以及有超过 6GB 的显存,Ollama 都会自动加载为 GPU 模式,可以在日志中查看确认。
3
日志查看
Window 是可以在托盘区右键 Ollama 头像,点击 View Logs,会自动打开文件管理器可以查看日志:一般而言查看 server.log 就可以找到问题了,在 Windows 上安装 git 环境,使用 Git bash 也可以使用 Linux 命令 tail - f server.log 持续打印最新日志。
Linux 可以使用 journalctl -u ollama -f 查看最新日志
4
本地对话
中文 LLM 模型有很多,Ollama 直接可以拉取的镜像可选 llama2-chinese、qwen,当然还有很多模型可以在 Models ( https://ollama.com/library ) 中查看。
现在我们就已 qwen 为例,默认 qwen 是 4B 模型,执行 ollama pull qwen 拉取模型到本地来。
然后运行 ollama run qwen 就可以进行对话了。 如果想要知道 Token 的输出效率可以增加 --verbose 在命令后面,就可以打印执行效率了:包括 token 生成效率等将在每段内容输出后进行打印。
因为需要把 ollama 的运行服务暴露为接口供 Dify 使用,因此我们需要做出一点配置调整(如果 ollama 和 dify 都是跑在同一台设备上的那倒是不需要处理此部分内容)
5
调整暴露 Ollama 接口服务
5.1
Windows
windows 其实更简单一点, 增加一个环境变量,可以控制 ollama 监听的 IP
1、在文件管理器中对此电脑右键,点击属性
2、点击高级系统设置
3、点击 环境变量,打开环境变量配置
然后在用户变量或者系统变量中添加(两者区别是生效范围,仅在当前用户下生效或全部用户下生效,可能对大多数人而言没有太多区别)一个变量
然后确定,一路点击确认关闭窗口
变量名为 OLLAMA_HOST 值修改为 0.0.0.0 (当然你也可以指定为你的设备获取的可用 IP 的具体值)
接着,在托盘区右键退出 ollama 然后重新在开始菜单打开 ollama 通过查看日志,确认其监听 从 Listening on 127.0.0.1:11434 变成了 Listening on [::]:11434
5.2
Linux
直接编辑 /etc/systemd/system/ollama.service 文件
增加:[Service] Environment="OLLAMA_HOST=0.0.0.0" 并保存
刷新服务配置,然后重启服务 systemctl daemon-reloadl;systemctl restart ollama
{:height 324, :width 722}
通过查看日志或直接确认监听端口变化成功,就可以了
5.3
确认可用
在浏览器中访问你的设备 IP:11434,确认可访问即可,这里为了后续方便沟通,我们就把这个地址作为本文的一个沟通代词:Ollama 访问地址 即代表了 http://IP:11434 ( http://IP:11434 ) 这串内容
6
拉取 embed 模型
我们需要一个合适的文字嵌入模型,在 ollama 提供的 models 中搜索 embed 有很多可选择。
关于嵌入式数据的排名可以在这里找到 Massive Text Embedding Benchmark (MTEB) 地址 ( https://huggingface.co/spaces/mteb/leaderboard )
我这里个人使用了 dmeta-embedding-zh,执行命令拉取数据模型即可 ollama pull shaw/dmeta-embedding-zh
/ 搭建 Dify /
接下来就是搭建 Dify 了,Dify 的启动推荐使用 docker-compose 当然,你也可以通过其他例如 k8s 的方式排列容器启动,这里还是以 docker-compose 为例。
你可以访问 Dify 官网 ( https://docs.dify.ai/v/zh-hans/guide ) 查看教程
大致就是拉取 Dify 开源代码,使用代码中的 docker-compose 模板进行启动,完成启动后,程序就会在设备的 80 端口上可访问使用。
# 拉取代码git clone https://github.com/langgenius/dify.git# 进入 docker compose 模板目录cd dify/docker# 启动容器,请注意,如果你并不想以80端口访问,记得修改端口映射docker compose up -d# 检查容器运行是否正常docker compose ps
如果不出意外的话,Dify 就可以访问了,第一次会让你创建一个管理员的账号,请牢记账号密码。
/ 小结 /
至此,我们就完成了 ollama 和 dify 的搭建工作,下一步,我们将在 dify 完成与 ollama 的集成配置,然后就开始搭建私人知识库啦,欢迎持续关注!
如果需要付费的技术服务支持也可以联系我。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-14
2024-04-26
2024-03-30
2024-04-12
2024-05-10
2024-07-18
2024-05-22
2024-05-28
2024-04-25
2024-04-26
2024-11-14
2024-11-13
2024-11-13
2024-11-13
2024-11-12
2024-11-11
2024-11-08
2024-11-07