009-Wsl-Ubuntu部署Dify-【AI超车B计划】

一、目标

  • 了解什么是dify,为什么要用dify;

  • 下载dify源码,通过docker部署并运行;

  • 开发一个本地AI智能助手;

二、路径

  1. 学习笔记中关于Ollama的简介,了解什么是Ollama,为什么使用Ollama;

  2. 通过git下载dify源码;

  3. 通过docker-compose命令部署 dify;

  4. 通过ollama部署的大模型服务,创建一个AI智能助手;

三、笔记

1、什么是dify?为什么用dify?

Dify 是一款开源的大语言模型(LLM) 应用开发平台,它融合了后端即服务和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。

Dify功能亮点和优势:

  • 工作流: 在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。

  • 全面的模型支持: 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。完整的支持模型提供商列表可在此处找到。

  • Prompt IDE: 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。

  • RAG Pipeline: 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT 和其他常见文档格式中提取文本的开箱即用的支持。

  • Agent 智能体: 您可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为 AI Agent 提供了50多种内置工具,如谷歌搜索、DELL·E、Stable Diffusion 和 WolframAlpha 等。

  • LLMOps: 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。

  • 后端即服务: 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。

2、dify和langchain的区别是什么?

LangChain 是基于python和nodejs的人工智能开发类库(Library),可以理解为包含锤子、钉子的工具箱。与之相比,Dify 提供了更接近生产需要的完整方案,Dify 好比是一套毛坯房,并且经过了精良的工程设计和软件测试。

3、下载dify源码

Dify官方网站:dify.ai/zh

Dify GitHub repo:

git clone https://github.com/langgenius/dify.git

cd 进 dify目录,ls 列出所有文件:

再cd进docker文件夹,ls列出所有文件:

4、通过docker本地部署Dify

sudo docker compose up -d

部署过程:

5、安装Dify

访问地址或复制粘贴进浏览器: http://localhost/install

设置邮箱(邮箱不需要验证,所以可以随便写个邮箱)、用户名和密码,注意,一定要记着你写的邮箱和密码,否则后需再进就困难了,然后点击【设置】:

6、登录Dify

默认会带出来邮箱和密码,点击【登录】:

登录成功:

7、配置dify大模型服务

①点击右上角的个人中心,进入下拉菜单中的【设置】:

选择模型供应商—ollama,点击【添加模型】:

添加Ollama模型,详情:

②查看当前ollama模型列表
ollama list
③配置ollama模型参数

        a.将Name一栏的qwen:7b-chat,复制粘贴进上图弹框中的【模型名称】字段;

        b.基础URL字段,需要查看当前wsl的ip地址,需要我们通过Ubuntu的 ifconfig 命令进行查看:

        c.安装net-tools

④再次运行 ifconfig,图中的eth0就是本虚拟机的地址,inet就是内网地址,我们复制一下

④验证本地接口是否已经能通
curl http://172.27.155.29:11434


如上图所示,说明验证不通!

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

  1. 通过调用sudo vim /etc/systemd/system/ollama.service编辑systemd服务。这将打开一个编辑器。

  2. 对于每个环境变量,在[Service]部分下添加一行Environment

    [Service]
    Environment="OLLAMA_HOST=0.0.0.0"
  3. 保存并退出。

  4. 重载systemd并重启Ollama:

    systemctl daemon-reload
    systemctl restart ollama
⑤再次验证本地接口是否已经调通

上图显示,Ollama is running,说明已经调通!

⑥配置好本地模型Qwen-7b-chat

8、创建第一个智能助手

创建基础编排,聊天助手:


选择ollama,Qwen7b-chat大模型,点击发布:

简单对话测试:

9、局域网内其他设备访问

设置端口开放

重新打开一个PowerShell:

netsh interface portproxy add v4tov4 listenport=22 connectaddress= 172.27.155.29 connectport=8501 listenaddress=0.0.0.0 protocol=tcp

listenport 后面跟本机端口(你提供给局域网内其它设备访问的应用端口,如dify的80端口),connectaddress 后面跟WSL2的ip地址,connectport 后面跟WSL2里服务使用的端口。

查看所有开放的端口
 netsh interface portproxy show all
删除开放的端口
netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0

  • 35
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值