Dify 配置外置并切至内网实例
接口地址与各应用 API Key 原先硬编码在 AiController 与 KnowledgeBaseController 中,换环境要改代码、密钥还会散落在多处。 新增 DifyProperties 统一收敛到 dify 配置节点,并补上文档中缺失的 两个应用与知识库管理接口。 - 新增 DifyProperties,外置 base-url / 8 个应用 Key / 知识库密钥, 默认值保持公网实例,本地开发不受影响 - 生产 profile 覆盖为内网 10.100.158.15,含全部 8 个应用 Key 与 两个知识库的独立密钥 - 新增申报书生成、智能文档处理两个工作流接口(含文件上传版本), 接入既有的 WebSocket 流式推送与停止机制 - KnowledgeBaseController 补齐知识库增删改查、文档管理与索引进度, 并对文档状态动作加白名单,避免路径参数被任意拼接 - 修正 AI 内容创作的 number 变量名:Dify 侧为 Number, 变量名大小写敏感,此前一直发送小写导致该功能缺参 - 生产下显式覆盖公网知识库 ID 的密钥:YAML 的 map 按键合并而非整体 替换,不覆盖会残留指向公网实例的死密钥 工作流变量名取自内网实例实测(probe-dify.sh),其中申报书生成与 文档处理两组变量与公网命名习惯不一致,故以配置映射承载,改名只需 改 yml 而非改代码。 新增 18 项测试,覆盖配置绑定、profile 覆盖完整性(逐项断言 8 个 Key 均已覆盖且不残留公网 Key)与入参到 Dify inputs 的映射。
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
package com.gxwebsoft.ai.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 智能文档处理系统入参(对应「医科大智能文档处理系统」工作流)。
|
||||
*
|
||||
* <p>业务说明:对上传的 PDF 或网络文件进行解析、清洗、分段、关键词提取,
|
||||
* 处理结果导入「GXMU 团章」知识库。因此文件来源有二:上传文件或网络 PDF 地址。
|
||||
*
|
||||
* <p><b>字段名对齐 Dify 工作流开始节点的真实变量名</b>,取自 2026-09-19
|
||||
* 在内网实例 10.100.158.15 上跑 probe-dify.sh 的实测输出:
|
||||
* {@code query, pdf_url, pdf_file(文件类)}。
|
||||
*
|
||||
* <p>发送时仍会经 {@code dify.workflows.document-process.fields} 映射一次,
|
||||
* 保留这一层是为了让变量名再次变动时只改 yml、不改代码。
|
||||
*
|
||||
* @author Codex
|
||||
* @since 2026-09-19
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value = "智能文档处理对象")
|
||||
public class DocumentProcessInputs implements Serializable {
|
||||
|
||||
/**
|
||||
* 处理指令或补充说明。对应 Dify 变量 query
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String query;
|
||||
|
||||
/**
|
||||
* 网络 PDF 地址。对应 Dify 变量 pdf_url
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String pdfUrl;
|
||||
|
||||
/**
|
||||
* 上传的 PDF 文件。对应 Dify 变量 pdf_file(文件类)。
|
||||
*
|
||||
* <p>由 {@code /api/ai/documentProcess/upload} 在服务端上传到 Dify 后填充;
|
||||
* JSON 直调时也可传入 Dify 文件对象或 upload_file_id。
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Object pdfFile;
|
||||
|
||||
/**
|
||||
* 直接指定 inputs,非空时优先于上面的业务字段。
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private java.util.Map<String, Object> inputs;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user