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;空背景…

JavaScript图片轮播

代码在文章最后面&#xff08;含图片URL&#xff09; 实现功能 按向左按钮图片显示上一张按向右按钮图片显示下一张每隔2000毫秒显示下一张图底部三个圆点显示当前的图片的编号 实现流程 初始化图片数组 创建一个包含图片URL的数组&#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;开发宿舍管理系统已…

Spring、SpringMVC、SpringBoot之间有什么关系?

Spring、SpringMVC、SpringBoot之间有什么关系&#xff1f; Spring通常是指Spring框架&#xff08;SpringFramework&#xff09;是一款开源的轻量级的JavaEE开发框架&#xff0c;旨在简化Java项目的开发。 SpringFramework中包含很多模块&#xff0c;包括IOC控制反转、AOP面向…

Greenplum的诞生与成长过程

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

实现一个全栈模糊搜索匹配的功能

提供一个全栈实现的方案&#xff0c;包括 Vue 3 前端、Express 后端和 MySQL 数据库的分类模糊搜索功能。让我们逐步来看&#xff1a; 1. 数据库设计 (MySQL) 首先&#xff0c;我们需要一个存储分类的表&#xff1a; CREATE TABLE categories (id INT AUTO_INCREMENT PRIMAR…

大语言模型系列-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…

CFPRF(Clustered Frequency Pattern Recognition Framework) 与 K-means 聚类算法

CFPRF&#xff08;Clustered Frequency Pattern Recognition Framework&#xff09;是一个用于音频时间伪造检测和定位的框架。音频时间伪造&#xff08;Audio Time Forgery&#xff09;涉及对音频文件的时间轴进行篡改&#xff0c;例如插入、删除或重复音频片段。这种篡改可能…

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

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

2024年CSP-J第一轮暑假冲刺训练营(1):计算机基础

计算机基础 一、计算机历史1. 关于计算机2. 计算机名人3. 计算机应用 二、计算机系统1. 计算机系统2. 硬件性能指标3. 计算机指令4. 计算机编码5. 存储单位6. 字符编码7. 分辨率8. 总线常见公式 三、计算机语言1. 机器语言2. 汇编语言3. 高级语言 四、计算机安全1. 防护安全策略…

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

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