-- case_evidence
ALTER TABLE `nx_llm`.`case_evidence`
    ADD COLUMN `process_status` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '流程状态 0:待处理 1:处理中 2:处理成功 3:处理失败' AFTER `evidence_type`;
ALTER TABLE `nx_llm`.`case_evidence`
    ADD COLUMN `append_processing` int(11) NULL DEFAULT NULL COMMENT '追加文件处理进度 0: 无处理任务 1:有处理任务' AFTER `process_status`;
ALTER TABLE `nx_llm`.`case_evidence`
    ADD COLUMN `directory_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '目录id' AFTER `append_processing`;
ALTER TABLE `nx_llm`.`case_evidence`
    ADD COLUMN `title` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '标题' AFTER `directory_id`;
ALTER TABLE `nx_llm`.`case_evidence`
    ADD COLUMN `property` json NULL COMMENT '属性信息' AFTER `title`;

-- com_dictionary
ALTER TABLE `nx_llm`.`com_dictionary`
    MODIFY COLUMN `name` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'code项' AFTER `id`;
ALTER TABLE `nx_llm`.`com_dictionary`
    MODIFY COLUMN `code` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'code项' AFTER `name`;

-- evidence_file
ALTER TABLE `nx_llm`.`evidence_file`
    ADD COLUMN `rank` int(11) NULL DEFAULT 0 COMMENT '顺序 升序排序' AFTER `file_id`;
ALTER TABLE `nx_llm`.`evidence_file`
    ADD COLUMN `directory_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '目录id' AFTER `rank`;
ALTER TABLE `nx_llm`.`evidence_file`
    ADD COLUMN `batch_no` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '批次号' AFTER `directory_id`;

-- model_atomic_index
ALTER TABLE `nx_llm`.`model_atomic_index`
    MODIFY COLUMN `query_lang` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询语句' AFTER `judge_result`;
ALTER TABLE `nx_llm`.`model_atomic_index`
    ADD COLUMN `prompt_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提示词id' AFTER `query_lang`;
ALTER TABLE `nx_llm`.`model_atomic_index`
    ADD COLUMN `category_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类id' AFTER `prompt_id`;
ALTER TABLE `nx_llm`.`model_atomic_index`
    ADD COLUMN `properties` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '属性 多个属性用逗号隔开' AFTER `category_id`;

-- model_atomic_result
ALTER TABLE `nx_llm`.`model_atomic_result`
    ADD COLUMN `evidence_id` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '证据ID' AFTER `atomic_result`;
ALTER TABLE `nx_llm`.`model_atomic_result`
    MODIFY COLUMN `record_split_id` varchar(2048) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '笔录片段id' AFTER `evidence_id`;

-- model_index
ALTER TABLE `nx_llm`.`model_index`
    ADD COLUMN `index_rule` json NULL COMMENT '指标规则' AFTER `judge_logic`;

-- note_prompt
ALTER TABLE `nx_llm`.`note_prompt`
    ADD COLUMN `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `update_time`;
ALTER TABLE `nx_llm`.`note_prompt`
    ADD COLUMN `case_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' AFTER `name`;
ALTER TABLE `nx_llm`.`note_prompt`
    ADD COLUMN `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '3' AFTER `case_type`;
ALTER TABLE `nx_llm`.`note_prompt`
    ADD COLUMN `extract_attributes` json NULL AFTER `type`;
ALTER TABLE `nx_llm`.`note_prompt`
    ADD COLUMN `evidence_category_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `extract_attributes`;

-- triple_info
ALTER TABLE `nx_llm`.`triple_info`
    COMMENT = '三元组信息表';
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `start_node` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开始节点' AFTER `id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `end_node` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结束节点' AFTER `start_node`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `relation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系' AFTER `end_node`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `case_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '案件ID' AFTER `relation`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `record_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '笔录ID' AFTER `case_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `record_split_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '笔录片段id' AFTER `record_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `submit_prompt` varchar(10240) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实际提交给大模型的提示词' AFTER `record_split_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `add_neo4j` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否生成图谱' AFTER `submit_prompt`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间' AFTER `add_neo4j`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `start_node_graph_id` bigint(20) NULL DEFAULT NULL COMMENT '起始节点图ID' AFTER `create_time`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `rel_graph_id` bigint(20) NULL DEFAULT NULL COMMENT '关系ID(neo4j关系id)' AFTER `start_node_graph_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `end_node_graph_id` bigint(20) NULL DEFAULT NULL COMMENT '结束节点图ID' AFTER `rel_graph_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `start_node_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开始节点类型(neo4j节点类型)' AFTER `end_node_graph_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `end_node_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结束节点类型(neo4j节点类型)' AFTER `start_node_type`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `create_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人ID' AFTER `end_node_type`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `update_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人' AFTER `create_user_id`;
ALTER TABLE `nx_llm`.`triple_info`
    MODIFY COLUMN `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间' AFTER `update_user_id`;

CREATE TABLE `nx_llm`.`evidence_category`
(
    `id`             int(64)                                               NOT NULL AUTO_INCREMENT COMMENT '主键id',
    `code`           varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '编码',
    `case_type`      varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '案件类型',
    `category_name`  varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类名',
    `icon_url`       varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '图标路径',
    `parent_id`      varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '父级类别id',
    `create_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建人ID',
    `create_time`    datetime                                              NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新人',
    `update_time`    datetime                                              NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
  CHARACTER SET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '证据类别表'
  ROW_FORMAT = Dynamic;

CREATE TABLE `nx_llm`.`evidence_directory`
(
    `id`             varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NOT NULL COMMENT '主键id',
    `case_id`        varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NOT NULL COMMENT '案件id',
    `directory_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '目录名',
    `category_id`    varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '证据分类id,对应evidence_category表的id',
    `parent_id`      varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '上级目录id',
    `provider`       varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '提供人',
    `remark`         varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注',
    `create_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '创建人ID',
    `create_time`    datetime                                                NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin   NULL DEFAULT NULL COMMENT '更新人',
    `update_time`    datetime                                                NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    INDEX `evidence_directory_case_id_index` (`case_id`) USING BTREE
) ENGINE = InnoDB
  CHARACTER SET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '证据目录表'
  ROW_FORMAT = DYNAMIC;

-- evidence_property
DROP TABLE IF EXISTS `nx_llm`.`evidence_property`;

--  com_dictionary
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES (NULL, '提示词类型', 0, 'prompt_type', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);
SET @last_id = LAST_INSERT_ID();
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('1', '结构化推理', @last_id, 'prompt_type', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('2', '图谱推理', @last_id, 'prompt_type', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('3', '分类', @last_id, 'prompt_type', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);

INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES (NULL, '提示词属性值类型', 0, 'prompt_attribute_valuetype', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL,
        '1', NULL, NULL);
SET @last_id = LAST_INSERT_ID();
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('1', '文本', @last_id, 'prompt_attribute_valuetype', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1',
        NULL, NULL);
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('2', '数字', @last_id, 'prompt_attribute_valuetype', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1',
        NULL, NULL);
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('3', '日期', @last_id, 'prompt_attribute_valuetype', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1',
        NULL, NULL);

INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES (NULL, '提示词原型默认文本', 0, 'prompt_prototype_default_text', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP,
        NULL, '1', NULL, NULL);
SET @last_id = LAST_INSERT_ID();
INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('1', '请根据属性定义从源文本中提取属性:

示例文本:
"
甲方:张三公司
乙方:
数量:5000吨水泥
合同金额:8346元
支付时间:2022年11月30日
履行期限:2022年12月1日至2023年12月1日
签订日期:2022年11月23日
"

示例结果:
{
    "甲方名称": "张三公司",
    "乙方名称": "",
    "数量": "5000吨水泥",
    "合同金额": "8346.00",
    "支付时间": "2022-11-30",
    "履行期限": "2022年12月1日至2023年12月1日",
    "签订日期": "2022-11-23"
}

源文本:
{source_text}

属性定义:
{attr_define}

### 注意事项:
1. 将结果以JSON格式返回。不需要进行解释。
2. 如果某字段提取不到,则返回""。
3. 日期格式为yyyy-MM-dd,数字格式返回保留两位小数。
4. 值为文本类型的数据,尽量使用原文中的文字。
5. 只可以使用原文中的文字,不可以自行添加内容。

回溯你输出的结果,确保你的输出结果符合json格式。', @last_id, 'prompt_prototype_default_text', '1', NULL, 0, NULL, NULL,
        CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);

INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('2', '信息抽取任务:从源文本内容中根据给定头实体类型、尾实体类型和关系,抽取三元组。
在信息抽取时,请务必严格遵循以下要求:
1. 精准理解需要分析的文本内容,确保提取的信息准确无误、合理恰当。
2. 只提取给定的实体类型和关系,不要提取给定关系和实体之外的三元组。
3. 遵循常见的语义和逻辑规则,杜绝过度解读或不合理的关系推断。
4. 示例只是帮助你理解用户预期的三元组提取结果,不要提取示例中的实体和关系。
5. 提取之后,再检查一遍,提取的实体和关系与给定实体类型和关系对应。
给定的头实体类型为"{headEntityType}";给定的尾实体类型为"{tailEntityType}",给定的关系为"{relation}"。
请仔细分析以下的文本内容,精准找出符合给定关系且头尾实体类型相符的三元组,并进行提取。如果没有识别给定的三元组关系,请返回json:{"result":[]}。
---
示例:
需要分析提取的示例文本内容如下:
办案警官问:描述一下事情的经过。 行为人小明答:我去年拿合同款买了一些金戒指还有项链送给老婆。
返回结果:{"result":[{"headEntity": {"type": "{headEntityType}","name":"小明"},"relation": "{relation}","tailEntity": {"type": "{tailEntityType}","name": "金戒指和项链"}}]}。
---
源文本:
{question}
{answer}
---
返回格式为必须为以下的json格式:
{"result":[{"headEntity": {"type": "{headEntityType}","name":"提取到的头实体内容1"},"relation": "{relation}","tailEntity": {"type": "{tailEntityType}","name": "提取到的尾实体内容1"}}]}',
        @last_id, 'prompt_prototype_default_text', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);

INSERT INTO `nx_llm`.`com_dictionary` (`code`, `name`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('3', '分类任务: 将对话笔录文本进行分类。
目标: 将给定的对话分配到预定义的类别中
预定义类别为:{typeContext}。
说明: 提供一段对话笔记录文本,分类器应该识别出对话的主题,并将其归类到上述类别中的一个或多个。
---
示例输入:
办案警官问:你和上述的这些受害人签订协议之后是否实际履行合同?
行为人XXX回答:我和他们签订合同就是为了骗他们相信我,我就是伪造的一些假合同,等我把他们的钱骗到手之后我就不会履行合同。
预期输出: {"result":[{"type":"合同和协议","explain":"行为人XXX提到签订合同"},{"type":"虚假信息和伪造","explain":"行为人XXX提到合同是假合同"}]}
---
任务要求:
1. 分类器应当准确地识别对话的主题,分类来自于预定义的类别。
2. 分类器应该实事求是按照对话进行分类,不要有过多的推测。
2. 如果一段对话笔记录包含多个主题,请选择最相关的类别,最多可选择三个分类。
3. 如果不涉及任何分类则回复{"result":[]}
---
以下为问答对内容:
{question}
{answer}
---
返回格式为json,字段名要严格一致:{"result":[{"type":"分类1","explain":"分类原因"},{"type":"分类2","explain":"分类原因"}]}',
        @last_id, 'prompt_prototype_default_text', '1', NULL, 0, NULL, NULL, CURRENT_TIMESTAMP, NULL, '1', NULL, NULL);


-- note_prompt
INSERT INTO `nx_llm`.`note_prompt` (`id`, `prompt`, `prompt_bak`, `start_entity_type`, `start_entity_template`,
                                    `rel_type`, `rel_template`, `end_entity_type`, `end_entity_template`,
                                    `create_user_id`, `create_time`, `update_user_id`, `update_time`, `name`,
                                    `case_type`, `type`, `extract_attributes`, `evidence_category_id`)
VALUES (UUID(), '请根据属性定义从源文本中提取属性:

示例文本:
"
甲方:张三公司
乙方:
数量:5000吨水泥
合同金额:8346元
支付时间:2022年11月30日
履行期限:2022年12月1日至2023年12月1日
签订日期:2022年11月23日
"

示例结果:
{
    "甲方名称": "张三公司",
    "乙方名称": "",
    "数量": "5000吨水泥",
    "合同金额": "8346.00",
    "支付时间": "2022-11-30",
    "履行期限": "2022年12月1日至2023年12月1日",
    "签订日期": "2022-11-23"
}

源文本:
{source_text}

属性定义:
{attr_define}

### 注意事项:
1. 将结果以JSON格式返回。不需要进行解释。
2. 如果某字段提取不到,则返回""。
3. 日期格式为yyyy-MM-dd,数字格式返回保留两位小数。
4. 值为文本类型的数据,尽量使用原文中的文字。
5. 只可以使用原文中的文字,不可以自行添加内容。

回溯你输出的结果,确保你的输出结果符合json格式。', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CURRENT_TIMESTAMP,
        NULL, NULL, '合同协议', '1', '1', '[
    {
      "attrName": "甲方",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "乙方",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "丙方",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "资质要求",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "合同标的物",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "数量",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "金额",
      "attrValue": null,
      "attrValueType": "2"
    },
    {
      "attrName": "支付方式",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "支付时间",
      "attrValue": null,
      "attrValueType": "3"
    },
    {
      "attrName": "履行期限",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "履行地点",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "违约责任",
      "attrValue": null,
      "attrValueType": "1"
    }
  ]', 7);

INSERT INTO `nx_llm`.`note_prompt` (`id`, `prompt`, `prompt_bak`, `start_entity_type`, `start_entity_template`,
                                    `rel_type`, `rel_template`, `end_entity_type`, `end_entity_template`,
                                    `create_user_id`, `create_time`, `update_user_id`, `update_time`, `name`,
                                    `case_type`, `type`, `extract_attributes`, `evidence_category_id`)
VALUES (UUID(), '请根据属性定义从源文本中提取属性:

示例文本:
"
甲方:张三公司
乙方:
数量:5000吨水泥
合同金额:8346元
支付时间:2022年11月30日
履行期限:2022年12月1日至2023年12月1日
签订日期:2022年11月23日
"

示例结果:
{
    "甲方名称": "张三公司",
    "乙方名称": "",
    "数量": "5000吨水泥",
    "合同金额": "8346.00",
    "支付时间": "2022-11-30",
    "履行期限": "2022年12月1日至2023年12月1日",
    "签订日期": "2022-11-23"
}

源文本:
{source_text}

属性定义:
{attr_define}

### 注意事项:
1. 将结果以JSON格式返回。不需要进行解释。
2. 如果某字段提取不到,则返回""。
3. 日期格式为yyyy-MM-dd,数字格式返回保留两位小数。
4. 值为文本类型的数据,尽量使用原文中的文字。
5. 只可以使用原文中的文字,不可以自行添加内容。

回溯你输出的结果,确保你的输出结果符合json格式。', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CURRENT_TIMESTAMP,
        NULL, NULL, '银行流水', '1', '1', '[
    {
      "attrName": "账户信息",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "对方账户信息",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "金额",
      "attrValue": null,
      "attrValueType": "2"
    },
    {
      "attrName": "交易时间",
      "attrValue": null,
      "attrValueType": "3"
    },
    {
      "attrName": "收入支出标识",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "摘要",
      "attrValue": null,
      "attrValueType": "1"
    }
  ]', 8);

INSERT INTO `nx_llm`.`note_prompt` (`id`, `prompt`, `prompt_bak`, `start_entity_type`, `start_entity_template`,
                                    `rel_type`, `rel_template`, `end_entity_type`, `end_entity_template`,
                                    `create_user_id`, `create_time`, `update_user_id`, `update_time`, `name`,
                                    `case_type`, `type`, `extract_attributes`, `evidence_category_id`)
VALUES (UUID(), '请根据属性定义从源文本中提取属性:

示例文本:
"
甲方:张三公司
乙方:
数量:5000吨水泥
合同金额:8346元
支付时间:2022年11月30日
履行期限:2022年12月1日至2023年12月1日
签订日期:2022年11月23日
"

示例结果:
{
    "甲方名称": "张三公司",
    "乙方名称": "",
    "数量": "5000吨水泥",
    "合同金额": "8346.00",
    "支付时间": "2022-11-30",
    "履行期限": "2022年12月1日至2023年12月1日",
    "签订日期": "2022-11-23"
}

源文本:
{source_text}

属性定义:
{attr_define}

### 注意事项:
1. 将结果以JSON格式返回。不需要进行解释。
2. 如果某字段提取不到,则返回""。
3. 日期格式为yyyy-MM-dd,数字格式返回保留两位小数。
4. 值为文本类型的数据,尽量使用原文中的文字。
5. 只可以使用原文中的文字,不可以自行添加内容。

回溯你输出的结果,确保你的输出结果符合json格式。', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CURRENT_TIMESTAMP,
        NULL, NULL, '支付凭证', '1', '1', '[
    {
      "attrName": "客户姓名",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "卡号/账号",
      "attrValue": null,
      "attrValueType": "1"
    },
    {
      "attrName": "支付时间",
      "attrValue": null,
      "attrValueType": "3"
    },
    {
      "attrName": "金额",
      "attrValue": null,
      "attrValueType": "2"
    }
  ]', 9);

INSERT INTO `nx_llm`.`note_prompt` (`id`, `prompt`, `prompt_bak`, `start_entity_type`, `start_entity_template`,
                                    `rel_type`, `rel_template`, `end_entity_type`, `end_entity_template`,
                                    `create_user_id`, `create_time`, `update_user_id`, `update_time`, `name`,
                                    `case_type`, `type`, `extract_attributes`, `evidence_category_id`)
VALUES (UUID(), '分类任务: 将对话笔录文本进行分类。
目标: 将给定的对话分配到预定义的类别中
预定义类别为:{typeContext}。
说明: 提供一段对话笔记录文本,分类器应该识别出对话的主题,并将其归类到上述类别中的一个或多个。
---
示例输入:
办案警官问:你和上述的这些受害人签订协议之后是否实际履行合同?
行为人XXX回答:我和他们签订合同就是为了骗他们相信我,我就是伪造的一些假合同,等我把他们的钱骗到手之后我就不会履行合同。
预期输出: {"result":[{"type":"合同和协议","explain":"行为人XXX提到签订合同"},{"type":"虚假信息和伪造","explain":"行为人XXX提到合同是假合同"}]}
---
任务要求:
1. 分类器应当准确地识别对话的主题,分类来自于预定义的类别。
2. 分类器应该实事求是按照对话进行分类,不要有过多的推测。
2. 如果一段对话笔记录包含多个主题,请选择最相关的类别,最多可选择三个分类。
3. 如果不涉及任何分类则回复{"result":[]}
---
以下为问答对内容:
{question}
{answer}
---
返回格式为json,字段名要严格一致:{"result":[{"type":"分类1","explain":"分类原因"},{"type":"分类2","explain":"分类原因"}]}',
        NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL, '笔录切分', '1', '3', NULL,
        NULL);


UPDATE note_prompt
SET name = CONCAT(IFNULL(start_entity_type, '无'), '-', IFNULL(rel_type, '无'), '-', IFNULL(end_entity_type, '无')),
    type = 2
WHERE start_entity_type IS NOT NULL
  AND rel_type IS NOT NULL
  AND end_entity_type IS NOT NULL;
-- ------------------------------

INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (1, NULL, '1', '书证', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (2, NULL, '1', '电子证据', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (3, NULL, '1', '物证', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (4, NULL, '1', '鉴定意见', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (5, NULL, '1', '视听资料', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (6, NULL, '1', '勘验笔录', NULL, NULL, NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (7, NULL, '1', '买卖合同', NULL, '1', NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (8, NULL, '1', '银行流水', NULL, '2', NULL, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO `nx_llm`.`evidence_category` (`id`, `code`, `case_type`, `category_name`, `icon_url`, `parent_id`,
                                          `create_user_id`, `create_time`, `update_user_id`, `update_time`)
VALUES (9, NULL, '1', '支付凭证', NULL, '2', NULL, CURRENT_TIMESTAMP, NULL, NULL);

INSERT INTO nx_llm.evidence_category (id, code, case_type, category_name, icon_url, parent_id, create_user_id,
                                      create_time, update_user_id, update_time)
VALUES (11, null, '1', '项目合同', null, '1', null, CURRENT_TIMESTAMP, NULL, NULL);
INSERT INTO nx_llm.evidence_category (id, code, case_type, category_name, icon_url, parent_id, create_user_id,
                                      create_time, update_user_id, update_time)
VALUES (19, null, '1', '公文书证', null, '1', null, CURRENT_TIMESTAMP, NULL, NULL);


INSERT INTO `nx_llm`.`com_dictionary` (`name`, `code`, `pid`, `type`, `status`, `note`, `priority`, `creator`,
                                       `update_time`, `create_time`, `updater`, `data_status`, `create_user_id`,
                                       `update_user_id`)
VALUES ('结构化查询', '5', 3, 'index_source', '1', NULL, 0, NULL, CURRENT_TIMESTAMP, NULL, NULL, '1', NULL, NULL);