Dify 通过 API 调用 RAGFlow 外部知识库

从小白到专家:DeepSeek 模型硬件配置完全指南 DeepSeek是由深度求索(DeepSeek)推出的一系列大语言模型,涵盖从轻量级到超大规模的不同版本。高效性:优化了推理和训练效率,适合多种应用场景。灵活性:支持从单机到分布式集群的部署方式。多场景适配:适用于文本生成、代码补全、对话系统等任务。为了充分发挥DeepSeek模型的性能,合理的硬件配置至关重要。以下是针对不同规模模型的具体硬件需求。 阅读详情
AI摘要

本文介绍了Dify v0.10.0+连接RAGFlow v0.12.0+外部知识库的操作,包括添加API、接口,连接知识库及设置等,还提及测试接口和召回测试。此外,分享了大模型AI的学习阶段,涵盖初阶应用、高阶应用、模型训练和商业闭环,并提供免费学习资料领取方式。

本文使用 Dify v0.10.0+ 和 RAGFlow v0.12.0+ 版本(源码运行)。Dify 中的 RAG 一直被诟病,现在 Dify 提供了外部知识库 API,这样就可以连接到 Dify 之外的知识库并从中检索知识。第一个问题是 API 规范,包括接口格式、输入和输出参数等。第二个问题是哪些外部知识库支持该 API 呢?理论上讲只要支持 API 规范都是可行的。目前,官网有介绍如何使用 AWS Bedrock 知识库的。本文重点介绍 Dify 连接 RAGFlow 外部知识库。Dify通过API调用RAGFlow外部知识库:https://z0yrmerhgi8.feishu.cn/wiki/DrUqwbIXmicVI4kzYzJcQesGnee

一.Dify 连接 RAGFlow 操作

1.添加外部知识库 API

输入 Name,API Endpoint 和 API Key,如下所示:

(1)Name:中英文均可。

(2)API Endpoint:http://127.0.0.1/api/v1/dify

(3)API Key:XXX

2.添加外部知识库接口

主要调用/datasets/external-knowledge-api 的 POST 接口,如下所示:

(1)Payload 内容

{       "name": "外部知识库",       "settings": {           "endpoint": "http://127.0.0.1:9380/api/v1/dify/retrieval",           "api_key": "ragflow-XXX"       }   }   

(2)Response 结果

{       "id": "22ae908a-8f54-49dc-be77-4ff8991efbb6",       "tenant_id": "7bdb51d6-f390-4b23-a59e-9cdbe2e93136",       "name": "\u5916\u90e8\u77e5\u8bc6\u5e93",       "description": "",       "settings": {           "endpoint": "http://127.0.0.1:9380/api/v1/dify/retrieval",           "api_key": "ragflow-MwYmU3Zjg2OGY4YjExZWZiZGU1MDAxNT"       },       "dataset_bindings": [],       "created_by": "ebbf25be-ec85-4d68-9dd2-5bc2ee2855e4",       "created_at": "2024-10-22T01:41:04"   }   

3.连接外部知识库

填写外部知识库名字、描述、API 和 ID 等信息,并且设置召回参数,如下所示:

在这里插入图片描述

(1)外部知识库名字:外部知识库

(2)外部知识库描述:外部知识库

(3)外部知识库 API:外部知识库

(4)外部知识库 ID:XXX

(5)召回设置 Top K:默认 2

(6)召回设置 Score 阈值:默认 0.5

没找到外部知识库 ID 在哪里看,直接看的 list 接口的 Response 的 id,如下所示:

4.知识库设置

在知识库页面可看到外部知识库,如下所示:

在这里插入图片描述

在知识库设置页面,可以对外部知识库进行信息修改,如下所示:

二.测试 RAGFlow 接口

1.使用 Postman 测试

设置 Headers,如下所示:

设置 Body(raw+JSON),如下所示:

{       "knowledge_id": "0ed8508e8f7311ef801500155d1e64cf",       "query": "如何克服恐惧?",       "retrieval_setting":{           "top_k": 1,           "score_threshold": 0       }   }   

2.调试接口

通过 Debug 可看到 Request 的参数,如下所示:

三.Dify 使用外部知识库召回测试

1.召回测试

理想过程是输入、测试和输出,如下所示:

在这里插入图片描述

2.接口 403 原因

但在召回测试接口 /datasets/<uuid:dataset_id>/external-hit-testing 时候发现 403。看了下发现 Authorization 内容为 Bearer [__HIDDEN__],如下所示:

顺便看了下前端代码,如下所示:

在 external_knowledge_apis 数据库表的 settings 字段就是存储的 Bearer [__HIDDEN__]。推测 Bearer [__HIDDEN__] 的目的主要是为了 隐藏敏感信息,即 API 请求中的 身份验证令牌(API key 或 Token)。这是为了防止在公开或共享的场景下泄露机密的 API 密钥,确保安全性。[__HIDDEN__] 只是一个占位符,实际的 API 密钥会替换该部分。

为了明证推测,通过 [__HIDDEN__] 在 Dify 源码中进行了检索,如下所示:

这段代码的主要目的是 加密和解密凭据,并处理隐藏的凭据([__HIDDEN__])在输入时保持不变的情况。如下所示:

# encrypt credentials   for key, value in credentials.items():       if key in provider_credential_secret_variables:           # if send [__HIDDEN__] in secret input, it will be same as original value           if value == HIDDEN_VALUE and key in original_credentials:               credentials[key] = encrypter.decrypt_token(self.tenant_id, original_credentials[key])   

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

Dify外部知识库API对接实战:5步搞定RAGFlow集成与避坑指南 本文深入解析了Dify外部知识库API的架构原理与生产级集成实战,重点探讨了如何通过5个关键步骤高效对接RAGFlow等专业RAG系统。文章对比了三种集成模式的优劣,并提供了检索参数调优、错误处理及性能监控等避坑指南,帮助企业实现异构知识源的无缝融合与稳定运行。 阅读详情

相关推荐

Dify外挂RAGFlow的知识库配置操作,实现提高增强检索能力

在AI应用开发领域,Dify凭借其革命性的可视化编排能力迅速成为低代码开发赛道的领跑者。然而随着企业级用户深入应用,其技术瓶颈逐渐显现:原生检索增强生成(RAG)引擎在处理多模态数据处理、长文本语义理解及高频迭代更新的企业级知识库时,响应质量与效率呈现显著衰减,尤其在应对复杂业务场景下的多轮对话意图捕捉、跨文档关联推理等核心需求时,现有架构暴露出明显的性能天花板。作为开源领域新一代检索增强生成引擎,RAGFlow通过深度文档理解技术重构了多模态数据处理范式。

awei0916的专栏 3368

TensorFlow相关组件的安装

TensorFlow相关组件的安装

AAI666666的博客 3937

RAGFlow+Dify:打造智能知识库搜索系统(windows版本)

本文介绍了windows将RAGflow与Dify平台深度集成的方案,打造高效知识库搜索系统。通过API对接实现文档解析、智能分片和混合检索功能,在Dify中创建工作流应用节点。该方案结合RAGflow的多模态处理能力和Dify的流程编排优势,实现了知识检索与LLM的协同增效。

applehunqiu的博客 2944

本地部署DeepSeek大模型电脑配置推荐

针对本地部署DeepSeek大模型的配置需求,需根据模型规模(如7B/13B/70B参数)和量化方案进行区分。

huang9604的博客 3万+

DeepSeek R1本地化部署与联网功能实战指南:从零搭建智能对话系统

在人工智能技术快速发展的今天,如何将先进的对话模型DeepSeek R1部署到本地环境并赋予其联网能力,成为许多开发者和企业关注的重点。本文将深入讲解完整的本地化部署流程,并通过实例代码演示如何为模型添加实时网络访问功能。

理论都是虚的,代码才是王道。 7万+

未来已来?2026最新国内15家AI大模型应用盘点(附体验网址,持续更新)

未来已来?国内15家AI大模型盘点及体验网址,一起来看看吧!

Code_流苏:在代码中寻诗意,在实践中觅真知 12万+

Dify API 调用实践:如何高效利用 RAGFlow 外部知识库

本文使用 Dify v0.10.0+ 和 RAGFlow v0.12.0+ 版本(源码运行)。Dify 中的 RAG 一直被诟病,现在 Dify 提供了外部知识库 API,这样就可以连接到 Dify 之外的知识库并从中检索知识。第一个问题是 API 规范,包括接口格式、输入和输出参数等。第二个问题是哪些外部知识库支持该 API 呢?理论上讲只要支持 API 规范都是可行的。目前,官网有介绍如何使用 AWS Bedrock 知识库的。本文重点介绍 Dify 连接 RAGFlow 外部知识库。

2401_84494441的博客 6101

C语言面试,8道一定会遇到的----关于指针的笔试题详解

C语言面试,8道一定会遇到的----关于指针的笔试题详解

m0_55322924的博客 463

Dify外挂RAGFlow知识库实现精准召回

在AI模型应用编排领域,Dify凭借灵活的工作流设计、友好的交互体验,成为很多人搭建智能应用的首选;而RAGFlow则在文档解析、知识召回的精准度上表现突出。如果能让Dify“借用”RAGFlow的知识库能力,就能实现“强强联合”——既保留Dify的应用构建优势,又拥有RAGFlow可靠的知识检索效果。今天就手把手教你如何操作,让Dify外挂RAGFlow知识库,实现更精准的知识召回。

以为在机器学习领域与人工智能领域深耕多年的老牛 1732

Android流畅度优化实战:从掉帧定位到布局与渲染调优

在移动应用开发中,性能优化是决定用户体验与留存率的关键环节,其中Android流畅度优化更是核心命题。用户感知的“卡顿”往往并非持续低帧率,而是由于掉帧率波动引发的偶发不流畅。本文从性能优化理论出发,系统讲解如何使用Systrace、CPU Profiler等工具定位掉帧瓶颈,深入分析布局层级过深、过度绘制、对象分配与GC压力等常见诱因。同时结合冷启动耗时、列表滚动掉帧、Bitmap加载等真实工程案例,阐述从应用层到系统层的分级优化策略,并给出低端机适配、异步化改造及线上监控体系搭建的实践方案。内容覆盖布局

weixin_29185493的博客 201

利用 Docker Distribution 搭建私有的 Docker Registry

1、拓扑

weixin_44983653的博客 1068

RAGFlow系列(03):把知识库通过API方式共享给Dify等外部平台使用

ragflow创建知识库通过api提供给其它应用使用的方法。

持之以恒 2966

YOLOv11 改进 - 注意力机制 | Deformable-LKA 可变形大核注意力:自适应采样网格优化特征捕捉,提升不规则目标感知

本文介绍了可变形大核注意力(D-LKA Attention)及其在YOLOv11中的结合。D-LKA Attention是一种简化的注意力机制,采用大卷积核利用体积上下文信息,通过可变形卷积灵活调整采样网格,适应多样数据模式。它有2D和3D版本,3D版本在跨深度数据理解上表现出色,共同构成了D-LKA Net架构。我们将D-LKA Attention集成进YOLOv11,在模型的检测头部分引入deformable_LKA_Attention模块。实验表明,该方法在分割任务上表现优于现有方法,提升了模型的检测

魔改工程师的博客 1172

在Windows环境下,部署知识库RagFlow,并在Dify调用知识库

本文介绍了RagFlow知识库的安装部署及使用流程。首先通过GitHub获取源码,使用Docker命令进行安装(需添加-p ragflow参数),安装后需检查端口运行状态。接着配置模型提供商(如阿里千问需获取API Key),创建Dify的API KEY并建立知识库。最后演示了如何在Dify中连接RagFlow知识库进行对话应用。整个过程涵盖了从环境部署到实际调用的完整步骤,注意事项包括端口动态变化、本地与互联网模型配置差异等关键环节。

玩火的稻草人的博客 365

从零开始跑通3DGS教程:(五)3DGS训练

本文介绍了在Docker环境中训练3DGS(3D Gaussian Splatting)的方法,属于《从零开始跑通3DGS教程》系列文章的第五部分。主要内容包括:Docker环境准备(基于pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime镜像)、容器内conda环境配置(安装必要依赖和3DGS相关组件)、以及训练命令执行步骤。文章提供了详细的命令行操作流程,帮助读者快速搭建3DGS训练环境。适合在Linux系统、Nvidia GPU环境下使用,完整教程可参考系列文章

诺有缸的高飞鸟的博客 1756

手把手教你学Simulink——基于Simulink的无感FOC(滑模观测器+PLL)实战

本文详细介绍了基于Simulink的无感FOC(滑模观测器+PLL)实现方法。主要内容包括:1)SMO+PLL原理精讲,阐述滑模观测器核心思想和PLL的作用;2)系统架构全景图展示;3)Simulink建模全流程,从基础FOC框架到SMO和PLL模块的实现;4)关键参数整定指南和工程实践要点;5)仿真结果分析及常见问题解决方案。该方法可有效替代机械传感器,降低成本并提高可靠性,适用于空调压缩机、电动汽车水泵等工业场景。文章还提供了详细的调试建议和动手实践指导。

MHD0815的博客 83

Dify与RAGFlow外部知识库API集成实践指南

首先需要在Dify后台添加外部知识库API配置,包括设定易识别的名称、填写RAGFlow服务的API端点地址(如http://127.0.0.1:9380/api/v1/dify/retrieval)以及对应的API密钥。通过POST请求调用/datasets/external-knowledge-api接口时,请求体需要包含知识库名称和设置参数。实际操作中发现,这种可视化配置方式比传统的手动部署节省了大量环境调试时间,特别适合快速验证不同参数组合下的检索效果。Dify会使用Bearer [

PearlOwl67的博客 502

复现CVE-2014-085(Apache ZooKeeper 未授权访问漏洞)

默认安装配置完的zookeeper允许未授权访问,管理员未配置访问控制列表(ACL)。导致攻击者可以在默认开放的2181端口下通过执行envi命令获得大量敏感信息(系统名称、java环境)导致任意用户可以在网络不受限的情况下进行未授权访问读取数据。

记录并分享学习安全的知识点.. 2178

Dify接入RAGFlow无返回结果

在介绍该问题的解决方法前,先谈一谈最近一段时间使用Dify和RAGFlow的一些感受,希望可以给有需要的人提供一些思路或帮助。需要解决方法的可以直接跳到第4部分。最近在摸索基于知识库的问答助手,开始的时候没有仔细了解过大名鼎鼎的RAGFlow,而是先上手了Dify(Dify的部署可以查看我的上一篇文章:内网环境部署Deepseek+Dify,构建企业私有化AI应用),Dify自带的知识库只是个能用的程度,所以又找到了RAGFlow。RAGFlow自带了多种文档的解析和切片方法(针对手册类型的PDF、书籍类P

weixin_42652674的博客 218

面向边缘计算的YOLOv12模型剪枝-蒸馏联合优化实战教程**

这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。

FJN110的博客 160

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

一文读懂 RAGFlow 知识库接入 Dify 的全流程

今天来给大家分享一下,如何将ragflow知识库接入dify,作为dify的外挂知识库。

apo0625的博客 6160

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

dify案例分享-知识库检索整合Ragflow

关于ragflow 安装比较复杂,大家可以去开源github上查看它的安装,本次就不带大家安装了。项目开源地址:https://github.com/infiniflow/ragflow项目文档: https://ragflow.io/docs/dev/目前这个项目用到的组件比较多,用到Elasticsearch、Kibana、MySQL、MinIO、Redis、RAGFlow等,大家可以参考官方文档部署好应用程序。这里我们需要注意的几点。

Python_cocola的博客 7043

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Dify案例解析:如何高效整合知识库与Ragflow?

关于ragflow 安装比较复杂,大家可以去开源github上查看它的安装,本次就不带大家安装了。项目开源地址:https://github.com/infiniflow/ragflow项目文档: https://ragflow.io/docs/dev/目前这个项目用到的组件比较多,用到Elasticsearch、Kibana、MySQL、MinIO、Redis、RAGFlow等,大家可以参考官方文档部署好应用程序。这里我们需要注意的几点。

2401_84204413的博客 4939
上一篇: 字节HLLM:在推荐系统落地User-Item分层的LLM方案
下一篇: 微软 GraphRAG AI 更新提效了
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2839原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值