MacOS下使用Ollama本地构建DeepSeek并使用本地Dify构建AI应用

news2025/2/22 17:59:28

目录

  • 1 大白话说一下文章内容
  • 2 作者的电脑配置
  • 3 DeepSeek的本地部署
    • 3.1 Ollamal的下载和安装
    • 3.2 选择合适的deepseek模型
    • 3.3 安转deepseek
  • 4 Dify+DeepSeek构建Al应用
    • 4.1 Dify的安装
      • 4.1.1 前置条件
      • 4.1.2 拉取代码
      • 4.1.3 启动Dify
    • 4.2 Dify控制页面
    • 4.3 使用Dify实现个“文章标题生成器”应用
    • 4.4 “探索”模块404处理
  • 5 增语

1 大白话说一下文章内容

本篇文章基于Ollamal搭建本地DeepSeek,Ollamal是一个可以构建大模型工具,Ollamal也提供了很多模型。
本地部署了Dify,使用Dify做了个简单的AI应用,Dify是一个大模型应用构建工具,可以快速搭建和部署生成式Al应用程序。
内容里也记录了作者本人踩的很多坑!!供大家避雷!!!

2 作者的电脑配置

在这里插入图片描述
基于下面版本的大模型,本地跑了几个测试,微微热,电脑CPU 50%左右

3 DeepSeek的本地部署

Ollamal是一个开源框架,作用是在本地机器上便捷部署和运行大型语言模型(LLM)。

3.1 Ollamal的下载和安装

访问https://ollama.com/进入Ollama官网下载Ollama,要选择下载对应的操作系统版本即可
在这里插入图片描述
我的是mac版本的,下载好了傻瓜式安装后就是这样
在这里插入图片描述
因为我不安装llama模型,所以先不执行,直接关闭。

3.2 选择合适的deepseek模型

进入https://ollama.com中,选择Deepseek-r1(ps:或者你喜欢其他模型你也可以选择其他模型)
在这里插入图片描述
根据自己电脑的硬件配置来选择模型大小,我这里选择的是deepseek-r1的7b,点击它!(ps:这里的b代表了10亿,表示大模型下的一个神经元就有7*10亿的参数)
在这里插入图片描述

3.3 安转deepseek

复制安装命令如下,回到命令提示符窗口,将复制的命令粘贴到命令提示符窗口中并按回车键即可下载模型

ollama run deepseek-r1:7b

在这里插入图片描述
静静等待拉取结束,然后你就可以问他问题啦!

下面命令是启动命令,如果你部署了其他模型,模型名称是你部署的模型的名称

ollama run 模型名称

在这里插入图片描述

下面命令是关闭大模型

/bye

在这里插入图片描述

到这你就有个本地的大模型啦!(eg:我的电脑配置跑这个模型难一点的问题会稍稍热,不过也能带动。)

4 Dify+DeepSeek构建Al应用

Didy是一个开源的大语言模型(Large Language Model,LLM)应用开发平台。它融合了后端即服务(Backend as a Service,BaaS)和LLMOps的理念,旨在帮助开发者,甚至是非技术人员,能够快速搭建和部署生成式Al应用程序。
Dify内置了构建LLM应用所需的关键技术栈,包括对数百个模型的支持、直观的Prompt编排界面、高质量的RAG引擎、稳健的Agent框架、灵活的流程编排,并同时提供了一套易用的界面。
更细节的功能可以参考:Dify官网
在这里插入图片描述

4.1 Dify的安装

4.1.1 前置条件

  1. 确保你的电脑上有docker和docker-compose,因为dift是用docker-compose启动的
  2. 计算机要求:CPU >= 2 Core CPU = 2核心 RAM >= 4 GiB RAM>= 4 GiB

4.1.2 拉取代码

github地址:dify

拉取代码到本地:

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

下载下来的文件就长下面的样子
在这里插入图片描述

4.1.3 启动Dify

执行指令:

cd dify
cd docker
cp .env.example .env

在这里插入图片描述

这里建议你本地部署切到1.0.0-beta.1这个tag下,因为新版的包的镜像好多都很难拉下来

切换到tag1.0.0-beta.1,执行指令:

git checkout 1.0.0-beta.1

在这里插入图片描述

执行下面指令启动dify

docker compose up -d

可能会遇到镜像拉不下来的错误
在这里插入图片描述
你看见这种超时的报错:Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
或者是握手超时的报错(ps:没那条报错记录了)
或者是这种错误:Error response from daemon: Get “https://registry-1.docker.io/v2/”: context deadline exceeded

你就再次尝试!!!频繁尝试!!有志者事竟成!!
在这里插入图片描述
终于在我不懈的努力下,都拉取成功,最终成功的样子会展示成这样!都是对号✅!如果不是,请继续执行 docker compose up -d
在这里插入图片描述
如果你部署其他版本的dify,很容易出现某个镜像拉不下来的原因,我是基于下面这个docker镜像库拉取的,你也可以尝试一下!

修改daemon.json文件,配置镜像库:

sudo vim /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://docker.1panel.live",
        "https://docker.nju.edu.cn",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com",
        "https://registry.cn-hangzhou.aliyuncs.com"
    ]
}

配置完了docker仓库要记得重启!

4.2 Dify控制页面

dify部署成功了,登录dify的首页看一下,浏览器访问:http://localhost/install
设置管理员账号、密码、邮箱信息,这个账户是最大权限的账户!!
在这里插入图片描述
设置后会跳到
在这里插入图片描述
登录后就到了管理界面了,因为我自己调试了dify,增加了几个应用,所以展示如下,首次登录只有创建应用
在这里插入图片描述
配置上文中本地搭建好的deepseek-r1 7b大模型,右上角的设置
在这里插入图片描述
选择ollama点击安装,因为我已经安装了,所以展示个通义千文的
在这里插入图片描述
安装后会让你配模型,配置如下,你可以自我调整
在这里插入图片描述
这里有个两个坑:

  1. 上面的模型名称一定要和你下载的模型名称一模一样,就是在ollama中下载的模型名称
  2. 基础url配置有两种配置方式
    配置一:http://host.docker.internal:11434/
    11434是ollama默认端口,ollama运行在宿主机上,dify运行在docker容器中,网络不通,这里这样配置可以使docker能访问到ollama
    配置二:终端输入launchctl setenv OLLAMA_HOST "0.0.0.0",重启ollama
    将ollama的环境变量设置值 “0.0.0.0”,它允许从同一台机器上的不同网络接口访问服务

有的大模型不支持高级配置,我这里又装了个大模型,配置如下,自行拉取
在这里插入图片描述

配置好大模型的dify应该是这样的,忽略这个图片坏了。。。
在这里插入图片描述
到此dify就和deepseek整合了,接下来看看dify怎么使用deepseek

4.3 使用Dify实现个“文章标题生成器”应用

创建个空白的应用:
在这里插入图片描述
根据需求创建应用,因为我想实现个“文章标题生成器”,那么我这里就选择,文本生成应用
在这里插入图片描述
首次登录需要配置一下大模型,按照引导配就行了,也可以在右上角切换大模型
在这里插入图片描述
我这个应用就是想根据关键字和话题生成少于规定字数的几个标题

该应用配置如下:
可以声明变量,变量结合提示词会一起执行
在这里插入图片描述

因为设置了变量,运行之前需要填一些内容
在这里插入图片描述
返回结果如上,因为这里接入的是R1的推理模型,所以还会返回推理过程,如果这里想只返回内容可以接入指令模型!!!

最后介绍一下发布这个模块
在这里插入图片描述
这个更新会保存你的内容到数据库中,下次打开会保留你的设置

介绍一下嵌入网站,它可以生成代码嵌入到你的前端页面,也可以作为Chrome浏览器扩展应用使用
在这里插入图片描述

也可以调用api的方式获取到该dify的运行结果、日志等
点击访问API,会弹出对应的应用的api调用方式,可以基于自己的应用去调用,api中涉及的API密钥在右上角
在这里插入图片描述

4.4 “探索”模块404处理

点击中上方的“探索”展示404!!!404是啥啊??找不到页面呗!!

配置一下nginx,进入到dify的文件夹下,我的地址路径是这样的:

cd /Users/liuyang/AI本地搭建/dify/docker/nginx/conf.d

修改vim default.conf.template文件:

vim default.conf.template

增加配置:

location /explore {
  proxy_pass http://web:3000;  # 确保请求路由到 web 服务
  include proxy.conf;
}

在这里插入图片描述
然后重启nginx容器就可以啦!!!

执行命令:

docker restart docker-nginx-1

在这里插入图片描述
等待重启好了,再去访问“探索”模块
在这里插入图片描述
这里展示的都是英文,在设置设置成简体中文再切回来就变成中文啦!
在这里插入图片描述
再看一下!
在这里插入图片描述

很帅!!!!

5 增语

Dify还可以使用工具哦!!结合应用类型,再结合你的业务,可以实现很多AI功能,可以参考一下探索看看别人配的!!借鉴一下!!
在这里插入图片描述

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

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

相关文章

DeepSeek写俄罗斯方块手机小游戏

DeepSeek写俄罗斯方块手机小游戏 提问 根据提的要求,让DeepSeek整理的需求,进行提问,内容如下: 请生成一个包含以下功能的可运行移动端俄罗斯方块H5文件: 核心功能要求 原生JavaScript实现,适配手机屏幕 …

DeepSeek 冲击(含本地化部署实践)

DeepSeek无疑是春节档最火爆的话题,上线不足一月,其全球累计下载量已达4000万,反超ChatGPT成为全球增长最快的AI应用,并且完全开源。那么究竟DeepSeek有什么魔力,能够让大家趋之若鹜,他又将怎样改变世界AI格…

2025 WE DAY品牌日| 天璇II WE X7 Pro充电桩震撼发布,能效电气开启充电革命

随着新能源产业的迅猛发展,充电桩作为电动汽车能量补给的重要基础设施,正在成为市场关注的焦点。能效电气作为充电桩领域的佼佼者,专注于研发高效、智能的充电解决方案,为电动汽车的普及与可持续发展铺设了坚实的基础。 2025年2月21日,能效电气在深圳盛大举办了以“以创新 引未…

Python(二十二)实现各大跨境船公司物流查询CMA船司物流查询

一、前言 本章主要实现 【之前CMA船司物流信息查询】的遗留问题 解决思路 由于CMA船司查询需要进行[机器人验证] 方法1:直接从前端跳过,用selenium实现前端自动化,查询物流信息 方法2:捕捉到接口search,但需要将返回…

Ollama 安装

Ollama 支持多种操作系统,包括 macOS、Windows、Linux 以及通过 Docker 容器运行。 Ollama 对硬件要求不高,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 CPU:多核处理器(推荐 4 核或以上)。GPU…

复习dddddddd

1. 思路&#xff1a;用队列先进先出的特性 #include <iostream> #include <vector> #include <stack> #include <cstdio> #include <algorithm> #include <cstring> #include <climits> #include <cstdlib> #include <cma…

大数据技术Kafka详解 ⑥ | Kafka大厂面试题

目录 1、为什么要使用kafka? 2、kafka消费过的消息如何再消费? 3、kafka的数据是放在磁盘上还是内存上&#xff0c;为什么速度会快? 4、kafka数据怎么保障不丢失? 4.1、生产者数据的不丢失 4.2、消费者数据的不丢失 4.3、kafka集群中的broker的数据不丢失 5、采集数…

Jupyter里面的manim编程学习

1.Jupyterlab的使用 因为我之前一直都是使用的vscode进行manim编程的&#xff0c;但是今天看的这个教程使用的是Jupyter&#xff0c;我也很是好奇这个manim在Jupyter这样的交互式下面会生成怎么样的效果&#xff0c;所以今天尝试了jupyter&#xff0c;并且对于两个进行比较和说…

hot100_19. 删除链表的倒数第 N 个结点

hot100_19. 删除链表的倒数第 N 个结点 思路 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;head […

✨1.HTML、CSS 和 JavaScript 是什么?

✨✨ HTML、CSS 和 JavaScript 是构建网页的三大核心技术&#xff0c;它们相互协作&#xff0c;让网页呈现出丰富的内容、精美的样式和交互功能。以下为你详细介绍&#xff1a; &#x1f98b;1. HTML&#xff08;超文本标记语言&#xff09; 定义&#xff1a;HTML 是一种用于描…

机器学习的数学基础(三)——概率与信息论

目录 1. 随机变量2. 概率分布2.1 离散型变量和概率质量函数2.2 连续型变量和概率密度函数 3. 边缘概率4. 条件概率5. 条件概率的链式法则6. 独立性和条件独立性7. 期望、方差和协方差7.1 期望7.2 方差7.3 协方差 8. 常用概率分布8.1 均匀分布 U ( a , b ) U(a, b) U(a,b)8.2 Be…

flutter将utf-8编码的字节序列转换为中英文字符串

这里遇到的问题是&#xff0c;我通过某种方式拿到了utf-8编码的字节序列&#xff0c;我只知道他们对应的是中英文字符。怎么将其转成中英文&#xff0c;并打印&#xff0c;让我对utf-8编码有了些许许的了解。 这里记录一下转换代码&#xff1a; String wifiName \xE9\xA1\xB…

IM聊天系统架构实现

一、IM系统整体架构 二、企业级IM系统如何实现心跳与断线重连机制&#xff1b; 1、重连机制&#xff08;服务端下线&#xff09; 服务端下线&#xff0c;客户端netty可以感知到&#xff0c;在感知的方法中进行重连的操作&#xff0c;注意重连可能连接到旧的服务器继续报错&…

基于腾讯云大模型知识引擎×DeepSeek构建八字、六爻赛博算卦娱乐应用

引言 随着DeepSeek的火爆&#xff0c;其强大的思维链让不少人越用越香&#xff0c;由于其缜密的思维和推理能力&#xff0c;不少人开发出了不少花里胡哨的玩法&#xff0c;其中一种就是以八字、六爻为代表的玄学文化正以“赛博玄学”的新形态席卷年轻群体。 针对于八字、六爻…

linux文件管理命令ln

linux文件管理命令ln 1、软链接2、硬链接3、命令参数3.1、必要参数3.2、选择参数 4、应用示例4.1、创建硬链接4.2、创建软链接&#xff08;符号链接&#xff09;4.3、 对目录创建软链接4.4、强制覆盖目标文件 5、应用场景 它的功能是为某一个文件在另外一个位置建立一个同步的链…

CT dicom 去除床板 去除床位,检查床去除

1. 前言 医院拍摄患者CT与MRI 图像&#xff0c; 但是CT图像中就会出现检查床的区域&#xff0c;来看CT扫描设备是什么样子的&#xff0c;红色标出区域 可以在图中看到&#xff0c;在头部位置安装有固定头部的类似支架的东西&#xff0c;这个东西拍摄出来时什么样子呢&#xff…

扩散模型中,Flow Matching的训练方式相比于 DDPM 训练方法有何优势?

在扩散模型中,Flow Matching(FM)相比DDPM(Denoising Diffusion Probabilistic Models)的训练方法具有以下核心优势: 1. 更简单的训练目标 DDPM:通过逐步预测噪声来间接优化数据分布的变分下界(ELBO),需要设计多步的噪声调度策略,训练目标依赖马尔可夫链的分解。Flow…

【用deepseek和chatgpt做算法竞赛】——还得DeepSeek来 -Minimum Cost Trees_5

往期 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_0&#xff1a;介绍了题目和背景【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_1&#xff1a;题目输入的格式说明&#xff0c;选择了邻接表…

Python实现GO鹅优化算法优化随机森林分类模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的世界中&#xff0c;机器学习技术被广泛应用于各种领域&#xff0c;如金融、医疗、…

【目标检测】【YOLOv4】YOLOv4:目标检测的最佳速度与精度

YOLOv4&#xff1a;目标检测的最佳速度与精度 0.论文摘要 有许多特征被认为可以提高卷积神经网络&#xff08;CNN&#xff09;的准确性。需要在大规模数据集上对这些特征的组合进行实际测试&#xff0c;并对结果进行理论上的验证。某些特征仅适用于特定模型和特定问题&#…