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

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

相关推荐
三品吉他手会点灯4 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
云飞云共享云桌面5 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
UXbot5 小时前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app
llz_1126 小时前
web-第四次课后作业
前端·spring boot·web
武清伯MVP7 小时前
前端跨域方案大合集
前端·javascript
在放️7 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
小刘|7 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
KANGBboy7 小时前
java知识五(继承)
java·开发语言
c++之路7 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试