Llama + Dify,在你的电脑搭建一套AI工作流


theme: smartblue

点赞 + 关注 + 收藏 = 学会了

本文简介

最近字节在推Coze,你可以在这个平台制作知识库、制作工作流,生成一个具有特定领域知识的智能体。

01.png

那么,有没有可能在本地也部署一套这个东西呢?这样敏感数据就不会泄露了,断网的时候也能使用AI。

刚好最近 Llama 3.1 发布了,本文就以 Llama 3.1 作为基础模型,配合 Dify 在本地搭建一套“Coze”。

跟着本文一步步操作,保证能行!

Dify是什么?

Dify 官网(https://difyai.com/) 的自我介绍:Dify 是开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。比 LangChain 更易用。

02.png

动手搭建

在本地搭建这个平台很简单,其实 Dify文档(https://docs.dify.ai/v/zh-hans) 里都写得明明白白了,而且还有中文文档。

具体来说需要做以下几步:

  1. 安装 Ollama
  2. 下载大模型
  3. 安装 Docker
  4. 克隆 Dify 源代码至本地
  5. 启动 Dify
  6. 配置模型

接下来一步步操作。

安装 Ollama

简单来说 Ollama 是运行大语言模型的环境,这是 Ollama 的官网地址 https://ollama.com/,打开它,点击 Download 按钮下载 Ollama 客户端,然后傻瓜式安装即可(一直点“下一步”)。

03.png

安装完成后就能看到一个羊驼的图标,点击运行它即可。

04.png

下载大模型

安装完 Ollama 后,我们到 Ollama 官网的模型页面(https://ollama.com/library)挑选一下模型。

05.png

这里面有很多开源模型,比如阿里的千问2,搜索 qwen2 就能找到它。

本文使用 Llama 3.1 ,这是前两天才发布的模型,纸面参数贼强。

打开 Llama 3.1 模型的地址(https://ollama.com/library/llama3.1),根据你需求选择合适的版本,我选的是 8b 版。

06.png

选好版本后,复制上图右侧红框的命令,到你电脑的终端中运行。

如果你还没下载过这个模型它就会自动下载,如果已经下载过它就会运行这个模型。

运行后,你就可以在终端和大模型对话了。

07.png

当然,我们不会这么原始的在终端和大模型对话,我们可是要搞工作流的!

安装 Docker

前面的基础步骤都搞掂了,接下来就要开始为运行 Dify 做准备了。

先安装一下 Docker ,打开 Docker 官网(https://www.docker.com/),根据你系统下载对应的安装包,然后还是傻瓜式安装即可。

08.png

克隆 Dify 源代码至本地

要使用 Dify ,首先要将它拉到你电脑里。

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

在你电脑里找个位置(目录),用 gitDify 克隆下来,用上面这条命令克隆就可以了。

启动 Dify

进入 Dify 源代码的 docker 目录,执行一键启动命令:

cd dify/docker
cp .env.example .env
docker compose up -d

启动完成后,你的 docker 里就会看到这个

09.png

此时你在浏览器输入 http://localhost 就能看到这个界面。

10.png

首次打开 Dify 需要你设置一下管理员的账号。

然后用管理员账号登录,可以看到下面这个页面。

11.png

点击“创建空白应用”就可以创建聊天助手、文本生成应用、Agent、工作流。

12.png

我们点击"工作流"就能看到类似Coze的工作流编辑界面了。

13.png

配置模型

在配置工作流之前,我们需要给 Dify 配置大语言模型。

点击页面右上角的管理员头像,然后选择“设置”。

14.png

选择“模型供应商”,然后点击“Ollama”的卡片添加模型。

15.png

在添加 Ollama 模型时,弹窗的左下角有一个“如何继承 Ollama”的按钮,点击它会跳转到 Dify 官方文档教你怎么配置,但这里可能会有个小坑。

16.png

前面我们已经使用 OllamaLlama 3.1 运行起来了,在浏览器打开 `http://localhost:11434 看到这个界面证明模型运行成功。

17.png

此时在“添加 Ollama”将资料填写好,“基础 URL”里输入 http://localhost:11434 即可。

18.png

如果你是 Mac 电脑,填入以上资料有可能会报这个错:

19.png

An error occurred during credentials validation: HTTPConnectionPool(host='localhost', port=11434): Max retries exceeded with url: /api/chat (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xffff5e310af0>: Failed to establish a new connection: [Errno 111] Connection refused'))

此时你需要在“基础 URL”里填入 http://host.docker.internal:11434

遇到问题可以看 Dify 官方文档的 FAQ。

20.png

添加完成后你就可以在模型列表里看到它了。

21.png

除了接入 Ollama 外,Dify 还支持接入 OpenAI 等闭源模型,但需要你去 OpenAI 那边买个服务。


以上就是本文的全部内容啦,如果本文对你有帮助的话也请你分享给你的朋友~

IMG_2355.GIF

点赞 + 关注 + 收藏 = 学会了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用两台虚拟机分别部署前端和后端项目

使用两台虚拟机分别部署前端和后端项目 1 部署方案2 准备两台虚拟机&#xff0c;并配置网络环境3 部署后端项目3.1 打包服务3.2 上传jar包到服务器3.3 集成Systemd3.3.1 移动端服务集成Systemd3.3.2 后台管理系统集成Systemd 4 配置域名映射5 部署前端项目5.1 移动端5.1.1 打包…

Kettle下载安装

环境说明 虚拟机&#xff1a;Win7&#xff1b;MySql8.0 主机&#xff1a;Win11&#xff1b;JDK1.8&#xff1b;Kettle 9.4&#xff08;Pentaho Data Integration 9.4&#xff09;&#xff08;下载方式见文末&#xff09; 安装说明 【1】解压后运行Spoon.bat 【2】将jar包 复…

DjangoRF-6-项目模块projects模型

首先&#xff0c;这是个新模块&#xff0c;在apps下创建projects 1.1、django-admin startapp projects 1.2进行注册 ‘apps.projects.apps.ProjectsConfig’ 进行接口编写的过程中&#xff0c;落入数据库的字段相同的有很多我们要在utils文件下进行闯进模型鸡肋 from django…

【黑科技】:Laravel 项目性能提升 20 倍

令人激动的黑科技&#xff1a;Laravel 项目性能提升 20 倍 这个项目能够在无需修改任何代码且无需第三方扩展的前提下&#xff0c;将你的 Laravel 项目性能提高 20 倍。它仅依赖于 PHP 原生的 pcntl、posix、fiber 和 sockets。 项目灵感 起因是看到官方发布的 PHP 8.1 更新…

【教学类-70-01】20240728一个茶壶两个茶杯(果茶)

‘ 背景需求&#xff1a; 用通义万相下载简笔画茶壶、茶杯 茶杯&#xff0c;简单笔画&#xff0c;卡通&#xff0c;黑白&#xff0c;未着色&#xff0c;幼儿插图&#xff0c;线条画&#xff0c;没有背景&#xff0c;没有颜色&#xff0c;黑白漫画线条艺术:&#xff0c;空背景…

【全国大学生电子设计竞赛】2022年B题

&#x1f970;&#x1f970;全国大学生电子设计大赛学习资料专栏已开启&#xff0c;限时免费&#xff0c;速速收藏~

Hakuin:一款自动化SQL盲注(BSQLI)安全检测工具

关于Hakuin Hakuin是一款功能强大的SQL盲注漏洞安全检测工具&#xff0c;该工具专门针对BSQLi设计&#xff0c;可以帮助广大研究人员优化BSQLi测试用例&#xff0c;并以自动化的形式完成针对目标Web应用程序的漏洞扫描与检测任务。 该工具允许用户以轻松高效的形式对目标Web应…

基于Python的宿舍管理系统/基于Spring Boot的学生宿舍管理系统/计算机专业/课设

摘要 宿舍管理系统是一种基于计算机技术的管理工具&#xff0c;旨在提高学生宿舍管理的效率、准确性和安全性。随着高校规模的不断扩大和学生数量的增加&#xff0c;宿舍管理工作变得愈发复杂&#xff0c;传统的手工管理已经无法满足需求。因此&#xff0c;开发宿舍管理系统已…

Greenplum的诞生与成长过程

Greenplum 成立与早期发展 Greenplum的诞生于早起发展 Greenplum于2003年在美国硅谷成立&#xff0c;在2006年发布了基于PostgreSQL(8.x)的MPP数据库产品&#xff0c;作为与公司同名的MPP数据库&#xff0c;专为分析和管理海量数据集而设计&#xff0c;支持复杂的数据分析和商…

大语言模型系列-Transformer:深入探索与未来展望

大家好&#xff0c;我是一名测试开发工程师&#xff0c;已经开源一套【自动化测试框架】和【测试管理平台】&#xff0c;欢迎大家联系我&#xff0c;一起【分享测试知识&#xff0c;交流测试技术】 Transformer模型自其问世以来&#xff0c;便迅速在自然语言处理领域崭露头角&a…

synchronized锁解析+synchronized锁的膨胀过程

目录 synchronized锁&#xff08;具体详解&#xff09; synchronized锁具体的三种形式&#xff1a; synchronized锁的实现原理是什么&#xff1f; 类锁和对象锁&#xff08;面试重点&#xff09; 锁的升级与对比&#xff08;synchronized锁的膨胀 面试重点&#xff09; 偏…

Jenkins持续部署

开发环境任务的代码只要有更新&#xff0c;Jenkins会自动获取新的代码并运行 1. pycharm和git本地集成 获取到下面的 Git可执行文件路径 2. pycharm和gitee远程仓库集成 先在pycharm中安装gitee插件 在设置中找到gitee&#xff0c;点击添加账户&#xff0c;并将自己的账户添…

vscode 根据不同语言项目自定义配置项(插件版本)

2024.7.28 天微热&#xff0c;心情燥。 前文&#xff0c;如果我们是一个全栈开发者&#xff0c;我们想在写前端项目时只让vscode加载前端的插件&#xff0c;写后端的时候只加载后端的插件&#xff0c;该如何配置呢&#xff1f; 1. 通过配置 workspace 这里大家都会&#xff0…

HAL库源码移植与使用之SPI驱动VS1053音频解码

你可以理解为带着dac adc芯片功能的集成芯片&#xff0c;声音的高低音形成由频率决定&#xff0c;大小声由波峰决定&#xff0c;所以采集时记录时间和电压值就可以确定高低音色和大小声&#xff0c;形成声音波形&#xff0c;再把波形用dac输出给喇叭&#xff0c;让喇叭在对应时…

Nginx系列-12 HTTP消息处理流程

背景 了解Nginx处理HTTP请求的11个阶段&#xff0c;有助于理解和配置nginx、自定义模块、基于lua模块自定义功能。按如下配置&#xff0c;执行"curl http://localhost:8001/query/test.html"&#xff0c;如果读者对结果不是很确定&#xff0c;建议阅读本文。 serve…

初识C++ · AVL树(2)

目录 前言&#xff1a; 1 左右旋 2 右左旋 3 部分细节补充 3.1 单旋和插入 3.2 部分小函数 前言&#xff1a; AVL树作为一种结构&#xff0c;理解树的本身是不大难的&#xff0c;难的在于&#xff0c;树旋转之后的连接问题&#xff0c;写AVL树的代码大部分都是在旋转部分…

压力温度实时图 livecharts

var mapper Mappers.Xy<MeasureModel>() //.X(model > model.currentTime.Ticks/TimeSpan.FromDays(1).Ticks) //使用 Time.作为X轴的标签 .X(model>model.Time) .Y(model > model.Value); // 作为Y轴的值 //全局保存映射器 Charting.For<Measu…

如何在安卓设备上运行Linux(使用termux+图形界面)加上换源等优化

我学生嘛&#xff0c;喜欢讲故事&#xff0c;你看看我大部分文章开头&#xff0c;都会有"事情的起因"一类话 当然这次也不例外哦 我最新获得了一个新平板&#xff0c;华为的matepad air&#xff0c;很喜欢。想捣鼓&#xff0c;不太懂&#xff0c;但好像鸿蒙不能直接…

31 列表常用方法——pop()、remove()、clear()

pop()、remove()、clear() 这 3 个方法用于删除列表中的元素。 ① pop() 用于删除并返回指定位置&#xff08;默认是最后一个&#xff09;上的元素&#xff0c;如果指定的位置不是合法的索引则抛出异常&#xff0c;对空列表调用 pop() 方法也会抛出异常。 ② remove() 用于删除…

数学基础【俗说矩阵】:逆矩阵

逆矩阵知识 认识逆矩阵 当最矩阵A【左乘】【初等阵】多次&#xff08;也就是进行多次【初等行】变化&#xff09;后&#xff0c;得到了一个【单位阵E】。由于矩阵具有结合律&#xff0c;把矩阵A【左乘】的所有【初等阵】乘起来&#xff0c;就得到了一个新的矩阵。我们称这个能…