# NocoBase LLM结构化输出：用枚举、整数与缺项字段承接实际节点内容

## 实际范围

AI 员工文档标注社区版+；需 NocoBase 实例、LLM 服务和对应页面/数据权限。当前协议包含 Apache-2.0 及补充条款。本站未安装 NocoBase、未调用模型或访问数据库。

已实际执行：原创输入生成、PDF渲染、文件哈希/教材事实检查与两条故意错误拒绝。人工reference-manual.json不冒充目标工具输出；actual-template.json为空模板，不能视为实际结果。

## 使用

```bash
python3 verify.py
python3 verify.py --actual my-observation.json
```

默认材料检查使用Python标准库；可选的--pdf深度检查需要pypdf，且只接受本题定义的PDF契约。不连接任何外部服务或数据库。--actual检查你填写的规范化事实记录，不自动识别任意工具原生导出；仍须逐项回读原生输出。

## 七步操作

1. 检查原文和Schema

原文只有4台照度计，缺领取日期和联系人。schema.json规定枚举、正整数/null和missing数组，additionalProperties为false；先理解数据契约。

2. 核对模型的Response format

按官方说明确认text+Tools、json_object或json_schema模式。json_object不代表服务端严格执行Schema，strict也只适用于兼容模型。

3. 配置LLM结构化输出节点

在真实工作流LLM节点粘贴schema与prompt，记录模型和格式设置。Ollama的format传法与远端provider不同，不能照抄所有开关。

4. 运行一个真实小请求

用request.txt执行测试，查看节点的Structured content而非仅聊天文本。保存原生节点结果；本站未运行此节点或模型。

5. 在写库前检查类型

先验证category合法、quantity为整数4而非true、missing保留两个字段，再让后续测试节点取值。不要只在prompt里写“返回JSON”就直接入库。

6. 检查自己的结构化内容

将实际Structured content导出成my-content.json，运行--actual。脚本按本题约束验证类型、枚举、额外字段和事实；不是任意JSON Schema解释器。

7. 用错误类型测试拒绝路径

负例true与租赁都应被拒绝；再在自己的流程故意加入非法字段，确认写入前的验证节点确实阻断。未实跑流程时不声称数据库已安全拒绝。

## 原创与图片身份

source.pdf及数据文件是本站原创虚构教材。页面官方截图只说明工具入口；人工真值图与材料核验图都注明身份，未生成目标软件的假界面或假模型结果。

## 官方依据

- 结构化输出模式、Strict与取值: https://docs.nocobase.com/cn/ai-employees/workflow/nodes/llm/structured-output
