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中搭建相同的流

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

相关推荐
Geek-Chow10 分钟前
微服务认证与授权:01 — 概念
java·前端·数据库
KobeSacre16 分钟前
DelayQueue 源码
java·开发语言
finyouIT24 分钟前
锚点实现了点击导航平滑滚动到页面指定位置的三种方法
javascript·css
han_hanker29 分钟前
重新认识枚举enum
开发语言
狂炫冰美式31 分钟前
凌晨睡不着,我给台风巴威写了个追踪网站
前端·后端·github
雪隐1 小时前
用Flutter做背单词APP-01服务器?不存在的,我家里就有
前端·人工智能·后端
鹏易灵1 小时前
C++——8.移动语义初探(移动构造、移动赋值)
开发语言·c++·php
2601_962341301 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
凯瑟琳.奥古斯特1 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
用户2204603958682 小时前
ES模块和commonJS两种标准下中实现__dirname?一篇文章教你理清楚
前端