dify4: test-doc


db.txt
-- ================================ -- 学生与教师表结构(简化版) -- 适用于 MySQL 8.0+ -- ================================ -- 创建数据库(如果不存在) CREATE DATABASE IF NOT EXISTS school_management; USE school_management; -- 教师表 CREATE TABLE teachers ( teacher_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '教师编号', name VARCHAR(50) NOT NULL COMMENT '姓名', gender CHAR(1) NOT NULL COMMENT '性别(M/F)', title VARCHAR(30) COMMENT '职称', phone VARCHAR(20) COMMENT '电话', email VARCHAR(100) COMMENT '邮箱' ) COMMENT='教师信息表'; -- 学生表 CREATE TABLE students ( student_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号', name VARCHAR(50) NOT NULL COMMENT '姓名', gender CHAR(1) NOT NULL COMMENT '性别(M/F)', age INT COMMENT '年龄', class_name VARCHAR(50) COMMENT '班级名称', teacher_id INT COMMENT '指导教师编号(外键)', FOREIGN KEY (teacher_id) REFERENCES teachers(teacher_id) ) COMMENT='学生信息表';

知识库设置

app: description: '' icon: 🤖 icon_background: '#FFEAD5' icon_type: emoji mode: advanced-chat name: test-doc use_icon_as_answer_icon: false dependencies: - current_identifier: null type: marketplace value: marketplace_plugin_unique_identifier: langgenius/siliconflow:0.0.59@8f02741bb210eac68b68263c1cbede0e0637f2d1ad082895906e03253461729c version: null kind: app version: 0.7.0 workflow: conversation_variables: [] environment_variables: [] features: file_upload: allowed_file_extensions: - .JPG - .JPEG - .PNG - .GIF - .WEBP - .SVG allowed_file_types: - image allowed_file_upload_methods: - local_file - remote_url enabled: false fileUploadConfig: attachment_image_file_size_limit: 2 audio_file_size_limit: 50 batch_count_limit: 5 file_size_limit: 15 file_upload_limit: 20 image_file_batch_limit: 10 image_file_size_limit: 10 single_chunk_attachment_limit: 10 video_file_size_limit: 100 workflow_file_upload_limit: 10 image: enabled: false number_limits: 3 transfer_methods: - local_file - remote_url number_limits: 3 opening_statement: '' retriever_resource: enabled: true sensitive_word_avoidance: enabled: false speech_to_text: enabled: false suggested_questions: [] suggested_questions_after_answer: enabled: false text_to_speech: enabled: false language: '' voice: '' graph: edges: - data: isInIteration: false isInLoop: false sourceType: llm targetType: answer id: llm-answer selected: false source: llm sourceHandle: source target: answer targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: start targetType: knowledge-retrieval id: 1786783370869-source-1786783377015-target source: '1786783370869' sourceHandle: source target: '1786783377015' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: knowledge-retrieval targetType: llm id: 1786783377015-source-llm-target source: '1786783377015' sourceHandle: source target: llm targetHandle: target type: custom zIndex: 0 nodes: - data: selected: false title: 用户输入 type: start variables: [] height: 73 id: '1786783370869' position: x: 80 y: 281 positionAbsolute: x: 80 y: 281 selected: false sourcePosition: right targetPosition: left type: custom width: 242 zIndex: 0 - data: context: enabled: false variable_selector: [] memory: query_prompt_template: '{{#sys.query#}} {{#sys.files#}}' role_prefix: assistant: '' user: '' window: enabled: false size: 10 model: completion_params: temperature: 0.7 mode: chat name: Qwen/Qwen3-14B provider: langgenius/siliconflow/siliconflow prompt_template: - id: 2538014c-8419-4758-bc2a-1ea0a0f0dc72 role: system text: '# 角色 你是一位严谨的数据库查询助手,职责是根据公司内部的“数据库知识库”(包含表结构、字段含义、业务规则等)为开发人员或业务人员提供准确的 SQL 查询建议或数据解读。你**必须**严格遵循以下规则,**不得**越界。 # 核心原则(铁律) 1. **绝对忠于知识库**:你的所有回答**仅限**使用下方 `{{#context#}}` 中提供的数据库知识库内容(如数据字典、表关系、字段枚举值、计算规则等)。**禁止**引用任何外部数据库规范、通用 SQL 惯例或常识性推测。 2. **零推算、零编造**:**严禁**虚构不存在的表名、字段名、数据类型或关系。如果知识库中未明确给出某个字段的含义、取值规则或表间关联方式,**必须**直接回复:“该问题暂无相关数据说明,请确认知识库内容后重试”。 3. **严格区分查询类型**:对于用户的问题,明确区分是“查询数据”(生成 SELECT)还是“获取表结构信息”或“解释业务规则”,回答方式应相应调整。 4. **仅生成安全查询**:若用户要求生成 SQL,**只生成 SELECT 语句**,不得包含 INSERT、UPDATE、DELETE、DDL 等任何修改操作。若用户意图不明,应反问澄清。 5. **禁止复制大段知识库原文**:须提炼为精简易懂的描述,但保留必要的字段名、表名和约束条件,确保准确无误。 # 回答结构规范 请按以下顺序组织回答(若某部分无信息,可跳过): 1. **结论先行**:用一句话直接回答用户的核心问题(如“该查询结果可从 `students` 和 `teachers` 表联查获得”“您需要的字段为 `name` 和 `age`”)。 2. **依据说明**:简要说明知识库中对应的表、字段或规则(例如:“根据知识库,`students` 表的 `gender` 字段取值为 ''M'' 或 ''F''”)。 3. **SQL 语句(如适用)**:提供可直接执行的 SELECT 语句,使用表别名,格式清晰,并添加必要的注释说明关键逻辑。 4. **注意事项**:如有知识库提及的限制(如“仅支持单表查询”“日期字段存储为字符串”等),需**加粗**提示。 5. **多问题分类**:若用户同时询问多个表或查询需求,按“一、二、三”分点回答。 # 特殊情况处理 - 如果用户问题涉及知识库中未覆盖的表或字段,统一回复:“该问题暂无相关数据说明,请确认知识库内容后重试”。 - 如果用户问题模糊(如“查一下数据”),请反问澄清(如“请指定要查询的表名或业务场景”)。 - 如果用户要求生成复杂关联查询,但知识库未明确关联条件,应询问或拒绝推算。 # 知识库内容 以下是公司“数据库知识库”的完整原文,你的所有依据均来源于此: {{#context#}} # 示例对话(仅作格式参考,具体内容以知识库为准) **用户**:查询所有女教师的姓名和邮箱。 **助手**: 结论:可从 `teachers` 表中获取,性别字段 `gender` 取值为 ''F''。 依据:知识库中 `teachers` 表包含 `name`、`email`、`gender` 字段,其中 `gender` 为 CHAR(1),M表示男,F表示女。 SQL: ```sql SELECT name, email FROM teachers WHERE gender = ''F'';' selected: false title: LLM type: llm vision: enabled: false height: 88 id: llm position: x: 299 y: 506 positionAbsolute: x: 299 y: 506 selected: true sourcePosition: right targetPosition: left type: custom width: 242 zIndex: 0 - data: answer: '{{#llm.text#}}' selected: false title: 直接回复 type: answer variables: [] height: 102 id: answer position: x: 680 y: 282 positionAbsolute: x: 680 y: 282 selected: false sourcePosition: right targetPosition: left type: custom width: 242 zIndex: 0 - data: dataset_ids: - e02VAcx032pYWRl94c8siLOZ9rQvyANq3EewdfBjygrmvwM2zwpB9v+DEx7EuEZH multiple_retrieval_config: reranking_enable: true reranking_mode: reranking_model reranking_model: model: netease-youdao/bce-reranker-base_v1 provider: langgenius/siliconflow/siliconflow top_k: 4 query_attachment_selector: [] query_variable_selector: - '1786783370869' - sys.query retrieval_mode: multiple selected: false title: 知识检索 type: knowledge-retrieval height: 90 id: '1786783377015' position: x: 238 y: 384 positionAbsolute: x: 238 y: 384 selected: false sourcePosition: right targetPosition: left type: custom width: 242 zIndex: 0 viewport: x: -301.5 y: 56 zoom: 1 rag_pipeline_variables: []
qq:505645074

浙公网安备 33010602011771号