前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本地部署AI应用开发平台Dify并配置Ollama大语言模型实现公网远程访问

本地部署AI应用开发平台Dify并配置Ollama大语言模型实现公网远程访问

作者头像
aosei
发布2024-09-07 12:44:58
1700
发布2024-09-07 12:44:58
举报
文章被收录于专栏:csdn-nagiY

前言

本篇文章介绍如何将Dify本地私有化部署,并且接入Ollama部署本地模型,实现在本地环境中部署和管理LLM,再结合cpolar内网穿透实现公网远程访问Dify。

Dify 它是一个开源 LLM 应用开发平台。拥有直观的界面结合了 AI 工作流、RAG 管道、代理功能、模型管理、可观察性功能等,可以快速从原型开发到生产。

Ollama 是一个本地推理框架,允许开发人员轻松地在本地部署和运行 LLM,例如 Llama 3、Mistral 和 Gemma。Dify 是一个 AI 应用开发平台,提供了一套完整的工具和 API,用于构建、管理和部署 AI 应用。

接下来在本地部署DIfy。

1. 本地部署Dify应用开发平台

本篇文章安装环境:Linux Ubuntu22.04

使用Docker Compose部署:Docker 19.03 或更高版本、Docker Compose 1.25.1或更高版本

安装Dify之前,请确保你的机器已满足最低安装要求:CPU>2 Core RAM>=4GB

克隆 Dify 源代码至本地环境:

代码语言:javascript
复制
git clone https://github.com/langgenius/dify.git

启动Dify:

进入 Dify 源代码的 Docker 目录

代码语言:javascript
复制
cd dify/docker

复制环境配置文件

代码语言:javascript
复制
cp .env.example .env

启动 Docker 容器

代码语言:javascript
复制
sudo docker compose up -d

运行命令后,你应该会看到类似以下的输出,显示所有容器的状态和端口映射:

最后检查是否所有容器都正常运行:

代码语言:javascript
复制
docker compose ps

然后打开一个新的浏览器,输入localhost:80,或者本机IP地址:80,可以看到进入到了Dify中。

设置管理员账号:填写邮箱、用户名、密码后,再重新登录一下

可以看到进入到了Dify的主界面当中

接下来配置ollama模型

2. 使用Ollama部署本地模型

打开一个新的终端,输入下方命令安装ollama

代码语言:javascript
复制
curl -fsSL https://ollama.com/install.sh | sh

运行 Ollama 并与 Llava 聊天

代码语言:javascript
复制
ollama run llava

启动成功后,ollama 在本地 11434 端口启动了一个 API 服务,可通过 http://localhost:11434 访问。

接下来回到Dify中,接入Ollama模型。

3. 在Dify中接入Ollama大语言模型

在Dify主界面,点击右上角个人名字圆圈,点击设置——模型供应商——Ollama

点击填入:

  • 模型名称:llava
  • 基础 URL:http://<本机IP地址>:11434 此处需填写可访问到的 Ollama 服务地址。 若 Dify 为 docker 部署,建议填写局域网 IP 地址,如:http://192.168.1.100:11434 或 docker 宿主机 IP 地址,如:http://172.17.0.1:11434。 若为本地源码部署,可填写 http://localhost:11434
  • 模型类型:对话
  • 模型上下文长度:4096 模型的最大上下文长度,若不清楚可填写默认值 4096。
  • 最大 token 上限:4096 模型返回内容的最大 token 数量,若模型无特别说明,则可与模型上下文长度保持一致。
  • 是否支持 Vision: 当模型支持图片理解(多模态)勾选此项,如 llava

点击 “保存” 校验无误后即可在应用中使用该模型。

如果Ollama作为systemd服务运行,应该使用systemctl设置环境变量:

  1. 通过调用sudo vim /etc/systemd/system/ollama.service 编辑systemd服务。这将打开一个编辑器。
  2. 对于每个环境变量,在[Service]部分下添加一行Environment
代码语言:javascript
复制
[Service]
Environment="OLLAMA_HOST=0.0.0.0"

保存并退出

重载systemd并重启Ollama:

代码语言:javascript
复制
systemctl daemon-reload

systemctl restart ollama

然后再回到主页面当中,点击创建空白应用

选择聊天助手,起一个名字,点击创建

右上角选择llava模型

在文本框中编辑文字即可进行对话

目前我们在本机部署了Dify,并且还添加了Ollama大模型,如果想团队协作多人使用,或者在异地其他设备使用的话就需要结合Cpolar内网穿透实现公网访问,免去了复杂得本地部署过程,只需要一个公网地址直接就可以进入到Dify中。

接下来教大家如何安装Cpolar并且将Dify实现公网访问。

4. 公网远程使用Dify

下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

代码语言:javascript
复制
curl https://get.cpolar.sh | sudo sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

代码语言:javascript
复制
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

4.1 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: dify 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:80
  • 域名类型:随机域名
  • 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的Dify应用开发平台!

登录可以看到同样进入到了主界面中,继续使用自己创建的应用了

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地 Dify开发应用平台或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。

5. 固定Dify公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化.

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

保留成功后复制保留的二级子域名地址:

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址访问 Dify 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

接下来就可以随时随地进行异地公网来使用Dify开发应用平台了,把固定的公网地址分享给身边的人,方便团队协作,同时也大大提高了工作效率!自己用的话,无需云服务器,还可以实现异地其他设备登录!以上就是如何在本地安装Dify并搭建Ollama的全部过程。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. 本地部署Dify应用开发平台
  • 2. 使用Ollama部署本地模型
  • 3. 在Dify中接入Ollama大语言模型
  • 4. 公网远程使用Dify
    • 4.1 创建远程连接公网地址
    • 5. 固定Dify公网地址
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档