009-Wsl-Ubuntu部署Dify-【AI超车B计划】
AI超车计划@产品江湖 2024-06-19 15:01:08 阅读 54
一、目标
了解什么是dify,为什么要用dify;
下载dify源码,通过docker部署并运行;
开发一个本地AI智能助手;
二、路径
学习笔记中关于Ollama的简介,了解什么是Ollama,为什么使用Ollama;
通过git下载dify源码;
通过docker-compose命令部署 dify;
通过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
设置环境变量:
通过调用sudo vim /etc/systemd/system/ollama.service
编辑systemd服务。这将打开一个编辑器。
对于每个环境变量,在[Service]
部分下添加一行Environment
:
[Service]Environment="OLLAMA_HOST=0.0.0.0"
保存并退出。
重载systemd
并重启Ollama:
systemctl daemon-reloadsystemctl 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
上一篇: 【AI大模型应用开发】以LangChain为例:从短期记忆实战,到如何让AI应用保持长期记忆的探索
下一篇: 【AI模型系列】火力全开!百度文心3.5三大维度、20项指标国内问鼎!
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。