Dify+Ollama+DeepSeek部署本地大模型+知识库搭建

前言

上一篇文章《Ollama+DeepSeek部署本地大模型》我们已经知道如何在本地搭建自己的大模型了,不过想要让大模型能够根据我们个人或者企业的数据情况做出精准的回答,我们还需要将自己的数据投喂给大模型才可以。本篇文章我们将会使用一个开源项目dify集成ollama+deepseek大模型,搭建自己本地知识库,让大模型能够回答出我们想要的结果。

1.DockerDesk和Ollama

首先参考我们上一篇文章安装好Ollama并下载好DeepSeek模型后,安装好DockerDesk,注意:不需要安装OpenWebUI了,文章地址:https://blog.csdn.net/u014494148/article/details/145484048

2.安装Dify

我们需要一个AI可视化程序Dify , :Dify是一个基于GPT的AI应用开发平台,支持多种大语言模型(LLM),旨在帮助用户快速创建和运营生成式AI原生应用。它具备以下特点:

  • 多模型支持:兼容OpenAI、Claude、Hugging Face等主流模型,并支持本地私有化部署。

  • 可视化编排:提供Prompt模板、工具链等可视化工具,简化应用开发流程。

  • 丰富功能:支持文本生成、对话、知识库问答等,满足多样化需求。

  • 灵活部署:支持云服务和本地部署,适应不同场景。

  • 持续更新:团队持续优化,确保平台功能与时俱进。

Dify适合开发者、企业和个人用户,用于构建智能客服、内容生成、教育辅助等AI应用。diay代码地址:https://gitee.com/dify_ai/dify,把代码克隆下来
在这里插入图片描述
代码解压后,进入到 docker 目录后,将.env.example复制一份修改为:.env 该文件是dify的环境配置文件, 然后通过CMD在当前目录执行:docker compose up -d
在这里插入图片描述
dify通过docker compose自动安装需要的容器到Docker中,如下:能看到一个docker的容器就说明安装好了
在这里插入图片描述

3.Dify集成ollama

浏览器访问:localhost:signin , 设置好你的账号和密码进行登录在这里插入图片描述
登录成功后,找到右上角头像图标 - 设置 - 找到模型供应商 - 找到ollama添加一个模型
在这里插入图片描述

如下图:选择好模型和模型的URL地址,其他的默认即可。点击保存。注意:地址要填 http://host.docker.internal:11434

  • 模型名称必须填写通过ollama安装了的模型,如果没安装可以通过:ollama run deepseek-r1:7b 进行安装

在这里插入图片描述
然后找到添加的模型-再次添加,这次我们选Text Embedding ,点击保存
在这里插入图片描述
最终我们通过ollama添加了2个模型如下图
在这里插入图片描述

  • LLM:用于生成和理解自然语言文本。

  • Text Embedding:用于将文本转换为数值向量,便于计算语义相似度

4.新建知识库

准备好自己的知识库,比如我这里新建了一个:套餐.txt,其中随便准备了一些内容,以移动的套餐为例,如下:
在这里插入图片描述

然后找到:知识库 - 导入已有文本 : 选择自己的知识库文件 ,然后点击下一步,其他的默认设置即可
在这里插入图片描述
在这里是对知识库做设置,比如如何分段,索引方式等,我这里全部默认,点击保持并处理
在这里插入图片描述
耐心等待处理完成,显示嵌入已完成。代表知识库导入成功
在这里插入图片描述
查看分段效果如下:
在这里插入图片描述

5.创建应用

接下来我们需要创建一个应用,也就是我们的AI机器人,点击工作室 - 创建空白应用 - 聊天助手 - 填写好AI的名字点击创建
在这里插入图片描述

在弹出界面中点击添加上下文,选中自己的知识库,也就是你创建的知识库点击添加
在这里插入图片描述

此时在右边的对话框中就可以输入,大模型会根据知识库进行查询。在最后的界面中能看到引用自刚才创建的知识库文件。右上角可以选择模型,点击发布 -可以把应用发布出去给其他人使用.使用效果如下
在这里插入图片描述

在访问API页面中提供了API接口地址,可以通过代码进行接入。

文章就写到这里吧,如果文章对你有帮助请给个好评

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek官方推荐的AI集成系统

DeepSeek模型虽然强大先进,但是模型相当于大脑,再聪明的大脑如果没有输入输出以及执行工具也白搭,所以需要有配套工具才能让模型发挥最大的作用。下面是一个典型AI Agent架构图,包含核心组件与数据流转关系: #mermaid-…

rk3568 linux lockdep死锁定位

1,场景 2,配置config,进入kernel目录,make menuconfig 选择kernel hacking进入下面界面 debug hungup lockdeps里面是与系统卡死相关的配置内核编译选择宏,下面的选择自己可以选择。 配置完之后对比查看相关的配置宏定义&#x…

简要分析LeetCode树经典题目(Java)

目录 开场白 实战环节 准备工作 遍历问题 LeetCode144. 二叉树的前序遍历 方法一 方法二 LeetCode94. 二叉树的中序遍历 LeetCode145. 二叉树的后序遍历 方法一 方法二 LeetCode102. 二叉树的层序遍历 LeetCode103. 二叉树的锯齿形层序遍历 LeetCode107. 二叉树的…

PHP代驾系统小程序

🚗 代驾系统 —— 安全、便捷、智能的出行新选择 🔧 一款基于先进ThinkPHPUniapp技术架构,匠心独运的代驾软件横空出世,微信小程序端率先登场,为您的出行之旅增添前所未有的便捷与安全。它不仅是您贴心的出行助手&…

TypeScript 与后端开发Node.js

文章目录 一、搭建 TypeScript Node.js 项目 (一)初始化项目并安装相关依赖 1、创建项目目录并初始化2、安装必要的依赖包 (二)配置 TypeScript 编译选项(如模块解析方式适合后端) 二、编写服务器代码 &a…

CAS单点登录(第7版)1.首页

如有疑问,请看视频:CAS单点登录(第7版) 面向所有地球人及其他地区的企业身份 Enterprise Identity for All Earthlings and Beyond 身份、单点登录和访问管理 Identity, Single Sign-On and Access Management 首页 Apereo CAS…

Unity学习part1

课程为b站【Unity教程】零基础带你从小白到超神 1、脚本执行顺序 unity的脚本执行顺序不像blender的修改器那样按顺序执行,而是系统默认给配置一个值,值越小,执行顺序越靠前(注意,这个顺序是全局生效的) …

Next.js【详解】CSS 样式方案

全局样式 Global CSS 默认已创建,即 src\app\globals.css,可根据需要修改 默认在全局布局中导入 src\app\layout.tsx import "./globals.css";组件样式 CSS Modules 新建文件 src\app\test\styles.module.css .red {color: red;}导入目标页面…

基于SpringBoot+Vue的求职招聘管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 在数字化和信息化的时代背景下,求职招聘管理系统作为一种高效的线上服务平台,正逐渐改变着传统的招聘方式。随着互联网的普及和技术的不断进步,求职者与企业之间的信息交互变得越来越频繁和复…

#渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…

CAS单点登录(第7版)3.安装

如有疑问,请看视频:CAS单点登录(第7版) 安装 要求 安装要求 根据配置组件的选择,可能还有其他要求,例如 LDAP 目录、数据库和缓存基础结构。但是,在大多数情况下,对于选择具有明确…

安装 Docker Desktop 修改默认安装目录到指定目录

Docker Desktop安装目录设置 Docker Desktop 默认安装位置 (C:\Program Files\Docker\Docker) 是这个 ,导致系统盘占用过大,大概2G ; 那么如何安装到其他磁盘呢? 根据docker desktop 官网 Docker Desktop install 我们可以看到&a…

网络安全威胁是什么

1.网络安全威胁的概念 网络安全威胁指网络中对存在缺陷的潜在利用,这些缺陷可能导致信息泄露、系统资源耗尽、非法访问、资源被盗、系统或数据被破坏等。 2.网络安全威胁的类型 物理威胁系统漏洞威胁身份鉴别威胁线缆连接威胁有害程序危险 (1&#x…

Flutter_学习记录_动画的简单了解

用AnimationController简单实现如下的效果图&#xff1a; 1. 只用AnimationController实现简单动画 1.1 完整代码案例 import package:flutter/material.dart;class AnimationDemo extends StatefulWidget {const AnimationDemo({super.key});overrideState<AnimationDe…

数据结构与算法之排序算法-选择排序

排序算法是数据结构与算法中最基本的算法之一&#xff0c;其作用就是将一些可以比较大小的数据进行有规律的排序&#xff0c;而想要实现这种排序就拥有很多种方法~ 那么我将通过几篇文章&#xff0c;将排序算法中各种算法细化的&#xff0c;详尽的为大家呈现出来&#xff1a; &…

IOTDB安装部署

IOTDB一般用于工业互联网&#xff0c;至于具体的介绍请自行搜索 1.环境准备 安装前需要保证设备上配有 JDK>1.8 的运行环境&#xff0c;并配置好 JAVA_HOME 环境变量。 设置最大文件打开数为 65535。 关闭防火墙 systemctl stop firewalld.service systemctl disable …

游戏引擎学习第100天

仓库:https://gitee.com/mrxiao_com/2d_game_2 昨天的回顾 今天的工作重点是继续进行反射计算的实现。昨天&#xff0c;我们开始了反射和环境贴图的工作&#xff0c;成功地根据法线显示了反射效果。然而&#xff0c;我们还没有实现反射向量的计算&#xff0c;导致反射交点的代…

分布式 NewSQL 数据库(TiDB)

TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议&#xff0c;具有数据强一致的高可用特性&#xff0c;是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据…

Vue响应式原理实现总结(数据劫持Object.defineProperty/Proxy+发布订阅者设计模式)

Vue的响应式主要分为数据劫持和发布订阅模式。Vue2用的是Object.defineProperty,而Vue3改用Proxy。数据劫持就是在访问或修改对象属性时进行拦截,然后触发相应的更新。发布订阅模式则是用来收集依赖(比如视图更新函数),当数据变化时通知这些依赖执行。 总结一下,关键点包…

以若依移动端版为基础,实现uniapp的flowable流程管理

1.前言 此代码是若依移动端版为基础&#xff0c;实现flowable流程管理&#xff0c;支持H5、APP和微信小程序三端。其中&#xff0c;APP是在安卓在雷电模拟器环境下完成的&#xff0c;其他环境未测试&#xff0c;此文章中所提及的APP均指上述环境。移动端是需要配合若依前后端分…