在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

一、Dify平台简介

Dify是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。其名字蕴含着"Define(定义)+ Modify(修改)"的理念,体现了平台的灵活性和易用性。

作为一个综合性开发平台,Dify结合了后端即服务(BaaS)和LLMOps的概念,使开发人员能够更高效地构建AI原生应用。无论您是开发者还是非技术人员,都可以利用Dify构建、部署和运营AI应用。

Dify的主要特点包括可视化的AI应用开发模式,支持聊天机器人、AI工作流、RAG管道、Agent、模型管理以及可观测性功能。其应用场景十分广泛,包括智能客服、企业知识库、特定领域的聊天机器人和AI助理、自动化报告生成以及多模态内容创作。

二、在Mac上本地部署Dify

(一)准备工作

  1. 确保Mac环境满足要求:你的Mac需要安装有Homebrew,它是Mac上优秀的包管理工具。如果没有安装,可以在终端中运行以下命令进行安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装Docker:Dify通过Docker进行部署,所以需要安装orbstack。你可以前往orbstack官网下载并按照提示完成安装。安装完成后,启动Docker,确保其在后台运行。
    在这里插入图片描述
  2. 镜像加速:加速的目的是为了下载dify时不出现因为超时而报错,操作步骤:使用 vim 命令行打开docker.json文件,输入下面镜像的地址。
vi ~/.orbstack/config/docker.json
{
"registry-mirrors":[
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"]
}

(二)获取Dify代码

在终端中执行以下命令,克隆Dify的代码仓库:

git clone https://github.com/dify-ai/dify.git

克隆完成后,进入dify目录并设置.env文件:

cd dify/docker
cp .env.example .env

(三)配置与启动

  1. 环境变量配置(可选):如果有特殊的配置需求,比如修改服务端口、配置代理等,可以通过编辑.env文件来设置环境变量。在dify目录下找到.env.example文件,将其复制一份并命名为.env,然后根据实际需求修改其中的配置项。例如,如果想修改Dify服务的端口为8080,可以找到并修改APP_PORT=8080这一行(原端口可能是其他值)。
  2. 启动Dify:在终端中,确保当前目录为dify目录,然后执行以下命令启动Dify:
docker compose up -d

在这里插入图片描述

该命令会在后台启动Dify相关的容器,包括数据库、应用服务等。启动过程可能需要一些时间,取决于你的网络速度和机器性能。启动完成后,可以通过访问http://localhost(如果修改了端口,需要使用修改后的端口,如http://localhost:8080)来打开Dify的Web界面。启动后界面如下:

在这里插入图片描述

四、使用Ollama本地部署DeepSeek模型

Ollama是一个跨平台的轻量级工具,旨在本地运行大型语言模型,如DeepSeek、Llama和Mistral。它提供了一键式模型部署,适合需要数据隐私和本地控制的用户。

  • 在Mac上使用Ollama部署DeepSeek的步骤如下:
    1.访问Ollama官网(https://ollama.ai/ )下载适合Mac的安装包。
    2.安装Ollama。安装过程非常简单,按照提示完成即可。
    3.安装完成后,打开终端,验证Ollama是否正确安装:
  ollama --version

拉取DeepSeek模型。Ollama支持多种规模的DeepSeek模型,您可以根据自己的硬件条件选择合适的版本:

ollama pull deepseek-r1:1.5b

验证模型是否正常运行:

 ollama run deepseek-r1:1.5b

这将启动一个交互式会话,您可以直接与DeepSeek模型对话。
在这里插入图片描述

五、在 Dify 中配置 DeepSeek 并创建聊天助手​

(一)配置模型接口​

1.登录 Dify:在浏览器中访问http://localhost完成注册并登录账号。​
2.进入模型配置页:点击左侧导航栏的 “设置”→“模型”→“添加模型”,选择 “模型供应商”。​
在这里插入图片描述
3.填写信息:​

  • 选择供应商模型 ollama
    在这里插入图片描述
  • 模型基础URL:http://host.docker.internal:11434/api/chat(Ollama 默认接口地址,Docker 内部需用host.docker.internal访问本地服务)​,模型名称为本地ollama部署的模型名称(如:deepseek-r1:8b)。
    在这里插入图片描述
  • 点击 “保存”,即配置完成。

(二)创建聊天助手​

新建应用:点击左侧导航栏的 “应用”→“创建应用”,选择 “聊天助手” 类型。​
配置助手:​
应用名称:自定义(如 “本地 DeepSeek 助手”)​
选择模型:在下拉框中选择刚配置的 “DeepSeek-Local”​
其他设置(如开场白、回复风格)保持默认即可。​
测试助手:点击 “预览” 按钮,在聊天窗口中输入问题(如 “介绍一下人工智能”),若能收到来自 DeepSeek 模型的回应,说明聊天助手创建成功。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

centos出现ping: baidu.com: 未知的名称或服务问题

出现的问题如下:自己电脑连接的是实验室的无线网,宿主机可以上网,但是虚拟机无法ping通百度 解决: 将连接的网络换成自己的手机热点,然后就解决了。。。

GitHub第三方登录全解析:OAuth 2.0流程详解(适合初学者)

🔐 GitHub第三方登录全解析:OAuth 2.0流程详解(适合初学者) 🌟 什么是OAuth?为什么需要它? 想象一下:你开发了一个学习笔记应用"DocFlow",用户需要登录才能使用…

MyBatis持久层实现

MyBatis持久层实现 package com.example.usermanagement.mapper;import com.example.usermanagement.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List;/*** 用户Mapper接口* Mapper: 标识这是M…

BW处理链日志存储分析与清理

处理链日志存储分析使用程序 RSPC_LOGS_ANALYZE 分析处理链日志占用空间*&---------------------------------------------------------------------* *& Report RSPC_LOGS_ANALYZE *&---------------------------------------------------------------------* *&a…

mysql 简单操作手册

以下是一份 MySQL 日常操作速查手册,包含启动/停止服务、连接/退出客户端、数据库管理、用户权限等常用命令,适用于 macOS(Homebrew 安装)和 Linux 系统:一、服务管理 🚦操作命令(Homebrew&…

HTML5 Web Workers 深度剖析:助力网页性能飞速提升

在当今数字化时代,Web 应用的性能已成为决定用户体验和业务成功的关键因素。随着 Web 应用的复杂性不断增加,如何高效利用设备资源、提升网页响应速度成为开发者面临的重大挑战。 HTML5 Web Workers 的诞生与意义 在传统的网页开发中,JavaScr…

调度系统部署架构是什么样的呢?

简单示例一个部署架构图,如下所示:📘 各组件说明:✅ 服务器端组件(控制节点)Slurm:slurmctld(主控调度器),slurmdbd(数据库服务)PBS P…

SQL 与 NoSQL 的核心区别

数据库是存储、管理和检索数据的系统。根据数据模型和设计理念,可分为SQL 数据库(关系型数据库) 和NoSQL 数据库(非关系型数据库)。两者的核心区别在于数据的组织方式、灵活性、事务支持和适用场景。💡一、…

力扣 hot100 Day71

45. 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在索引 i 处&#xff0c;你可以跳转到任意 (i j) 处&#xff1a; 0 < j < nums[i] 且i j < n …

什么是 Spring MVC?

题目详细答案Spring MVC 是 Spring 框架中的一个模块&#xff0c;用于构建基于 Web 的应用程序。它遵循 Model-View-Controller#&#xff08;MVC&#xff09;设计模式&#xff0c;将业务逻辑、用户界面和数据分离&#xff0c;以促进代码的可维护性和可扩展性。主要包含几个概念…

第十篇:3D模型性能优化:从入门到实践

第十篇&#xff1a;3D模型性能优化&#xff1a;从入门到实践 引言 在3D开发中&#xff0c;性能优化是区分普通应用和卓越应用的关键。Three.js应用的流畅运行需要60FPS的渲染效率&#xff0c;而移动端设备更面临严格的资源限制。本文将深入解析性能优化核心技术&#xff0c;并通…

基于 Easy Rules 的电商订单智能决策系统:构建可扩展的业务规则引擎实践

Easy Rules 是一个轻量级且易于使用的规则引擎&#xff0c;适用于Java应用。下面是一个简单的示例&#xff0c;演示如何使用 Easy Rules 定义和执行规则。 添加依赖 首先&#xff0c;在你的Java项目中添加 Easy Rules 的 Maven 依赖&#xff08;如果你使用的是Maven构建工具&am…

如何使用gpt进行模型微调?

对 GPT 类大语言模型&#xff08;如 GPT-3、GPT-2、Hugging Face 的 GPT 系列、ChatGLM 等开源或闭源模型&#xff09;进行微调&#xff08;Fine-tuning&#xff09;&#xff0c;目的是让模型在特定任务或领域&#xff08;如法律、医疗、客服、代码生成等&#xff09;上表现更优…

数据可视化与人机交互技术

人机交互技术(HumanComputer Interaction&#xff0c;HCI)是21世纪信息领域需要发展的重大课题。例如&#xff0c;美国21世纪信息技术计划中的基础研究内容定为四项&#xff0c;即软件、人机交互、网络、高性能计算。其目标就是要开发21世纪个性化的信息环境。其中&#xff0…

MP2662GC-0000-Z降压转换器 MPS电源芯片 集成电路IC

MP2662GC-0000-Z 是MPS&#xff08;Monolithic Power Systems&#xff09;公司推出的一款高性能电源管理集成电路&#xff08;PMIC&#xff09;&#xff0c;属于其电池管理或电源转换产品线的一部分。以下是关于该器件的详细解析&#xff1a;1. 核心功能高效电源转换&#xff1…

Go 语言中的切片排序:从原理到实践玩转 sort 包

🚀 Go 语言中的切片排序:从原理到实践玩转 sort 包 在Go语言的日常开发中,切片(Slice)作为动态、灵活的数据结构,几乎无处不在。而排序作为数据处理的基础操作,更是高频需求。 Go标准库中的sort包凭借其优雅的设计和高效的实现,成为切片排序的“瑞士军刀”。本文将带…

PCB焊盘脱落的补救办法与猎板制造优势解析

PCB焊盘脱落是电子维修中常见的问题&#xff0c;轻则导致元件虚焊&#xff0c;重则引发电路板报废。遇到这种情况不必慌张&#xff0c;掌握正确的补救方法能最大限度挽回损失。一、焊盘脱落的应急处理方案若脱落焊盘未完全脱离基板&#xff0c;可用镊子夹住残留部分缓慢抬起&am…

python3.10.6+flask+sqlite开发一个越南留学中国网站的流程与文件组织结构说明

采用python3.10.6flasksqlite技术栈&#xff0c;开发一个越南留学中国网站&#xff08;vietnam-study-in-china&#xff09;。开发流程与文件组织结构说明 一、项目概述与规划 &#xff08;一&#xff09;项目背景与意义 留学趋势分析 近年来&#xff0c;中越两国教育交流日益…

uView Pro 正式开源!70+ Vue3 组件重构完成,uni-app 组件库新晋之星

一、项目背景 uni-app 作为一款优秀的跨平台框架&#xff0c;凭借其“一套代码&#xff0c;多端运行”的理念&#xff0c;受到了广大移动端开发者的青睐。 而在 uni-app 的生态中&#xff0c;uView UI 作为一款基于 Vue2 开发的开源组件库&#xff0c;凭借其丰富的组件、完善…

Qwen3 技术报告 的 Strong-to-Weak Distillation 强到弱蒸馏 和 代码实现

Qwen3 技术报告 的 Strong-to-Weak Distillation 强到弱蒸馏 和 代码实现 flyfish 代码在文末 技术报告就是不一定经过严格的学术期刊同行评审&#xff0c;但具有较强的专业性和实用性。 The post-training pipeline of Qwen3 is strategically designed with two core ob…