AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


   
发布日期:2024-04-25 11:48:54 浏览次数: 1980 来源:其名为坤



读完需要

6
分钟

速读仅需 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+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询