app: description: AI在线咨询-上线使用 icon: 🤖 icon_background: '#FFEAD5' mode: advanced-chat name: 智能IT支持-员工咨询 use_icon_as_answer_icon: true dependencies: - current_identifier: null type: marketplace value: marketplace_plugin_unique_identifier: langgenius/openai_api_compatible:0.0.23@59ef558a46420c436b280af1ee452b4129ddfd3567826112f6f193279d8c4a37 version: null - current_identifier: null type: marketplace value: marketplace_plugin_unique_identifier: yangyaofei/vllm:0.1.5@3eecf807d9767f40eb757ff70720291aa6055e9e1803893b4c93b61a5d4d4319 version: null kind: app version: 0.4.0 workflow: conversation_variables: - description: '' id: f4602fd1-2bff-4c6f-bbad-e6ae1033e6e4 name: mmq selector: - conversation - mmq value: [] value_type: array[string] - description: 保底机制 id: 24608e8f-1de8-4eba-b081-75bcff64594d name: guarantee_mechanism selector: - conversation - guarantee_mechanism value: 1 value_type: integer - description: 员工问题 id: 3b232c97-81b9-4b16-804c-cd845441b4d6 name: servyou_query selector: - conversation - servyou_query value: '' value_type: string - description: 历史问题对应答案 id: dd3c2a43-5813-4582-93ac-54c2e6f4261c name: memory_ans selector: - conversation - memory_ans value: '' value_type: string - description: 历史问题 id: 8a7563cb-0d2f-49fe-801a-e61e659421ea name: memory_query selector: - conversation - memory_query value: '' value_type: string environment_variables: [] features: file_upload: allowed_file_extensions: - .JPG - .JPEG - .PNG - .GIF - .WEBP - .SVG allowed_file_types: - image - document allowed_file_upload_methods: - remote_url - local_file enabled: true fileUploadConfig: audio_file_size_limit: 50 batch_count_limit: 5 file_size_limit: 100 image_file_size_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: http-request targetType: if-else id: 1762241246839-source-1762333864200-target selected: false source: '1762241246839' sourceHandle: source target: '1762333864200' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: knowledge-retrieval targetType: llm id: 1764905829011-source-1764905844059-target selected: false source: '1764905829011' sourceHandle: source target: '1764905844059' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: assigner targetType: answer id: 1765357529351-source-1765181482474-target selected: false source: '1765357529351' sourceHandle: source target: '1765181482474' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: list-operator targetType: llm id: 1765436887640-source-1765437083981-target selected: false source: '1765436887640' sourceHandle: source target: '1765437083981' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: list-operator id: 1765437585148-false-1765436887640-target selected: false source: '1765437585148' sourceHandle: 'false' target: '1765436887640' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: template-transform id: 1765437083981-source-1765439054336-target source: '1765437083981' sourceHandle: source target: '1765439054336' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: template-transform targetType: assigner id: 1765439054336-source-1765441716709-target source: '1765439054336' sourceHandle: source target: '1765441716709' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: if-else id: 1765437585148-true-1765517905842-target source: '1765437585148' sourceHandle: 'true' target: '1765517905842' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-true-1765518093072-target source: '1765517905842' sourceHandle: 'true' target: '1765518093072' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-d7e857f8-75b0-44b6-a342-fcbf0fd1bce0-1765524938055-target source: '1765517905842' sourceHandle: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0 target: '1765524938055' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-5b113ab9-2154-45bb-9fbc-e2fa2246b8c1-1765524956759-target source: '1765517905842' sourceHandle: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1 target: '1765524956759' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: assigner id: 1764905844059-source-1765357529351-target source: '1764905844059' sourceHandle: source target: '1765357529351' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4-1765766043047-target source: '1765517905842' sourceHandle: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4 target: '1765766043047' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-1ec2ad7a-456a-4181-ba0f-9a3362d7a44c-1765766067015-target source: '1765517905842' sourceHandle: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c target: '1765766067015' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-909d209a-20c2-464b-9117-335166bd0209-1765766081739-target source: '1765517905842' sourceHandle: 909d209a-20c2-464b-9117-335166bd0209 target: '1765766081739' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-f8839db4-0b63-4411-b052-f82aa3807e34-1765766096673-target source: '1765517905842' sourceHandle: f8839db4-0b63-4411-b052-f82aa3807e34 target: '1765766096673' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 1765517905842-98d72ef6-f53a-482a-9cc6-36140595d055-1765766112941-target source: '1765517905842' sourceHandle: 98d72ef6-f53a-482a-9cc6-36140595d055 target: '1765766112941' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 1765782485068-source-1765441606676-target source: '1765782485068' sourceHandle: source target: '1765441606676' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: start targetType: code id: 1762235823950-source-1765782485068-target source: '1762235823950' sourceHandle: source target: '1765782485068' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: if-else id: 1765785630566-source-1765786049975-target source: '1765785630566' sourceHandle: source target: '1765786049975' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: http-request id: 1765786049975-true-1762241246839-target source: '1765786049975' sourceHandle: 'true' target: '1762241246839' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: http-request id: 1765786049975-false-17657860354750-target source: '1765786049975' sourceHandle: 'false' target: '17657860354750' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: llm targetType: if-else id: 1765785673343-source-1765786290221-target source: '1765785673343' sourceHandle: source target: '1765786290221' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: http-request id: 1765786290221-true-1762241246839-target source: '1765786290221' sourceHandle: 'true' target: '1762241246839' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: http-request id: 1765786290221-false-17657860354750-target source: '1765786290221' sourceHandle: 'false' target: '17657860354750' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: http-request targetType: if-else id: 17657860354750-source-17657864016400-target source: '17657860354750' sourceHandle: source target: '17657864016400' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: knowledge-retrieval targetType: llm id: 17657866222300-source-17657866286790-target source: '17657866222300' sourceHandle: source target: '17657866286790' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: assigner id: 17657866286790-source-17657866367000-target source: '17657866286790' sourceHandle: source target: '17657866367000' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: answer id: 17657866367000-source-17657866567850-target source: '17657866367000' sourceHandle: source target: '17657866567850' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: llm targetType: if-else id: 1766648935323-source-1766654954216-target source: '1766648935323' sourceHandle: source target: '1766654954216' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: assigner targetType: llm id: 1766655043205-source-1765785630566-target source: '1766655043205' sourceHandle: source target: '1765785630566' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: llm id: 17666551541000-source-1765785673343-target source: '17666551541000' sourceHandle: source target: '1765785673343' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 1766726065787-source-1766655043205-target source: '1766726065787' sourceHandle: source target: '1766655043205' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: if-else id: 17667264375750-source-17666551325690-target source: '17667264375750' sourceHandle: source target: '17666551325690' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 17667264509960-source-17666551541000-target source: '17667264509960' sourceHandle: source target: '17666551541000' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 17667269647440-true-1766727080009-target source: '17667269647440' sourceHandle: 'true' target: '1766727080009' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: answer id: 17667272700050-true-1766727285253-target source: '17667272700050' sourceHandle: 'true' target: '1766727285253' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: answer id: 17657864016400-true-17667318333930-target source: '17657864016400' sourceHandle: 'true' target: '17667318333930' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: answer id: 1762333864200-true-17667318501870-target source: '1762333864200' sourceHandle: 'true' target: '17667318501870' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: if-else id: 1766654954216-false-1766737231108-target source: '1766654954216' sourceHandle: 'false' target: '1766737231108' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 1766737231108-false-1766726065787-target source: '1766737231108' sourceHandle: 'false' target: '1766726065787' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: code id: 1766737231108-true-1766737321402-target source: '1766737231108' sourceHandle: 'true' target: '1766737321402' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 1766737321402-source-17667375172980-target source: '1766737321402' sourceHandle: source target: '17667375172980' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: llm id: 17667375172980-source-1765785630566-target source: '17667375172980' sourceHandle: source target: '1765785630566' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: if-else id: 17666551325690-false-17667376015020-target source: '17666551325690' sourceHandle: 'false' target: '17667376015020' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 17667376015020-false-17667264509960-target source: '17667376015020' sourceHandle: 'false' target: '17667264509960' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 17667376015020-true-17667376904610-target source: '17667376015020' sourceHandle: 'true' target: '17667376904610' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 17667376904610-source-17667377094060-target source: '17667376904610' sourceHandle: source target: '17667377094060' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: code targetType: assigner id: 1766739425288-source-1766739488182-target source: '1766739425288' sourceHandle: source target: '1766739488182' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: if-else id: 1765441606676-source-1765437585148-target source: '1765441606676' sourceHandle: source target: '1765437585148' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: assigner id: 17667406566450-source-17667406611650-target source: '17667406566450' sourceHandle: source target: '17667406611650' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 1765517905842-false-1766739425288-target source: '1765517905842' sourceHandle: 'false' target: '1766739425288' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: http-request id: 1766739488182-source-17666588259460-target source: '1766739488182' sourceHandle: source target: '17666588259460' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: code id: 1765441716709-source-17667406566450-target source: '1765441716709' sourceHandle: source target: '17667406566450' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: http-request id: 17667406611650-source-17667264218480-target source: '17667406611650' sourceHandle: source target: '17667264218480' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: assigner id: 1766654954216-true-1766986002113-target source: '1766654954216' sourceHandle: 'true' target: '1766986002113' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: if-else targetType: template-transform id: 1766739849720-true-1766986387628-target source: '1766739849720' sourceHandle: 'true' target: '1766986387628' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: template-transform targetType: assigner id: 1766986387628-source-1766986503282-target source: '1766986387628' sourceHandle: source target: '1766986503282' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: assigner targetType: code id: 1766986503282-source-1766737321402-target source: '1766986503282' sourceHandle: source target: '1766737321402' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: assigner id: 17666551325690-true-17669865896480-target source: '17666551325690' sourceHandle: 'true' target: '17669865896480' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: template-transform id: 17667403682010-true-17669866215620-target source: '17667403682010' sourceHandle: 'true' target: '17669866215620' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: template-transform targetType: assigner id: 17669866215620-source-17669866341260-target source: '17669866215620' sourceHandle: source target: '17669866341260' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: code id: 17669866341260-source-17667376904610-target source: '17669866341260' sourceHandle: source target: '17667376904610' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: llm id: 17667377094060-source-1765785673343-target source: '17667377094060' sourceHandle: source target: '1765785673343' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: knowledge-retrieval targetType: llm id: 17669940249670-source-17669940385140-target source: '17669940249670' sourceHandle: source target: '17669940385140' targetHandle: target type: custom zIndex: 0 - data: isInIteration: false isInLoop: false sourceType: assigner targetType: code id: 17669865896480-source-1766994739449-target source: '17669865896480' sourceHandle: source target: '1766994739449' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: code id: 1766986002113-source-17669960466150-target source: '1766986002113' sourceHandle: source target: '17669960466150' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: knowledge-retrieval targetType: llm id: 17669960738730-source-17669960812650-target source: '17669960738730' sourceHandle: source target: '17669960812650' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: assigner id: 17669960812650-source-17669987893140-target source: '17669960812650' sourceHandle: source target: '17669987893140' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: answer id: 17669987893140-source-1766655012100-target source: '17669987893140' sourceHandle: source target: '1766655012100' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: llm targetType: assigner id: 17669940385140-source-17669989513170-target source: '17669940385140' sourceHandle: source target: '17669989513170' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: assigner targetType: answer id: 17669989513170-source-17666551440550-target source: '17669989513170' sourceHandle: source target: '17666551440550' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: http-request targetType: code id: 17669960576130-source-1767577724877-target source: '17669960576130' sourceHandle: source target: '1767577724877' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: knowledge-retrieval id: 1767577724877-source-17669960738730-target source: '1767577724877' sourceHandle: source target: '17669960738730' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: http-request targetType: code id: 17669939758770-source-17675939731110-target source: '17669939758770' sourceHandle: source target: '17675939731110' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: knowledge-retrieval id: 17675939731110-source-17669940249670-target source: '17675939731110' sourceHandle: source target: '17669940249670' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 1762333864200-false-17676676167470-target source: '1762333864200' sourceHandle: 'false' target: '17676676167470' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: knowledge-retrieval id: 17676676167470-source-1764905829011-target source: '17676676167470' sourceHandle: source target: '1764905829011' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 17657864016400-false-17676676927510-target source: '17657864016400' sourceHandle: 'false' target: '17676676927510' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: knowledge-retrieval id: 17676676927510-source-17657866222300-target source: '17676676927510' sourceHandle: source target: '17657866222300' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 1766739849720-false-17677487224360-target source: '1766739849720' sourceHandle: 'false' target: '17677487224360' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: code id: 17667403682010-false-17677497085030-target source: '17667403682010' sourceHandle: 'false' target: '17677497085030' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: http-request targetType: if-else id: 17666588259460-source-1766739849720-target source: '17666588259460' sourceHandle: source target: '1766739849720' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: llm id: 17667269647440-false-1766648935323-target source: '17667269647440' sourceHandle: 'false' target: '1766648935323' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: http-request targetType: if-else id: 17667264218480-source-17667403682010-target source: '17667264218480' sourceHandle: source target: '17667403682010' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: if-else targetType: llm id: 17667272700050-false-17667264375750-target source: '17667272700050' sourceHandle: 'false' target: '17667264375750' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: if-else id: 17677487224360-source-17667269647440-target source: '17677487224360' sourceHandle: source target: '17667269647440' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: if-else id: 17677497085030-source-17667272700050-target source: '17677497085030' sourceHandle: source target: '17667272700050' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: http-request id: 17669960466150-source-17669960576130-target source: '17669960466150' sourceHandle: source target: '17669960576130' targetHandle: target type: custom zIndex: 0 - data: isInLoop: false sourceType: code targetType: http-request id: 1766994739449-source-17669939758770-target source: '1766994739449' sourceHandle: source target: '17669939758770' targetHandle: target type: custom zIndex: 0 nodes: - data: selected: false title: 同事咨询问题 type: start variables: [] height: 52 id: '1762235823950' position: x: -4529.924643957575 y: 436.97867740596223 positionAbsolute: x: -4529.924643957575 y: 436.97867740596223 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"当前问题:{{#conversation.servyou_query#}}\\\ n 前置问题: {{#conversation.memory_query#}}\\n前置回复:{{#conversation.memory_ans#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: ragflow知识库 type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '1762241246839' position: x: 8755.808392505616 y: -230.25468317548746 positionAbsolute: x: 8755.808392505616 y: -230.25468317548746 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5 value: 您的问题可能不在服务业务范围内 varType: string variable_selector: - '1762241246839' - body id: 'true' logical_operator: or selected: false title: 知识库是否完全无命中 type: if-else height: 124 id: '1762333864200' position: x: 9452.516247064188 y: -225.60940729165085 positionAbsolute: x: 9452.516247064188 y: -225.60940729165085 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: dataset_ids: - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK multiple_retrieval_config: reranking_enable: true reranking_mode: reranking_model reranking_model: model: bge-rerank provider: langgenius/openai_api_compatible/openai_api_compatible top_k: 4 query_variable_selector: - conversation - servyou_query retrieval_mode: multiple selected: false title: 知识库图片检索 type: knowledge-retrieval height: 118 id: '1764905829011' position: x: 11501.117932237017 y: 258.0075828932353 positionAbsolute: x: 11501.117932237017 y: 258.0075828932353 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '1764905829011' - result memory: query_prompt_template: '{{#sys.query#}}【{{#conversation.servyou_query#}}】 {{#sys.files#}}' role_prefix: assistant: '' user: '' window: enabled: true size: 10 model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f role: system text: '# 角色与核心任务 - 你是一名专业的IT支持分析助理,专门处理企业内部同事的IT咨询。 - **核心使命**:为同事提供准确、清晰且可立即执行的解决方案。 # 处理流程与规则 ## 第一步:问答判断 - 判断知识库内容能否回复同事咨询问题。 - 此判断是后续流程的决策基础。 ## 第二步:分支处理与回复生成 (整合结束语) ###情况一:知识库内容能够回复同事咨询问题 - **同时**,判断图文信息与同事咨询问题是否相关。 - **提取相关图文信息中的链接**,如”![image](https://yw-dify.dc.servyou-it.com)“提取其中的”https://yw-dify.dc.servyou-it.com“,进行全局规则中的**链接标准化**。 - **生成回复**:基于知识库内容和相关的图文信息,生成最终回复。 ###情况二:知识库内容不能够回复同事咨询问题 - **回复固定语句**:"抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。"。 - **重要**:在上述固定语句后,必须同样附加结束语。 #全局输出格式要求(仅当知识库内容能够回复同事咨询问题时生效) - **结构化格式**,回复必须具有清晰的视觉层次,严格使用以下格式: -- 使用标题(如 ### 问题描述、### 解决方案)划分部分。 -- 使用编号列表(1. 2. 3...)表示有顺序的操作步骤。 -- 使用项目符号列表(-)表示并列的要点或说明。 -- 关键信息(如服务器地址、代码关键字)使用行内代码标记(如 `hostname`)突出。 #全局内容质量要求 - **简洁精准**:确保回答直接精准有效,避免冗长,切勿过度赘述和扩展回答。 - **专业友好**:保持专业、耐心且友好的支持态度,理解同事的急切心情。 - **清晰准确**:确保技术术语解释清楚,步骤无歧义,信息准确无误。 - **回复有效性**:确保**问题描述**的内容,在**解决方案**是准确的回复并给出了正确的执行方案。 #全局规则(所有分支适用)【要求】 - **版权合规**:如果知识库内容和同事咨询问题涉及破解、激活等风险内容,必须附加回复相关风险内容的免责声明。 - **链接标准化**:所有链接必须转换为markdown格式,不得出现原始链接,如”https://oa.servyou-it.com/,输出为[xxx](https://oa.servyou-it.com/)“,其中xxx根据上下文定义。 - **结束语**:必须在回复末尾附加固定提示:"您可选择回复"IT、人力、物业、报销、党工、安全"关键词,通过回复的链接进入人工支持。(人工服务时间:工作日9:00~18:00)"。 - **文字要求**:在**问题描述**和**解决方案**中,不能包含文字"知识库"和"员工”。 - **文字替换**:在**问题描述**和**解决方案**中,将"同事"文字改为称呼"您"。 - **回复字数**:回复字数不超过1000字。 - **完全忠于知识库内容回复**:在**问题描述**和**解决方案**中,不允许出现知识库外的拓展思考内容,包括dify的链接地址等' - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69 role: user text: '同事咨询问题:{{#conversation.servyou_query#}} 知识库内容:{{#17676676167470.result#}} 图文信息:{{#context#}}' selected: false title: 本地大模型分析 type: llm vision: enabled: false height: 88 id: '1764905844059' position: x: 12303.182583067013 y: 258.0075828932353 positionAbsolute: x: 12303.182583067013 y: 258.0075828932353 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: '{{#1764905844059.text#}}' selected: false title: 整合回复 type: answer variables: [] height: 103 id: '1765181482474' position: x: 13762.9588534678 y: 258.0075828932353 positionAbsolute: x: 13762.9588534678 y: 258.0075828932353 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - conversation - servyou_query variable_selector: - conversation - memory_query write_mode: over-write - input_type: variable operation: over-write value: - '1764905844059' - text variable_selector: - conversation - memory_ans write_mode: over-write selected: false title: 全局变量-记忆前置问题和回复 type: assigner version: '2' height: 110 id: '1765357529351' position: x: 13067.71450474107 y: 258.0075828932353 positionAbsolute: x: 13067.71450474107 y: 258.0075828932353 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: extract_by: enabled: false serial: '1' filter_by: conditions: - comparison_operator: in key: type value: - image enabled: true item_var_type: file limit: enabled: false size: 10 order_by: enabled: false key: '' value: asc selected: false title: 提取图片 type: list-operator var_type: array[file] variable: - sys - files height: 92 id: '1765436887640' position: x: -1236.233421978262 y: 731.254359189726 positionAbsolute: x: -1236.233421978262 y: 731.254359189726 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '1765436887640' - last_record model: completion_params: temperature: 0.7 mode: chat name: Qwen3-VL-8B-Instruct provider: langgenius/openai_api_compatible/openai_api_compatible prompt_template: - id: 9f9ca01e-921c-46af-9fde-99961443a7f4 role: system text: 分析图片的内容,不超过50字。 - id: 01bdc141-56e6-4757-a1f5-57f78f504369 role: user text: 图片:{{#context#}} selected: false title: 图片分析大模型 type: llm vision: configs: detail: high variable_selector: - '1765436887640' - last_record enabled: true height: 88 id: '1765437083981' position: x: -729.4536141008323 y: 888.1844744887503 positionAbsolute: x: -729.4536141008323 y: 888.1844744887503 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: empty id: e86d98d8-010f-4cf2-a1c6-b8e151b7cf26 value: '' varType: array[file] variable_selector: - sys - files id: 'true' logical_operator: and selected: false title: 图文判断 type: if-else height: 124 id: '1765437585148' position: x: -1926.280179417684 y: 425.8515926460108 positionAbsolute: x: -1926.280179417684 y: 425.8515926460108 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: selected: false template: '{{ image }},{{ text }}' title: 图文内容整合 type: template-transform variables: - value_selector: - '1765437083981' - text value_type: string variable: image - value_selector: - conversation - servyou_query value_type: string variable: text height: 52 id: '1765439054336' position: x: -184.91587430741686 y: 1042.342443267299 positionAbsolute: x: -184.91587430741686 y: 1042.342443267299 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1765782485068' - result variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 全局赋值-同事咨询问题 type: assigner version: '2' height: 84 id: '1765441606676' position: x: -2963.8329056615107 y: 436.97867740596223 positionAbsolute: x: -2963.8329056615107 y: 436.97867740596223 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1765439054336' - output variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 全局变量-同事咨询问题 type: assigner version: '2' height: 84 id: '1765441716709' position: x: 293.29585950407113 y: 1160.9098249676185 positionAbsolute: x: 293.29585950407113 y: 1160.9098249676185 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: is id: 33ee6a32-a0c0-4bbf-9a96-bb7160234499 value: 您好 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 459317d5-9334-4557-83cc-bcd5acec58bf value: 你好 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 73df0b1d-a2ad-45f8-8b63-003d70b0d108 value: hi varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 20e600d7-6737-4fd2-8658-26e43b68bc32 value: 哈喽 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: b7903e47-d4fb-44e1-b6a1-242903487ff6 value: Hi varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: af62fff6-c3de-4c8d-821a-38c7f1f44608 value: HI varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: ea51a7b1-7f5a-435f-a56c-2348802996a1 value: hl varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 92c3338e-915f-424f-87fb-84eb995e0f40 value: 早上好 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: f47b5f19-0c46-46f0-8098-ee05a2078547 value: 中午好 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 6362a678-559e-4cf7-a48d-d997b56629c3 value: 晚上好 varType: string variable_selector: - conversation - servyou_query id: 'true' logical_operator: or - case_id: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0 conditions: - comparison_operator: is id: 83764bd9-5d95-4aa7-966c-38a0eb37f463 value: 人工 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 1135a97c-f44c-4b05-9048-e0efed72d761 value: 人工服务 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: b80be458-4af2-4d20-8b7c-1d661e75fa7f value: 转人工 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: debde512-7ae9-4abe-9778-a0073d2e42d8 value: 人工支持 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 9d308df4-3147-4c89-9073-d3199b69d99a value: 能否人工 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 553a78ee-cb2c-46b9-9475-c6bca650a51c value: 人工客服 varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: e244f35d-9568-46e2-a9e0-605022e9996d value: IT人工 varType: string variable_selector: - conversation - servyou_query id: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0 logical_operator: or - case_id: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1 conditions: - comparison_operator: is id: ca85a04b-ea31-40de-87ea-024ea69c780a value: IT varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: f721a7cf-e0cc-48a2-9314-b73967c900fb value: it varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: 9547b80f-0444-46c0-acb1-a1e37309ac84 value: iT varType: string variable_selector: - conversation - servyou_query - comparison_operator: is id: ad1029fa-3fb9-4d48-a8a5-e5a4c24224fd value: It varType: string variable_selector: - conversation - servyou_query id: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1 logical_operator: or - case_id: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4 conditions: - comparison_operator: is id: d109fdb4-fb99-47fa-8c4d-0eaac37846a4 value: 人力 varType: string variable_selector: - conversation - servyou_query id: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4 logical_operator: and - case_id: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c conditions: - comparison_operator: is id: 2fd0693a-fb0e-46a2-902e-9fd7b26c412c value: 物业 varType: string variable_selector: - conversation - servyou_query id: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c logical_operator: and - case_id: 909d209a-20c2-464b-9117-335166bd0209 conditions: - comparison_operator: is id: d75ac251-6e79-4b8d-bc6a-510f0c38cfb4 value: 报销 varType: string variable_selector: - conversation - servyou_query id: 909d209a-20c2-464b-9117-335166bd0209 logical_operator: and - case_id: f8839db4-0b63-4411-b052-f82aa3807e34 conditions: - comparison_operator: is id: 213ed616-05ae-483a-8c37-512eb39a138a value: 党工 varType: string variable_selector: - conversation - servyou_query id: f8839db4-0b63-4411-b052-f82aa3807e34 logical_operator: and - case_id: 98d72ef6-f53a-482a-9cc6-36140595d055 conditions: - comparison_operator: is id: eead373e-a9f0-459e-b2bf-6ea814f65e4c value: 安全 varType: string variable_selector: - conversation - servyou_query id: 98d72ef6-f53a-482a-9cc6-36140595d055 logical_operator: and selected: true title: 自定义规则库 type: if-else height: 928 id: '1765517905842' position: x: 520.5281865827573 y: -2456.2000110016365 positionAbsolute: x: 520.5281865827573 y: -2456.2000110016365 selected: true sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: Hi!我是“智能IT助手”,很高兴为您服务,请使用文字简单描述您的问题。 selected: false title: 问候固定回复 type: answer variables: [] height: 116 id: '1765518093072' position: x: 2554.5815342573715 y: -3113.922099235114 positionAbsolute: x: 2554.5815342573715 y: -3113.922099235114 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请使用文字简单描述您的问题,或者回复“IT”、“人力”、“物业”、“报销”、“党工”、“安全”等获得人工咨询服务入口。 selected: false title: 输入“人工”二字相关固定回复 type: answer variables: [] height: 148 id: '1765524938055' position: x: 2854.0743305228325 y: -2967.3309878875216 positionAbsolute: x: 2854.0743305228325 y: -2967.3309878875216 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[联系IT人工坐席](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAASJO8iTSSGONGsDfFMoUypg)”链接进入人工服务窗口,简单描述您的问题,并提供报错信息或截图,同事将尽快回复您的问题,(人工坐席服务时间:工作日 9:00~18:00)。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: IT坐席人工链接回复 type: answer variables: [] height: 228 id: '1765524956759' position: x: 3113.2329739514166 y: -2800.425441650135 positionAbsolute: x: 3113.2329739514166 y: -2800.425441650135 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[人力资源共享服务咨询](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAAvSRL5i5b_Xia8vCmFc2gRw)”链接进入人工服务窗口,简单描述您的问题,同事将尽快回复您的问题。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: 人力坐席人工链接回复 type: answer variables: [] height: 196 id: '1765766043047' position: x: 3374.9606775942593 y: -2570.152723035539 positionAbsolute: x: 3374.9606775942593 y: -2570.152723035539 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[物业服务咨询](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAAUtkMyOToCZqe42ZBDupVEQ)”链接进入人工服务窗口,简单描述您的问题,同事将尽快回复您的问题。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: 物业坐席人工链接回复 type: answer variables: [] height: 196 id: '1765766067015' position: x: 3616.741884343417 y: -2365.8413323601862 positionAbsolute: x: 3616.741884343417 y: -2365.8413323601862 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[报销服务咨询](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAAG4HC1zWJtPuALPKl2X6jcw)”链接进入人工服务窗口,简单描述您的问题,同事将尽快回复您的问题。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: 报销坐席人工链接回复 type: answer variables: [] height: 196 id: '1765766081739' position: x: 3909.9734093883203 y: -2174.2176645758727 positionAbsolute: x: 3909.9734093883203 y: -2174.2176645758727 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[党工服务咨询](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAANk3yPOPAmkD6nLRHjbv-Zg)”链接进入人工服务窗口,简单描述您的问题,同事将尽快回复您的问题。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: 党工坐席人工链接回复 type: answer variables: [] height: 196 id: '1765766096673' position: x: 4161.9490515054285 y: -1965.5190282543938 positionAbsolute: x: 4161.9490515054285 y: -1965.5190282543938 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 请点击“[安全服务咨询](https://work.weixin.qq.com/nl/innerkfid/ikfCtcYBwAAtkP_ODMcv53bGE5x5M9YYw)”链接进入人工服务窗口,简单描述您的问题,同事将尽快回复您的问题。【注:请确保企微在最新版本,否则无法点击链接。】 selected: false title: 安全坐席人工链接回复 type: answer variables: [] height: 196 id: '1765766112941' position: x: 4421.398579391068 y: -1741.1828280237867 positionAbsolute: x: 4421.398579391068 y: -1741.1828280237867 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "def main(query: str):\n extracted_content = \"\"\n query = query.replace(\"\ \\n\",\"\")\n query = query.replace(\"\\\"\",\"\")\n query = query.strip()\n\ \ if \"Here is my question\" in query:\n before, separator, after\ \ = query.partition(\"Here is my question:\")\n if separator:\n \ \ if after:\n extracted_content = after.strip()\n\ \ else:\n after = \"什么问题?\"\n extracted_content\ \ = after.strip()\n else:\n extracted_content = query.strip()\n\ \ return {\n \"result\": extracted_content\n }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 代码执行 type: code variables: - value_selector: - sys - query value_type: string variable: query height: 52 id: '1765782485068' position: x: -3867.754148404409 y: 436.97867740596223 positionAbsolute: x: -3867.754148404409 y: 436.97867740596223 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - conversation - servyou_query model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: df73d0b1-fb70-4b31-b446-94bfc168d44c role: system text: '##角色 - 你是一个严谨的文档相关性分析专家,擅长识别文本之间的实质意图关联。 ##任务 - 对比分析以下两段内容: -- 当前查询内容 -- 历史查询内容 - 判断两者是否围绕同一个具体问题或需求展开,且意图一致、信息可直接对应。 #规则 - 仔细理解每一段内容的核心意图和关键信息点。 - 按以下条件判断是否为“相关”: -- 主题一致,且针对的是同一具体问题; -- 意图重合; -- 信息可直接呼应或衔接,而非仅仅话题类似。 - 若内容虽有话题重叠,但意图不同、问题指向不同,或信息无法直接对应,则判断为“不相关”。 - 若历史查询内容为空,则判断为“不相关”。 #输出时仅允许返回以下两种结果之一,不要添加任何解释或标点: - 相关 - 不相关' - id: f694ec6c-01b7-423a-95ec-c91a21fabe3f role: user text: '当前查询内容:{{#context#}} 历史查询内容:{{#conversation.memory_query#}}' selected: false title: 相关性判断1 type: llm vision: enabled: false height: 88 id: '1765785630566' position: x: 7704.55937556773 y: -266.3929337287146 positionAbsolute: x: 7704.55937556773 y: -266.3929337287146 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - conversation - servyou_query model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 87969cdd-a098-488b-ba64-29238794b75d role: system text: '##角色 - 你是一个严谨的文档相关性分析专家,擅长识别文本之间的实质意图关联。 ##任务 - 对比分析以下两段内容: -- 当前查询内容 -- 历史查询内容 - 判断两者是否围绕同一个具体问题或需求展开,且意图一致、信息可直接对应。 #规则 - 仔细理解每一段内容的核心意图和关键信息点。 - 按以下条件判断是否为“相关”: -- 主题一致,且针对的是同一具体问题; -- 意图重合; -- 信息可直接呼应或衔接,而非仅仅话题类似。 - 若内容虽有话题重叠,但意图不同、问题指向不同,或信息无法直接对应,则判断为“不相关”。 - 若历史查询内容为空,则判断为“不相关”。 #输出时仅允许返回以下两种结果之一,不要添加任何解释或标点: - 相关 - 不相关' - id: 82dc391b-0a47-4a1d-85b7-765f54602748 role: user text: '当前查询内容:{{#context#}} 历史查询内容:{{#conversation.memory_query#}}' selected: false title: 相关性判断2 type: llm vision: enabled: false height: 88 id: '1765785673343' position: x: 7712.724115335564 y: 1135.8772265369253 positionAbsolute: x: 7712.724115335564 y: 1135.8772265369253 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"{{#conversation.servyou_query#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: ragflow知识库 (1) type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '17657860354750' position: x: 9160.279141300143 y: 1215.7394875693199 positionAbsolute: x: 9160.279141300143 y: 1215.7394875693199 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: is id: f483964e-e4ed-4c6e-8ae1-9d2ae1b42e94 value: 相关 varType: string variable_selector: - '1765785630566' - text id: 'true' logical_operator: or selected: false title: 是否相关1 type: if-else height: 124 id: '1765786049975' position: x: 8195.329669667188 y: -266.3929337287146 positionAbsolute: x: 8195.329669667188 y: -266.3929337287146 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: is id: f6fd9947-db67-4463-8e25-858e223cc137 value: 相关 varType: string variable_selector: - '1765785673343' - text id: 'true' logical_operator: and selected: false title: 是否相关2 type: if-else height: 124 id: '1765786290221' position: x: 8195.329669667188 y: 1135.8772265369253 positionAbsolute: x: 8195.329669667188 y: 1135.8772265369253 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5 value: 您的问题可能不在服务业务范围内 varType: string variable_selector: - '17657860354750' - body id: 'true' logical_operator: or selected: false title: 知识库是否完全无命中 (1) type: if-else height: 124 id: '17657864016400' position: x: 10219.434585373543 y: 1199.837653129122 positionAbsolute: x: 10219.434585373543 y: 1199.837653129122 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: dataset_ids: - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK multiple_retrieval_config: reranking_enable: true reranking_mode: reranking_model reranking_model: model: bge-rerank provider: langgenius/openai_api_compatible/openai_api_compatible top_k: 4 query_variable_selector: - conversation - servyou_query retrieval_mode: multiple selected: false title: 知识库图片检索 (1) type: knowledge-retrieval height: 118 id: '17657866222300' position: x: 11335.415558234963 y: 2023.661199565415 positionAbsolute: x: 11335.415558234963 y: 2023.661199565415 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '17657866222300' - result memory: query_prompt_template: '{{#sys.query#}}【{{#conversation.servyou_query#}}】 {{#sys.files#}}' role_prefix: assistant: '' user: '' window: enabled: true size: 10 model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f role: system text: '# 角色与核心任务 - 你是一名专业的IT支持分析助理,专门处理企业内部同事的IT咨询。 - **核心使命**:为同事提供准确、清晰且可立即执行的解决方案。 # 处理流程与规则 ## 第一步:问答判断 - 判断知识库内容能否回复同事咨询问题。 - 此判断是后续流程的决策基础。 ## 第二步:分支处理与回复生成 (整合结束语) ###情况一:知识库内容能够回复同事咨询问题 - **同时**,判断图文信息与同事咨询问题是否相关。 - **提取相关图文信息中的链接**,如”![image](https://yw-dify.dc.servyou-it.com)“提取其中的”https://yw-dify.dc.servyou-it.com“,进行全局规则中的**链接标准化**。 - **生成回复**:基于知识库内容和相关的图文信息,生成最终回复。 ###情况二:知识库内容不能够回复同事咨询问题 - **回复固定语句**:"抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。"。 - **重要**:在上述固定语句后,必须同样附加结束语。 #全局输出格式要求(仅当知识库内容能够回复同事咨询问题时生效) - **结构化格式**,回复必须具有清晰的视觉层次,严格使用以下格式: -- 使用标题(如 ### 问题描述、### 解决方案)划分部分。 -- 使用编号列表(1. 2. 3...)表示有顺序的操作步骤。 -- 使用项目符号列表(-)表示并列的要点或说明。 -- 关键信息(如服务器地址、代码关键字)使用行内代码标记(如 `hostname`)突出。 #全局内容质量要求 - **简洁精准**:确保回答直接精准有效,避免冗长,切勿过度赘述和扩展回答。 - **专业友好**:保持专业、耐心且友好的支持态度,理解同事的急切心情。 - **清晰准确**:确保技术术语解释清楚,步骤无歧义,信息准确无误。 - **回复有效性**:确保**问题描述**的内容,在**解决方案**是准确的回复并给出了正确的执行方案。 #全局规则(所有分支适用)【要求】 - **版权合规**:如果知识库内容和同事咨询问题涉及破解、激活等风险内容,必须附加回复相关风险内容的免责声明。 - **链接标准化**:所有链接必须转换为markdown格式,不得出现原始链接,如”https://oa.servyou-it.com/,输出为[xxx](https://oa.servyou-it.com/)“,其中xxx根据上下文定义。 - **结束语**:必须在回复末尾附加固定提示:"您可选择回复"IT、人力、物业、报销、党工、安全"关键词,通过回复的链接进入人工支持。(人工服务时间:工作日9:00~18:00)"。 - **文字要求**:在**问题描述**和**解决方案**中,不能包含文字"知识库"和"员工”。 - **文字替换**:在**问题描述**和**解决方案**中,将"同事"文字改为称呼"您"。 - **回复字数**:回复字数不超过1000字。 - **完全忠于知识库内容回复**:在**问题描述**和**解决方案**中,不允许出现知识库外的拓展思考内容,包括dify的链接地址等' - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69 role: user text: '同事咨询问题:{{#conversation.servyou_query#}} 知识库内容:{{#17676676927510.result#}} 图文信息:{{#context#}}' selected: false title: 本地大模型分析 (1) type: llm vision: enabled: false height: 88 id: '17657866286790' position: x: 12174.350946071341 y: 2023.661199565415 positionAbsolute: x: 12174.350946071341 y: 2023.661199565415 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - conversation - servyou_query variable_selector: - conversation - memory_query write_mode: over-write - input_type: variable operation: over-write value: - '17657866286790' - text variable_selector: - conversation - memory_ans write_mode: over-write selected: false title: 全局变量-记忆前置问题和回复 (1) type: assigner version: '2' height: 110 id: '17657866367000' position: x: 13058.347048392365 y: 2023.661199565415 positionAbsolute: x: 13058.347048392365 y: 2023.661199565415 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: '{{#17657866286790.text#}}' selected: false title: 整合回复 (1) type: answer variables: [] height: 103 id: '17657866567850' position: x: 13825.43617678274 y: 2023.661199565415 positionAbsolute: x: 13825.43617678274 y: 2023.661199565415 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '17677487224360' - result model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 4fc3c788-e1c4-4ec5-aae0-ac791f1b4f5f role: system text: "# 角色与任务\n你是一名专业的IT支持意图识别助手,负责理解同事咨询问题,并判断其是否完整。你的核心任务是:\n1. **评估问题是否已清晰表达了具体的IT支持意图并包含必要上下文**。完整的信息通常包括:\n\ \ * **具体的请求或问题点** (例如:无法打印、申请账号、咨询某手册、软件安装)\n * **涉及的对象或背景**\ \ (例如:网络打印机、新员工入职、财务软件Adobe Premiere)\n2. **智能响应**:\n * 若问题**同时包含\"\ 具体的请求或问题点”和\"涉及的对象或背景”**,则视为已具备关键信息,使用**格式二**直接优化输出。\n * 若问题**极度模糊,缺乏具体的请求或问题点或涉及的对象或背景**(例如:“打印机有问题”、“报错了”),则使用**格式一**引导补充。\n\ \n# 判断标准与示例\n* **引导补充(格式一)的示例**:\n * “打印机有问题。”(过于模糊,仅有设备类别)\n \ \ * “手册。”(过于模糊,仅有需求类别)\n* **优化输出(格式二)的示例**:\n * “如何为新同事申请VPN账号?”(**包含**:具体请求“申请VPN账号”\ \ + 背景“为新同事”)\n * “咨询新员工入职IT指引手册。”(**包含**:具体意图“咨询” + 明确对象“新员工入职IT指引手册”)\n\ \n# 输出格式规则\n## 格式一:需补充信息时(仅当问题确实缺乏核心信息时使用),格式是:\n\"如果上述答案不是您想要的结果,请换一种问法或者补充相关信息。如:\n\ 1.补充信息的提示1\n2.补充信息的提示2\n例如,您可以这样提问:<提供一个完整问题的示例>\"\n\n## 格式二:直接优化并输出(默认优先选择),要求:\n\ **触发条件**:问题已包含足够的核心信息要素。\n**你的任务**:基于原问题,结合IT支持场景,输出一个**更清晰、更结构化的问题描述**,直接作为优化结果。优化时应聚焦于澄清意图,无需生成解决方案。\n\ \n**优化原则**:\n1. **精简**:去除口语化词汇,保留核心名词和动词。\n2. **结构化**:将问题背景、对象、现象有机组织成一句或几句连贯的话。\n\ 3. **完整**:不丢失原问题中的任何关键信息。\n\n# 开始任务\n- 请严格根据以上规则处理同事咨询问题。你的回复只能是最终的引导语(格式一)或优化后的问题描述(格式二),无需任何思考过程或额外解释。\n\ - 仅从**引导语**中提取信息进行补充优化,绝对禁止任何主观拓展与额外思考。\n- ”<提供一个完整问题的示例>\"所给出的内容必须严格从**引导语**中最相关的内容中提取,且必须意图和同事咨询问题意图相同,若都不相关,则直接输出同事咨询问题原内容作为示例输出。" - id: 74c386d0-c729-4b7f-b31b-f98302226335 role: user text: '同事咨询问题:{{#conversation.servyou_query#}} ' - id: 5ff721b3-6c4f-49cd-9f43-54455bde9ef0 role: user text: 引导语:{{#context#}} selected: false title: 同事问题优化1 type: llm vision: enabled: false height: 88 id: '1766648935323' position: x: 3561.8140222602924 y: 130.11067076120256 positionAbsolute: x: 3561.8140222602924 y: 130.11067076120256 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: fa63036d-f561-48de-ad78-283131aef7d7 value: 如果上述答案不是您想要的结果 varType: string variable_selector: - '1766648935323' - text id: 'true' logical_operator: and selected: false title: 引导or优化1 type: if-else height: 124 id: '1766654954216' position: x: 3909.9734093883203 y: 338.4707924041919 positionAbsolute: x: 3909.9734093883203 y: 338.4707924041919 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: '您想要问的是不是:"{{#17669960466150.result#}}",以下是该问题的相关回复: {{#17669960812650.text#}} -------------------------------------------------------------------------------- {{#17669960466150.clue_word#}} -------------------------------------------------------------------------------- 您可选择回复"IT、人力、物业、报销、党工、安全"关键词,通过回复的链接进入人工支持。(人工服务时间:工作日9:00~18:00)' selected: false title: 引导回复1 type: answer variables: [] height: 301 id: '1766655012100' position: x: 6482.071720136611 y: -593.1240379777566 positionAbsolute: x: 6482.071720136611 y: -593.1240379777566 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1766726065787' - result variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 优化后问题重新输入1 type: assigner version: '2' height: 84 id: '1766655043205' position: x: 7288.857117544632 y: 507.257523676975 positionAbsolute: x: 7288.857117544632 y: 507.257523676975 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: fa63036d-f561-48de-ad78-283131aef7d7 value: 如果上述答案不是您想要的结果 varType: string variable_selector: - '17667264375750' - text id: 'true' logical_operator: and selected: false title: 引导or优化2 type: if-else height: 124 id: '17666551325690' position: x: 3920.1886110664195 y: 1886.2588083260023 positionAbsolute: x: 3920.1886110664195 y: 1886.2588083260023 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: '您想要问的是不是:"{{#1766994739449.result#}}",以下是该问题的相关回复: {{#17669940385140.text#}} -------------------------------------------------------------------------------- {{#1766994739449.clue_word#}} -------------------------------------------------------------------------------- 您可选择回复"IT、人力、物业、报销、党工、安全"关键词,通过回复的链接进入人工支持。(人工服务时间:工作日9:00~18:00)' selected: false title: 引导回复2 type: answer variables: [] height: 301 id: '17666551440550' position: x: 6515.847981247866 y: 933.4680278742334 positionAbsolute: x: 6515.847981247866 y: 933.4680278742334 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '17667264509960' - result variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 优化后问题重新输入2 type: assigner version: '2' height: 84 id: '17666551541000' position: x: 7342.04462057978 y: 2066.1618018612235 positionAbsolute: x: 7342.04462057978 y: 2066.1618018612235 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"{{#conversation.servyou_query#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: 引导词来源1 type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '17666588259460' position: x: 1807.3310303332867 y: -1098.2770469233678 positionAbsolute: x: 1807.3310303332867 y: -1098.2770469233678 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "def main(arg1: str):\n arg1 = arg1[9:]\n return {\n \"\ result\": arg1 ,\n }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 输出格式进一步处理1 type: code variables: - value_selector: - '1766648935323' - text value_type: string variable: arg1 height: 52 id: '1766726065787' position: x: 6833.465302518225 y: 507.257523676975 positionAbsolute: x: 6833.465302518225 y: 507.257523676975 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"{{#conversation.servyou_query#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: 引导词来源2 type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '17667264218480' position: x: 1536.60025559854 y: 1330.5805764260908 positionAbsolute: x: 1536.60025559854 y: 1330.5805764260908 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '17677497085030' - result model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 4fc3c788-e1c4-4ec5-aae0-ac791f1b4f5f role: system text: "# 角色与任务\n你是一名专业的IT支持意图识别助手,负责理解同事咨询问题,并判断其是否完整。你的核心任务是:\n1. **评估问题是否已清晰表达了具体的IT支持意图并包含必要上下文**。完整的信息通常包括:\n\ \ * **具体的请求或问题点** (例如:无法打印、申请账号、咨询某手册、软件安装)\n * **涉及的对象或背景**\ \ (例如:网络打印机、新员工入职、财务软件Adobe Premiere)\n2. **智能响应**:\n * 若问题**同时包含\"\ 具体的请求或问题点”和\"涉及的对象或背景”**,则视为已具备关键信息,使用**格式二**直接优化输出。\n * 若问题**极度模糊,缺乏具体的请求或问题点或涉及的对象或背景**(例如:“打印机有问题”、“报错了”),则使用**格式一**引导补充。\n\ \n# 判断标准与示例\n* **引导补充(格式一)的示例**:\n * “打印机有问题。”(过于模糊,仅有设备类别)\n \ \ * “手册。”(过于模糊,仅有需求类别)\n* **优化输出(格式二)的示例**:\n * “如何为新同事申请VPN账号?”(**包含**:具体请求“申请VPN账号”\ \ + 背景“为新同事”)\n * “咨询新员工入职IT指引手册。”(**包含**:具体意图“咨询” + 明确对象“新员工入职IT指引手册”)\n\ \n# 输出格式规则\n## 格式一:需补充信息时(仅当问题确实缺乏核心信息时使用),格式是:\n\"如果上述答案不是您想要的结果,请换一种问法或者补充相关信息。如:\n\ 1.补充信息的提示1\n2.补充信息的提示2\n例如,您可以这样提问:<提供一个完整问题的示例>\"\n\n## 格式二:直接优化并输出(默认优先选择),要求:\n\ **触发条件**:问题已包含足够的核心信息要素。\n**你的任务**:基于原问题,结合IT支持场景,输出一个**更清晰、更结构化的问题描述**,直接作为优化结果。优化时应聚焦于澄清意图,无需生成解决方案。\n\ \n**优化原则**:\n1. **精简**:去除口语化词汇,保留核心名词和动词。\n2. **结构化**:将问题背景、对象、现象有机组织成一句或几句连贯的话。\n\ 3. **完整**:不丢失原问题中的任何关键信息。\n\n# 开始任务\n- 请严格根据以上规则处理同事咨询问题。你的回复只能是最终的引导语(格式一)或优化后的问题描述(格式二),无需任何思考过程或额外解释。\n\ - 仅从**引导语**中提取信息进行补充优化,绝对禁止任何主观拓展与额外思考。\n- ”<提供一个完整问题的示例>\"所给出的内容必须严格从**引导语**中最相关的内容中提取,且必须意图和同事咨询问题意图相同,若都不相关,则直接输出同事咨询问题原内容作为示例输出。" - id: ab5c0515-7a2f-4a71-aeb9-ebb8bf787158 role: user text: '同事咨询问题:{{#conversation.servyou_query#}} ' - id: 2c2149b3-9198-495b-8d79-74f8d17b6167 role: user text: 引导语:{{#context#}} selected: false title: 同事问题优化2 type: llm vision: enabled: false height: 88 id: '17667264375750' position: x: 3632.4899312396797 y: 1752.2151424451133 positionAbsolute: x: 3632.4899312396797 y: 1752.2151424451133 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "def main(arg1: str):\n arg1 = arg1[9:]\n return {\n \"\ result\": arg1 ,\n }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 输出格式进一步处理 2 type: code variables: - value_selector: - '17667264375750' - text value_type: string variable: arg1 height: 52 id: '17667264509960' position: x: 7012.552826051923 y: 2066.1618018612235 positionAbsolute: x: 7012.552826051923 y: 2066.1618018612235 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5 value: 您的问题可能不在服务业务范围内 varType: string variable_selector: - '17677487224360' - result id: 'true' logical_operator: or selected: false title: 知识库是否完全无命中 1 type: if-else height: 124 id: '17667269647440' position: x: 3279.2658110309185 y: -217.44062064286942 positionAbsolute: x: 3279.2658110309185 y: -217.44062064286942 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。 selected: false title: 预判定1 type: answer variables: [] height: 116 id: '1766727080009' position: x: 4125.604259535419 y: -332.7764718352077 positionAbsolute: x: 4125.604259535419 y: -332.7764718352077 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5 value: 您的问题可能不在服务业务范围内 varType: string variable_selector: - '17677497085030' - result id: 'true' logical_operator: or selected: false title: 知识库是否完全无命中 2 type: if-else height: 124 id: '17667272700050' position: x: 3315.065308881474 y: 1491.5012001383288 positionAbsolute: x: 3315.065308881474 y: 1491.5012001383288 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。 selected: false title: 预判定2 type: answer variables: [] height: 116 id: '1766727285253' position: x: 3950.274742560605 y: 1348.0615303816649 positionAbsolute: x: 3950.274742560605 y: 1348.0615303816649 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。 selected: false title: 知识库没有相关内容2 type: answer variables: [] height: 116 id: '17667318333930' position: x: 13816.805959882542 y: 1237.219929155591 positionAbsolute: x: 13816.805959882542 y: 1237.219929155591 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: answer: 抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。 selected: false title: 知识库没有相关内容1 type: answer variables: [] height: 116 id: '17667318501870' position: x: 13768.052696348677 y: -203.15401123345174 positionAbsolute: x: 13768.052696348677 y: -203.15401123345174 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 9ca8109a-80ef-40d4-bfc3-4edccfcca6af value: 如果上述答案不是您想要的结果 varType: string variable_selector: - '1766648935323' - text id: 'true' logical_operator: and desc: '' selected: false title: 有记忆情况的模糊判定 type: if-else height: 124 id: '1766737231108' position: x: 6426.639792077752 y: 425.8515926460108 positionAbsolute: x: 6426.639792077752 y: 425.8515926460108 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "\ndef main(arg1: str):\n return {\n \"result\": arg1\n \ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 模糊问题再现处理 type: code variables: - value_selector: - conversation - servyou_query value_type: string variable: arg1 height: 52 id: '1766737321402' position: x: 6880.549057021819 y: -667.4394351166043 positionAbsolute: x: 6880.549057021819 y: -667.4394351166043 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1766737321402' - result variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 优化后问题重新输入1 type: assigner version: '2' height: 84 id: '17667375172980' position: x: 7243.494609251557 y: -667.4394351166043 positionAbsolute: x: 7243.494609251557 y: -667.4394351166043 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: contains id: 9ca8109a-80ef-40d4-bfc3-4edccfcca6af value: 如果上述答案不是您想要的结果 varType: string variable_selector: - '17667264375750' - text id: 'true' logical_operator: and selected: false title: 有记忆情况的模糊判定2 type: if-else height: 124 id: '17667376015020' position: x: 6643.459408608936 y: 1986.7105089978963 positionAbsolute: x: 6643.459408608936 y: 1986.7105089978963 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "\ndef main(arg1: str):\n return {\n \"result\": arg1\n \ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 模糊问题再现处理 2 type: code variables: - value_selector: - conversation - servyou_query value_type: string variable: arg1 height: 52 id: '17667376904610' position: x: 7012.552826051923 y: 641.245937604978 positionAbsolute: x: 7012.552826051923 y: 641.245937604978 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '17667376904610' - result variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 优化后问题重新输入2 type: assigner version: '2' height: 84 id: '17667377094060' position: x: 7364.265613221313 y: 989.4871914055992 positionAbsolute: x: 7364.265613221313 y: 989.4871914055992 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "\ndef main(arg1: int):\n arg1 = arg1 + 1 \n return {\n \ \ \"result\": arg1\n }\n" code_language: python3 outputs: result: children: null type: number selected: false title: 会话保底机制 type: code variables: - value_selector: - conversation - guarantee_mechanism value_type: number variable: arg1 height: 52 id: '1766739425288' position: x: 945.9831789536895 y: -1384.1426506333903 positionAbsolute: x: 945.9831789536895 y: -1384.1426506333903 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1766739425288' - result variable_selector: - conversation - guarantee_mechanism write_mode: over-write selected: false title: 保底变量覆盖 type: assigner version: '2' height: 84 id: '1766739488182' position: x: 1320.3810327539275 y: -1163.350971624335 positionAbsolute: x: 1320.3810327539275 y: -1163.350971624335 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: '>' id: dccd0a41-2d45-4101-837a-491ff6fa4a96 numberVarType: constant value: '2' varType: number variable_selector: - conversation - guarantee_mechanism id: 'true' logical_operator: and selected: false title: 保底判定 type: if-else height: 124 id: '1766739849720' position: x: 2757.148077573397 y: -703.5597694394028 positionAbsolute: x: 2757.148077573397 y: -703.5597694394028 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: cases: - case_id: 'true' conditions: - comparison_operator: '>' id: dccd0a41-2d45-4101-837a-491ff6fa4a96 numberVarType: constant value: '2' varType: number variable_selector: - conversation - guarantee_mechanism id: 'true' logical_operator: and selected: false title: 保底判定2 type: if-else height: 124 id: '17667403682010' position: x: 2679.454273211391 y: 1118.1507630120286 positionAbsolute: x: 2679.454273211391 y: 1118.1507630120286 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "\ndef main(arg1: int):\n arg1 = arg1 + 1 \n return {\n \ \ \"result\": arg1\n }\n" code_language: python3 outputs: result: children: null type: number selected: false title: 会话保底机制2 type: code variables: - value_selector: - conversation - guarantee_mechanism value_type: number variable: arg1 height: 52 id: '17667406566450' position: x: 656.369246652056 y: 1259.1101255623037 positionAbsolute: x: 656.369246652056 y: 1259.1101255623037 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '17667406566450' - result variable_selector: - conversation - guarantee_mechanism write_mode: over-write selected: false title: 保底变量覆盖2 type: assigner version: '2' height: 84 id: '17667406611650' position: x: 1134.8627105803314 y: 1394.372623040324 positionAbsolute: x: 1134.8627105803314 y: 1394.372623040324 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: append value: - conversation - servyou_query variable_selector: - conversation - mmq write_mode: over-write selected: false title: 记忆变量 type: assigner version: '2' height: 84 id: '1766986002113' position: x: 4284.85470831095 y: 248.12903838526358 positionAbsolute: x: 4284.85470831095 y: 248.12903838526358 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: selected: false template: '{{ arg1 }}, {{ arg2 }}' title: 历史引导记忆问题 type: template-transform variables: - value_selector: - conversation - servyou_query value_type: string variable: arg1 - value_selector: - conversation - mmq value_type: array[string] variable: arg2 height: 52 id: '1766986387628' position: x: 3676.1256850077352 y: -672.2016382530768 positionAbsolute: x: 3676.1256850077352 y: -672.2016382530768 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1766986387628' - output variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 结合历史问题和当前问题 type: assigner version: '2' height: 84 id: '1766986503282' position: x: 5111.322705256988 y: -667.4394351166043 positionAbsolute: x: 5111.322705256988 y: -667.4394351166043 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: append value: - conversation - servyou_query variable_selector: - conversation - mmq write_mode: over-write selected: false title: 记忆变量 2 type: assigner version: '2' height: 84 id: '17669865896480' position: x: 4249.10052907629 y: 1796.7420776432623 positionAbsolute: x: 4249.10052907629 y: 1796.7420776432623 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: selected: false template: '{{ arg1 }}, {{ arg2 }}' title: 历史引导记忆问题 2 type: template-transform variables: - value_selector: - conversation - servyou_query value_type: string variable: arg1 - value_selector: - conversation - mmq value_type: array[string] variable: arg2 height: 52 id: '17669866215620' position: x: 3451.5694329482812 y: 1144.8537852682175 positionAbsolute: x: 3451.5694329482812 y: 1144.8537852682175 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '17669866215620' - output variable_selector: - conversation - servyou_query write_mode: over-write selected: false title: 结合历史问题和当前问题2 type: assigner version: '2' height: 84 id: '17669866341260' position: x: 4319.753413222378 y: 641.245937604978 positionAbsolute: x: 4319.753413222378 y: 641.245937604978 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"{{#1766994739449.result#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: ragflow知识库 3 type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '17669939758770' position: x: 4872.407870326148 y: 1569.4484181615476 positionAbsolute: x: 4872.407870326148 y: 1569.4484181615476 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: dataset_ids: - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK multiple_retrieval_config: reranking_enable: true reranking_mode: reranking_model reranking_model: model: bge-rerank provider: langgenius/openai_api_compatible/openai_api_compatible top_k: 4 query_variable_selector: - '1766994739449' - result retrieval_mode: multiple selected: false title: 知识库图片检索 3 type: knowledge-retrieval height: 118 id: '17669940249670' position: x: 5514.596837783464 y: 1330.5805764260908 positionAbsolute: x: 5514.596837783464 y: 1330.5805764260908 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '17669940249670' - result model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f role: system text: '# 角色与核心任务 - 你是一名专业的IT支持分析助理,专门处理企业内部同事的IT咨询。 - **核心使命**:为同事提供准确、清晰且可立即执行的解决方案。 # 处理流程与规则 ## 第一步:问答判断 - 判断知识库内容能否回复同事咨询问题。 - 此判断是后续流程的决策基础。 ## 第二步:分支处理与回复生成 (整合结束语) ###情况一:知识库内容能够回复同事咨询问题 - **同时**,判断图文信息与同事咨询问题是否相关。 - **提取相关图文信息中的链接**,如”![image](https://yw-dify.dc.servyou-it.com)“提取其中的”https://yw-dify.dc.servyou-it.com“,进行全局规则中的**链接标准化**。 - **生成回复**:基于知识库内容和相关的图文信息,生成最终回复。 ###情况二:知识库内容不能够回复同事咨询问题 - **回复固定语句**:"抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。"。 #全局输出格式要求(仅当知识库内容能够回复同事咨询问题时生效) - **结构化格式**,回复必须具有清晰的视觉层次,严格使用以下格式: -- 使用标题(### 解决方案)表示回复。 -- 使用编号列表(1. 2. 3...)表示有顺序的操作步骤。 -- 使用项目符号列表(-)表示并列的要点或说明。 -- 关键信息(如服务器地址、代码关键字)使用行内代码标记(如 `hostname`)突出。 #全局内容质量要求 - **简洁精准**:确保回答直接精准有效,避免冗长,切勿过度赘述和扩展回答。 - **专业友好**:保持专业、耐心且友好的支持态度,理解同事的急切心情。 - **清晰准确**:确保技术术语解释清楚,步骤无歧义,信息准确无误。 - **回复有效性**:确保**解决方案**是准确的回复并给出了正确的执行方案。 #全局规则(所有分支适用)【要求】 - **版权合规**:如果知识库内容和同事咨询问题涉及破解、激活等风险内容,必须附加回复相关风险内容的免责声明。 - **链接标准化**:所有链接必须转换为markdown格式,不得出现原始链接,如”https://oa.servyou-it.com/,输出为[xxx](https://oa.servyou-it.com/)“,其中xxx根据上下文定义。 - **文字要求**:在**解决方案**中,不能包含文字"知识库"和"员工”。 - **文字替换**:在**解决方案**中,将"同事"文字改为称呼"您"。 - **回复字数**:回复字数不超过500字。 - **完全忠于知识库内容回复**:在**解决方案**中,不允许出现知识库外的拓展思考内容,包括dify的链接地址等。' - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69 role: user text: '同事咨询问题:{{#1766994739449.result#}} 知识库内容:{{#17675939731110.result#}}【附加:{{#17677497085030.result#}}】 图文信息:{{#context#}}' selected: false title: 本地大模型分析3 type: llm vision: enabled: false height: 88 id: '17669940385140' position: x: 5819.859752897343 y: 1208.9998846785986 positionAbsolute: x: 5819.859752897343 y: 1208.9998846785986 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "def main(query: str):\n extracted_content = \"\"\n query = query.strip()\n\ \ if \"如果上述答案不是您想要的结果\" in query:\n before, separator, after =\ \ query.partition(\"例如,您可以这样提问:\")\n if separator:\n if\ \ after:\n extracted_content = after.strip()\n \ \ else:\n after = query\n extracted_content\ \ = after.strip()\n else:\n extracted_content = query.strip()\n\ \ return {\n \"result\": extracted_content,\n \"clue_word\"\ : before\n }\n" code_language: python3 outputs: clue_word: children: null type: string result: children: null type: string selected: false title: 猜测问题提取 type: code variables: - value_selector: - '17667264375750' - text value_type: string variable: query height: 52 id: '1766994739449' position: x: 4523.465086086416 y: 1701.4487797185989 positionAbsolute: x: 4523.465086086416 y: 1701.4487797185989 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "def main(query: str):\n extracted_content = \"\"\n query = query.strip()\n\ \ if \"如果上述答案不是您想要的结果\" in query:\n before, separator, after =\ \ query.partition(\"例如,您可以这样提问:\")\n if separator:\n if\ \ after:\n extracted_content = after.strip()\n \ \ else:\n after = query\n extracted_content\ \ = after.strip()\n else:\n extracted_content = query.strip()\n\ \ return {\n \"result\": extracted_content,\n \"clue_word\"\ : before\n }\n" code_language: python3 outputs: clue_word: children: null type: string result: children: null type: string selected: false title: 猜测问题提取 (1) type: code variables: - value_selector: - '1766648935323' - text value_type: string variable: query height: 52 id: '17669960466150' position: x: 4657.500635670119 y: 110.81946497169574 positionAbsolute: x: 4657.500635670119 y: 110.81946497169574 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: authorization: config: null type: no-auth body: data: - id: key-value-263 key: '' type: text value: "{\n \"model\": \"model\",\n \"messages\": [\n {\n \"\ role\": \"user\",\n \"content\": \"{{#17669960466150.result#}}\"\ \n }\n ],\n \"stream\": true,\n \"encoding\": \"utf-8\"\n}" type: json headers: 'Content-Type:application/json; charset="utf-8" Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm' method: post params: '' retry_config: max_retries: 3 retry_enabled: true retry_interval: 100 selected: false ssl_verify: true timeout: max_connect_timeout: 0 max_read_timeout: 0 max_write_timeout: 0 title: ragflow知识库 3 (1) type: http-request url: http://10.80.0.85:9380/api/v1/agents_openai/d4051f80dfdc11f0993d0242ac120006/chat/completions variables: [] height: 170 id: '17669960576130' position: x: 4983.265199351364 y: -47.23120205277857 positionAbsolute: x: 4983.265199351364 y: -47.23120205277857 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: dataset_ids: - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK multiple_retrieval_config: reranking_enable: true reranking_mode: reranking_model reranking_model: model: bge-rerank provider: langgenius/openai_api_compatible/openai_api_compatible top_k: 4 query_variable_selector: - '17669960466150' - result retrieval_mode: multiple selected: false title: 知识库图片检索 3 (1) type: knowledge-retrieval height: 118 id: '17669960738730' position: x: 5612.418633990207 y: -284.37595518643394 positionAbsolute: x: 5612.418633990207 y: -284.37595518643394 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: context: enabled: true variable_selector: - '17669960738730' - result model: completion_params: temperature: 0.7 mode: chat name: Qwen3-30B-A3B-Instruct provider: yangyaofei/vllm/vllm prompt_template: - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f role: system text: '# 角色与核心任务 - 你是一名专业的IT支持分析助理,专门处理企业内部同事的IT咨询。 - **核心使命**:为同事提供准确、清晰且可立即执行的解决方案。 # 处理流程与规则 ## 第一步:问答判断 - 判断知识库内容能否回复同事咨询问题。 - 此判断是后续流程的决策基础。 ## 第二步:分支处理与回复生成 (整合结束语) ###情况一:知识库内容能够回复同事咨询问题 - **同时**,判断图文信息与同事咨询问题是否相关。 - **提取相关图文信息中的链接**,如”![image](https://yw-dify.dc.servyou-it.com)“提取其中的”https://yw-dify.dc.servyou-it.com“,进行全局规则中的**链接标准化**。 - **生成回复**:基于知识库内容和相关的图文信息,生成最终回复。 ###情况二:知识库内容不能够回复同事咨询问题 - **回复固定语句**:"抱歉,您的问题可能不在服务业务范围内,请尝试调整其他问法。"。 #全局输出格式要求(仅当知识库内容能够回复同事咨询问题时生效) - **结构化格式**,回复必须具有清晰的视觉层次,严格使用以下格式: -- 使用标题(### 解决方案)表示回复。 -- 使用编号列表(1. 2. 3...)表示有顺序的操作步骤。 -- 使用项目符号列表(-)表示并列的要点或说明。 -- 关键信息(如服务器地址、代码关键字)使用行内代码标记(如 `hostname`)突出。 #全局内容质量要求 - **简洁精准**:确保回答直接精准有效,避免冗长,切勿过度赘述和扩展回答。 - **专业友好**:保持专业、耐心且友好的支持态度,理解同事的急切心情。 - **清晰准确**:确保技术术语解释清楚,步骤无歧义,信息准确无误。 - **回复有效性**:确保**解决方案**是准确的回复并给出了正确的执行方案。 #全局规则(所有分支适用)【要求】 - **版权合规**:如果知识库内容和同事咨询问题涉及破解、激活等风险内容,必须附加回复相关风险内容的免责声明。 - **链接标准化**:所有链接必须转换为markdown格式,不得出现原始链接,如”https://oa.servyou-it.com/,输出为[xxx](https://oa.servyou-it.com/)“,其中xxx根据上下文定义。 - **文字要求**:在**解决方案**中,不能包含文字"知识库"和"员工”。 - **文字替换**:在**解决方案**中,将"同事"文字改为称呼"您"。 - **回复字数**:回复字数不超过500字。 - **完全忠于知识库内容回复**:在**解决方案**中,不允许出现知识库外的拓展思考内容,包括dify的链接地址等。' - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69 role: user text: '同事咨询问题:{{#17669960466150.result#}} 图文信息:{{#context#}} 知识库内容:{{#1767577724877.result#}}【附加:{{#17677487224360.result#}}】' selected: false title: 本地大模型分析3 (1) type: llm vision: enabled: false height: 88 id: '17669960812650' position: x: 5888.374478810877 y: -373.74936226508623 positionAbsolute: x: 5888.374478810877 y: -373.74936226508623 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '17669960466150' - result variable_selector: - conversation - memory_query write_mode: over-write - input_type: variable operation: over-write value: - '17669960812650' - text variable_selector: - conversation - memory_ans write_mode: over-write selected: false title: 全局变量-记忆前置问题和回复 (2) type: assigner version: '2' height: 110 id: '17669987893140' position: x: 6176.5333029773565 y: -470.1705846854579 positionAbsolute: x: 6176.5333029773565 y: -470.1705846854579 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: items: - input_type: variable operation: over-write value: - '1766994739449' - result variable_selector: - conversation - memory_query write_mode: over-write - input_type: variable operation: over-write value: - '17669940385140' - text variable_selector: - conversation - memory_ans write_mode: over-write selected: false title: 全局变量-记忆前置问题和回复 (3) type: assigner version: '2' height: 110 id: '17669989513170' position: x: 6133.195841100804 y: 1083.9264082053355 positionAbsolute: x: 6133.195841100804 y: 1083.9264082053355 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 知识库格式修正1 type: code variables: - value_selector: - '17669960576130' - body value_type: string variable: arg1 height: 52 id: '1767577724877' position: x: 5296.261648985534 y: -151.6317444173636 positionAbsolute: x: 5296.261648985534 y: -151.6317444173636 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 知识库格式修正2 type: code variables: - value_selector: - '17669939758770' - body value_type: string variable: arg1 height: 52 id: '17675939731110' position: x: 5178.454419369272 y: 1459.5565107244784 positionAbsolute: x: 5178.454419369272 y: 1459.5565107244784 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 知识库格式修正3 type: code variables: - value_selector: - '1762241246839' - body value_type: string variable: arg1 height: 52 id: '17676676167470' position: x: 10285.667260026912 y: 267.7051966087703 positionAbsolute: x: 10285.667260026912 y: 267.7051966087703 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 知识库格式修正4 type: code variables: - value_selector: - '17657860354750' - body value_type: string variable: arg1 height: 52 id: '17676676927510' position: x: 10673.907899004127 y: 2023.661199565415 positionAbsolute: x: 10673.907899004127 y: 2023.661199565415 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 引导词格式修正 type: code variables: - value_selector: - '17666588259460' - body value_type: string variable: arg1 height: 52 id: '17677487224360' position: x: 3003.434211354486 y: -373.74936226508623 positionAbsolute: x: 3003.434211354486 y: -373.74936226508623 selected: false sourcePosition: right targetPosition: left type: custom width: 242 - data: code: "import re\n\ndef main(arg1: str):\n result = re.sub(r'.*?{\"content\"\ :', '', arg1, count=1)\n result = re.sub(r'.*?(\\\"\\\\n)', '', result,\ \ count=1)\n result = re.sub(r'(\\\"}, \\\"finish_reason\\\".*)', '',\ \ result, flags=re.DOTALL)\n return {\n \"result\": result,\n\ \ }\n" code_language: python3 outputs: result: children: null type: string selected: false title: 引导词格式修正2 type: code variables: - value_selector: - '17667264218480' - body value_type: string variable: arg1 height: 52 id: '17677497085030' position: x: 2925.420471711777 y: 1416.0668749341942 positionAbsolute: x: 2925.420471711777 y: 1416.0668749341942 selected: false sourcePosition: right targetPosition: left type: custom width: 242 viewport: x: 257.344217857632 y: 724.5007800203003 zoom: 0.25 rag_pipeline_variables: []