dify 搭建ai作业批改流

用户输入

配置结构化输出 允许模型按结构输出 更好的作为一个api

输出结构预览:

复制代码
{
  "text": "{\n  \"available\": true,\n  \"answer\": \"词法分析器:对源程序的字符流进行扫描,识别单词。\\n语法分析器:根据单词序列分析源程序的语法结构,构建语法树。\\n语义分析器:对语法树进行语义检查,确保源程序的语义正确。\\n代码优化器:对中间代码进行优化,提高目标代码的执行效率和减少存储空间。\\n代码生成器:根据优化后的中间代码和目标机器的特性,\"\n}",
  "reasoning_content": "",
  "usage": {
    "prompt_tokens": 672,
    "prompt_unit_price": "0.0002",
    "prompt_price_unit": "0.001",
    "prompt_price": "0.0001344",
    "completion_tokens": 104,
    "completion_unit_price": "0.002",
    "completion_price_unit": "0.001",
    "completion_price": "0.000208",
    "total_tokens": 776,
    "total_price": "0.0003424",
    "currency": "RMB",
    "latency": 2.851,
    "time_to_first_token": 1.824,
    "time_to_generate": 1.028
  },
  "finish_reason": "stop",
  "structured_output": {
    "available": true,
    "answer": "词法分析器:对源程序的字符流进行扫描,识别单词。\n语法分析器:根据单词序列分析源程序的语法结构,构建语法树。\n语义分析器:对语法树进行语义检查,确保源程序的语义正确。\n代码优化器:对中间代码进行优化,提高目标代码的执行效率和减少存储空间。\n代码生成器:根据优化后的中间代码和目标机器的特性,"
  }
}

进行分支

可以是用户一起传入的 可以是网络搜索 或者数据库有的

前面让模型判断是否可以识别

可以的画就让模型判分 结构化输出

输出

注意

可以注意到每个节点(除输入节点外)都必须连接有一个输出节点进行出发。

当一个节点是否会出发取决于是否有任意一条线能流动到他输入端,如果有就会被出发

如图如果LLM识别输出识别结果 available 为 false 但是最总两个输出节点都有输出,就是因为,

上面有一条从输出-提示词-从数据库读取-llm题目判分-输出2的一条流流过

api调用

先上传文件获取id

发送api请求

切记有个坑,如果你的输入变量类型是单文件 而不是多文件 input里面要是key:对象(key:{})

而不是 key:数组({}

详情看下面

(1 封私信) 学习如何调用dify的api - 知乎

coze中搭建相同的流

坑点 图片是要插入在提示词里面的 并且要写到用户提示词里

相关推荐
程序员黑豆17 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
hsjiasb20 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
bugcome_com20 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC20 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕20 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
丰锋ff20 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘21 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路21 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding21 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743871 天前
从零调用 Claude 教程
开发语言·python·node.js