当前位置: 首页 > news >正文

Dify - 创建 RAG Workflow 及 Restful HTTP 请求

文章目录

    • 一、创建 Workflow
      • 创建app
      • 添加节点
      • 配置知识库
      • 测试RAG节点
        • 输出结果
      • 配置 LLM
        • 大模型提示词
    • 二、API 调用
      • 创建 Key
      • chat-messages 请求示例
      • Python 请求
    • 三、跟踪 Trace
      • 聊天页面


本文参考视频教程:
五里墩茶社 : Dify聊天工作流 | 基于私有知识库和搜索引擎,构建高质量RAG聊天应用
https://www.bilibili.com/video/BV19E4m1R7c2/


一、创建 Workflow

创建app

在这里插入图片描述


添加节点

在这里插入图片描述


配置知识库

在这里插入图片描述


测试RAG节点

在这里插入图片描述


输出结果
{
  "result": [
    {
      "metadata": {
        "_source": "knowledge",
        "dataset_id": "567f9f95-18e7-465a-a5ba-fcdf06363b2d",
        "dataset_name": "中国AI出海现状1.md...",
        "document_id": "e61d3406-01bc-4e8a-ad29-a5c6c001f131",
        "document_name": "中国AI出海现状2.md",
        "document_data_source_type": "upload_file",
        "segment_id": "3607de39-fa16-4923-826f-5134407f6c6d",
        "retriever_from": "workflow",
        "score": 0.4948092089155974,
        "segment_hit_count": 2,
        "segment_word_count": 270,
        "segment_position": 4,
        "segment_index_node_hash": "fd799c4610bc119e339e3b8f5f73d96409927e2336f03fb67e6b975fbb08a3c5",
        "position": 1
      },
      "title": "中国AI出海现状2.md",
      "content": "谁在出海?\n首先抓住全球化机遇的公司,不出所料,是中国的科技巨头。华为、腾讯和阿里巴巴等公司在扩展海外时,重点放在云计算和 AI 基础设施上。2024 年 3 月,**腾讯云**与沙特阿拉伯领先的电信公司 Etihad Etisalat (Mobily) 合作,启动了“Go Saudi”项目,旨在推动沙特阿拉伯王国的数字化转型,作为其 2030 愿景战略的一部分。同年 5 月,**华为**在北非推出了 Galaxy AI,作为促进数字智能化转型的更大计划的一部分。此举是华为五年内计划在该地区投资 4.3 亿美元以加速智能化转型的一部分"
    },
    {
      "metadata": {
        "_source": "knowledge",
        "dataset_id": "567f9f95-18e7-465a-a5ba-fcdf06363b2d",
        "dataset_name": "中国AI出海现状1.md...",
        "document_id": "cc09c21b-cd1f-4b7d-a28a-8aefd282b491",
        "document_name": "中国AI出海现状1.md",
        "document_data_source_type": "upload_file",
        "segment_id": "e74112d6-8c97-4c92-a6e0-5da6fb025f15",
        "retriever_from": "workflow",
        "score": 0.3279104806854989,
        "segment_hit_count": 2,
        "segment_word_count": 7,
        "segment_position": 1,
        "segment_index_node_hash": "5b52ad98f45853445b35b524043506f3998622e7b43ad0afb2c809262673b2c4",
        "position": 2
      },
      "title": "中国AI出海现状1.md",
      "content": "为什么要出海?"
    },
    {
      "metadata": {
        "_source": "knowledge",
        "dataset_id": "567f9f95-18e7-465a-a5ba-fcdf06363b2d",
        "dataset_name": "中国AI出海现状1.md...",
        "document_id": "cc09c21b-cd1f-4b7d-a28a-8aefd282b491",
        "document_name": "中国AI出海现状1.md",
        "document_data_source_type": "upload_file",
        "segment_id": "171626c5-e0a0-4755-a8cb-f4e759ee2b25",
        "retriever_from": "workflow",
        "score": 0.3022106229406489,
        "segment_hit_count": 2,
        "segment_word_count": 25,
        "segment_position": 6,
        "segment_index_node_hash": "b46ec7d4aef2135434d16e4c36d9e819cc82436ca621f14219b75cfdaf7cbd66",
        "position": 3
      },
      "title": "中国AI出海现状1.md",
      "content": "在以上列举的情况下,出海似乎成为了企业的一条出路。"
    }
  ]
}

配置 LLM

在这里插入图片描述



大模型提示词

/ 输入引用

在这里插入图片描述


二、API 调用

创建 Key

每个 app 使用单独的 key 来请求

在这里插入图片描述


申请到的key,样式如:app-H7GziuCtNz7mbxcKJ4SI3tdA

在这里插入图片描述


chat-messages 请求示例

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNTVkZGQ3YTQtMzlkMi00YzFjLTk1NDktZjhkMjQ3MDAzYjcxIiwiZXhwIjoxNzM3Njk5MDk0LCJpc3MiOiJTRUxGX0hPU1RFRCIsInN1YiI6IkNvbnNvbGUgQVBJIFBhc3Nwb3J0In0.sxUuvylrAvHGoEUhqOHLuOqi_TxmkLHqaduFp1leOK0

curl -X POST 'http://127.0.0.1:5001/v1/chat-messages' \
--header 'Authorization: Bearer app-H7GziuCtNz7mbxcKJ4SI3tdA' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "query": "请介绍AI出海", 
    "response_mode": "streaming", 
    "user": "eliz",
}'

报 json 错误,可以检查你的请求中,json 字典中最后是否有多余的逗号 ,

{
    "code": "bad_request",
    "message": "Failed to decode JSON object: Expecting property name enclosed in double quotes: line 6 column 1 (char 100)",
    "status": 400
}

Python 请求

def test1():

    url = 'http://127.0.0.1:5001/v1/chat-messages'
    headers = {
        'Authorization': 'Bearer app-H7GziuCtNz7mbxcKJ4SI3tdA', 
        'Content-Type': 'application/json'  
    }

    param = {
        "inputs": {}, 
        "query": "请介绍AI出海", 
        "response_mode": "blocking", 
        "user": "eliz",
    }
    ret = requests.post(url, data=json.dumps(param), headers=headers) 
    # ret = requests.get(url, json=param, headers=headers)  
    print(ret)
    print(ret.text)  
    # if ret.status_code != 200:return 
    jtext = ret.text.split('data:')[-1].strip()  
    rj = json.loads(jtext)  
    print(rj) 


返回

{
	'event': 'message',
	'task_id': 'c45ab3b7-15b0-42c4-9ac6-1d8f53d9ecfb',
	'id': 'e42c61e2-e6e7-474a-a873-1de15b2decc7',
	'message_id': 'e42c61e2-e6e7-474a-a873-1de15b2decc7',
	'conversation_id': '7b3bb5b1-20d5-4f42-a06e-8b5f112416a3',
	'mode': 'advanced-chat',
	'answer': '根据你提供的信息,AI出海指的是中国科技巨头,如华为和腾讯等,将自身在AI和云计算方面的技术和产品推广到海外市场的行为。\n\n**具体来说,AI出海包括以下几个方面:**\n\n*   **基础设施建设:** 这些公司将重点放在云计算和AI基础设施的建设上,为其他企业和政府提供数字化转型所需的基础设施。\n*   **技术输出:** 将自身在AI领域的技术,例如华为的Galaxy AI,输出到海外市场。\n*   **战略合作:** 与当地企业进行合作,如腾讯云与沙特电信公司Mobily的合作,共同推动当地的数字化转型。\n*   **投资布局:** 为了加速智能化转型,公司会在海外进行投资,例如华为计划在北非投资4.3亿美元。\n\n**为什么要出海?**\n\n根据你提供的信息,出海似乎是企业发展的一种战略选择,可能的原因包括:\n\n*   **寻求新的增长机会:** 国内市场竞争激烈,出海可以帮助企业开拓新的市场,寻找新的增长点。\n*   **响应全球化趋势:** 全球化是不可避免的趋势,出海可以帮助企业在全球范围内建立品牌影响力。\n*   **技术优势:** 中国科技巨头在AI和云计算领域拥有一定的技术优势,出海可以将这些优势转化为商业价值。\n*   **响应当地政策需求:** 某些海外市场可能存在数字化转型的需求,出海可以帮助企业抓住这些机会。\n\n**案例:**\n\n*   **腾讯云“Go Saudi”项目:** 腾讯云与沙特阿拉伯电信公司合作,旨在推动沙特的数字化转型。\n*   **华为在北非推出Galaxy AI:** 华为在北非推出AI产品,并计划投资4.3亿美元以加速当地的智能化转型。\n\n总而言之,AI出海是中国科技巨头在全球范围内扩展业务的重要战略,它不仅可以帮助企业获得新的增长机会,也能推动全球的数字化转型进程。\n',
	'metadata': {
		'retriever_resources': [{
			'position': 1,
			'dataset_id': '567f9f95-18e7-465a-a5ba-fcdf06363b2d',
			'dataset_name': '中国AI出海现状1.md...',
			'document_id': 'e61d3406-01bc-4e8a-ad29-a5c6c001f131',
			'document_name': '中国AI出海现状2.md',
			'data_source_type': 'upload_file',
			'segment_id': '3607de39-fa16-4923-826f-5134407f6c6d',
			'retriever_from': 'workflow',
			'score': 0.547293785611343,
			'hit_count': 20,
			'word_count': 270,
			'segment_position': 4,
			'index_node_hash': 'fd799c4610bc119e339e3b8f5f73d96409927e2336f03fb67e6b975fbb08a3c5',
			'content': '谁在出海?\n首先抓住全球化机遇的公司,不出所料,是中国的科技巨头。华为、腾讯和阿里巴巴等公司在扩展海外时,重点放在云计算和 AI 基础设施上。2024 年 3 月,**腾讯云**与沙特阿拉伯领先的电信公司 Etihad Etisalat (Mobily) 合作,启动了“Go Saudi”项目,旨在推动沙特阿拉伯王国的数字化转型,作为其 2030 愿景战略的一部分。同年 5 月,**华为**在北非推出了 Galaxy AI,作为促进数字智能化转型的更大计划的一部分。此举是华为五年内计划在该地区投资 4.3 亿美元以加速智能化转型的一部分',
			'page': None
		}, {
			'position': 2,
			'dataset_id': '567f9f95-18e7-465a-a5ba-fcdf06363b2d',
			'dataset_name': '中国AI出海现状1.md...',
			'document_id': 'cc09c21b-cd1f-4b7d-a28a-8aefd282b491',
			'document_name': '中国AI出海现状1.md',
			'data_source_type': 'upload_file',
			'segment_id': 'e74112d6-8c97-4c92-a6e0-5da6fb025f15',
			'retriever_from': 'workflow',
			'score': 0.3979864901356652,
			'hit_count': 21,
			'word_count': 7,
			'segment_position': 1,
			'index_node_hash': '5b52ad98f45853445b35b524043506f3998622e7b43ad0afb2c809262673b2c4',
			'content': '为什么要出海?',
			'page': None
		}, {
			'position': 3,
			'dataset_id': '567f9f95-18e7-465a-a5ba-fcdf06363b2d',
			'dataset_name': '中国AI出海现状1.md...',
			'document_id': 'cc09c21b-cd1f-4b7d-a28a-8aefd282b491',
			'document_name': '中国AI出海现状1.md',
			'data_source_type': 'upload_file',
			'segment_id': '171626c5-e0a0-4755-a8cb-f4e759ee2b25',
			'retriever_from': 'workflow',
			'score': 0.33822810090097916,
			'hit_count': 20,
			'word_count': 25,
			'segment_position': 6,
			'index_node_hash': 'b46ec7d4aef2135434d16e4c36d9e819cc82436ca621f14219b75cfdaf7cbd66',
			'content': '在以上列举的情况下,出海似乎成为了企业的一条出路。',
			'page': None
		}],
		'usage': {
			'prompt_tokens': 215,
			'prompt_unit_price': '0.00',
			'prompt_price_unit': '0.000001',
			'prompt_price': '0E-7',
			'completion_tokens': 439,
			'completion_unit_price': '0.00',
			'completion_price_unit': '0.000001',
			'completion_price': '0E-7',
			'total_tokens': 654,
			'total_price': '0E-7',
			'currency': 'USD',
			'latency': 6.455977750010788
		}
	},
	'created_at': 1737706022
}

三、跟踪 Trace

在这里插入图片描述


聊天页面

显示为 Public URL http://127.0.0.1:3000/chat/gI7PDCEoQLq1zQeV


2025-02-14(五)情人节快乐 --<-<-<@
愿天下有情人,终成眷属🌹


文章转载自:

http://WBWszUSS.srkqs.cn
http://JIoHM26y.srkqs.cn
http://TgzdcJ2b.srkqs.cn
http://Q7KggALd.srkqs.cn
http://UADWs7lA.srkqs.cn
http://GGq3SxkS.srkqs.cn
http://zkeTF2jT.srkqs.cn
http://EpWzoi0g.srkqs.cn
http://sAFinJ1O.srkqs.cn
http://Bb01CptQ.srkqs.cn
http://qYklKvT4.srkqs.cn
http://E8VH0myD.srkqs.cn
http://n3cIrF3P.srkqs.cn
http://7vR11mxD.srkqs.cn
http://uAnHP0b8.srkqs.cn
http://jwtfOgbA.srkqs.cn
http://RuKVzHwG.srkqs.cn
http://zhwK4JDN.srkqs.cn
http://xfnytW7b.srkqs.cn
http://34ULwHkI.srkqs.cn
http://DO7HOq5c.srkqs.cn
http://Pz6X6Dvq.srkqs.cn
http://wJ3gsP8N.srkqs.cn
http://f47P8cF9.srkqs.cn
http://8GexN5J9.srkqs.cn
http://UhQoxGFU.srkqs.cn
http://8vd1xWVk.srkqs.cn
http://ijYB2PC1.srkqs.cn
http://EkGq02y8.srkqs.cn
http://V42e1n5s.srkqs.cn
http://www.dtcms.com/a/15191.html

相关文章:

  • windows第十章 数值型关联变量和控件型关联变量
  • DeepSeek-R1论文阅读及本地调用
  • 深入理解JVM的运行时数据区
  • 【鸿蒙开发】第三十六章 状态管理 - V1V2混用和迁移指导
  • 清影2.0(AI视频生成)技术浅析(二):自然语言处理
  • Next.js【详解】获取数据(访问接口)
  • 什么是高亮环形光源
  • Vue2/Vue3分别如何使用computed
  • 深入理解Java三大特性:封装、继承和多态
  • python中的深度学习框架TensorFlow 和 PyTorch 有什么区别?
  • 调用DeepSeek API接口:实现智能数据挖掘与分析
  • 记录阿里云CDN配置
  • C语言如何实现面向对象?——从结构体到自由函数的思考
  • 分享一些处理复杂HTML结构的经验
  • 网络安全学习笔记
  • java处理pgsql的text[]类型数据问题
  • window patch按块分割矩阵
  • 大脑网络与智力:基于图神经网络的静息态fMRI数据分析方法|文献速递-医学影像人工智能进展
  • HashMap详解+简单手写实现(哈希表)
  • 深度学习机器学习:常用激活函数(activation function)详解
  • Qt Creator 5.0.2 (Community)用久了突然变得很卡
  • Kafka分区管理大师指南:扩容、均衡、迁移与限流全解析
  • Flutter 实现 iOS 小组件与主 App 的通信
  • make命令学习
  • 知识拓展:设计模式之装饰器模式
  • 传输层协议TCP ( 下 )
  • springboot集成zookeeper的增删改查、节点监听、分布式读写锁、分布式计数器
  • UEFI PI PEI(3. PEI Foundation/PEI Dispatcher)
  • 蓝桥与力扣刷题(108 将有序数组转换成二叉搜索树)
  • 解锁豆瓣高清海报(三)从深度爬虫到URL构造,实现极速下载