- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
381 lines
12 KiB
YAML
381 lines
12 KiB
YAML
app:
|
||
description: 智能工牌能力分析与课程推荐
|
||
icon: 🤖
|
||
icon_background: '#FFEAD5'
|
||
mode: workflow
|
||
name: 恩喜-05-智能工牌能力分析与课程推荐-考陪练
|
||
use_icon_as_answer_icon: false
|
||
dependencies:
|
||
- current_identifier: null
|
||
type: marketplace
|
||
value:
|
||
marketplace_plugin_unique_identifier: langgenius/openrouter:0.0.22@99ef4cf4e08292c28806abaf24f295ed66e04e4b9e74385b487fd0767c7f56df
|
||
version: null
|
||
kind: app
|
||
version: 0.5.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:
|
||
audio_file_size_limit: 50
|
||
batch_count_limit: 5
|
||
file_size_limit: 15
|
||
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: end
|
||
id: 1759345165645-source-1759259743998-target
|
||
source: '1759345165645'
|
||
sourceHandle: source
|
||
target: '1759259743998'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
isInLoop: false
|
||
sourceType: start
|
||
targetType: tool
|
||
id: 1759259735113-source-1766637417515-target
|
||
source: '1759259735113'
|
||
sourceHandle: source
|
||
target: '1766637417515'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInIteration: false
|
||
isInLoop: false
|
||
sourceType: tool
|
||
targetType: tool
|
||
id: 1766637417515-source-1766637451330-target
|
||
source: '1766637417515'
|
||
sourceHandle: source
|
||
target: '1766637451330'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
- data:
|
||
isInLoop: false
|
||
sourceType: tool
|
||
targetType: llm
|
||
id: 1766637451330-source-1759345165645-target
|
||
source: '1766637451330'
|
||
sourceHandle: source
|
||
target: '1759345165645'
|
||
targetHandle: target
|
||
type: custom
|
||
zIndex: 0
|
||
nodes:
|
||
- data:
|
||
selected: false
|
||
title: 开始
|
||
type: start
|
||
variables:
|
||
- default: ''
|
||
hint: ''
|
||
label: dialogue_history
|
||
max_length: 90000
|
||
options: []
|
||
placeholder: ''
|
||
required: true
|
||
type: paragraph
|
||
variable: dialogue_history
|
||
- default: ''
|
||
hint: ''
|
||
label: user_id
|
||
max_length: 48
|
||
options: []
|
||
placeholder: ''
|
||
required: true
|
||
type: text-input
|
||
variable: user_id
|
||
height: 135
|
||
id: '1759259735113'
|
||
position:
|
||
x: 80
|
||
y: 282
|
||
positionAbsolute:
|
||
x: 80
|
||
y: 282
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 242
|
||
- data:
|
||
outputs:
|
||
- value_selector:
|
||
- '1759345165645'
|
||
- text
|
||
value_type: string
|
||
variable: result
|
||
selected: false
|
||
title: 结束
|
||
type: end
|
||
height: 88
|
||
id: '1759259743998'
|
||
position:
|
||
x: 1813.2223142363105
|
||
y: 283.53180246801287
|
||
positionAbsolute:
|
||
x: 1813.2223142363105
|
||
y: 283.53180246801287
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 242
|
||
- data:
|
||
context:
|
||
enabled: false
|
||
variable_selector: []
|
||
model:
|
||
completion_params:
|
||
temperature: 0.7
|
||
mode: chat
|
||
name: google/gemini-2.5-flash
|
||
provider: langgenius/openrouter/openrouter
|
||
prompt_template:
|
||
- id: c5d3c09c-d33c-430a-a8f3-663627411364
|
||
role: system
|
||
text: "你是话术分析专家,用户是一家轻医美连锁品牌的员工,用户提交的是用户自己与顾客的对话记录,你做分析与评分。并严格按照以下格式输出。并根据课程列表,为该用户提供选课建议。\n\
|
||
\n输出标准:\n{\n \"analysis\": {\n \"total_score\": 82,\n \"ability_dimensions\"\
|
||
: [\n {\n \"name\": \"专业知识\",\n \"score\": 88,\n \
|
||
\ \"feedback\": \"产品知识扎实,能准确回答客户问题。建议:继续深化对新产品的了解。\"\n },\n\
|
||
\ {\n \"name\": \"沟通技巧\",\n \"score\": 92,\n \
|
||
\ \"feedback\": \"语言表达清晰流畅,善于倾听客户需求。建议:可以多使用开放式问题引导。\"\n },\n \
|
||
\ {\n \"name\": \"操作技能\",\n \"score\": 85,\n \"\
|
||
feedback\": \"基本操作熟练,流程规范。建议:提升复杂场景的应对速度。\"\n },\n {\n \
|
||
\ \"name\": \"客户服务\",\n \"score\": 90,\n \"feedback\"\
|
||
: \"服务态度优秀,客户体验良好。建议:进一步提升个性化服务能力。\"\n },\n {\n \"name\"\
|
||
: \"安全意识\",\n \"score\": 79,\n \"feedback\": \"基本安全规范掌握,但在细节提醒上还可加强。\"\
|
||
\n },\n {\n \"name\": \"应变能力\",\n \"score\": 76,\n\
|
||
\ \"feedback\": \"面对突发情况反应较快,但处理方式可以更灵活多样。\"\n }\n ],\n\
|
||
\ \"course_recommendations\": [\n {\n \"course_id\": 5,\n\
|
||
\ \"course_name\": \"应变能力提升训练营\",\n \"recommendation_reason\"\
|
||
: \"该课程专注于提升应变能力,包含大量实战案例分析和模拟演练,针对您当前的薄弱环节(应变能力76分)设计。通过学习可提升15分左右。\"\
|
||
,\n \"priority\": \"high\",\n \"match_score\": 95\n \
|
||
\ },\n {\n \"course_id\": 3,\n \"course_name\": \"\
|
||
安全规范与操作标准\",\n \"recommendation_reason\": \"系统讲解安全规范和操作标准,通过案例教学帮助建立安全意识。当前您的安全意识得分为79分,通过本课程学习预计可提升12分。\"\
|
||
,\n \"priority\": \"high\",\n \"match_score\": 88\n \
|
||
\ },\n {\n \"course_id\": 7,\n \"course_name\": \"\
|
||
高级销售技巧\",\n \"recommendation_reason\": \"进阶课程,帮助您将已有的沟通优势(92分)转化为更高级的销售技能,进一步巩固客户服务能力(90分)。\"\
|
||
,\n \"priority\": \"medium\",\n \"match_score\": 82\n \
|
||
\ }\n ]\n }\n}"
|
||
- id: 2da57109-d891-46a6-8094-6f6ff63f8e5b
|
||
role: user
|
||
text: '对话记录:{{#1759259735113.dialogue_history#}}
|
||
|
||
---
|
||
|
||
用户的信息和岗位:{{#1766637451330.text#}}
|
||
|
||
---
|
||
|
||
所有可选课程:{{#1766637451330.text#}}'
|
||
selected: false
|
||
title: LLM
|
||
type: llm
|
||
vision:
|
||
enabled: false
|
||
height: 88
|
||
id: '1759345165645'
|
||
position:
|
||
x: 1363.5028016995486
|
||
y: 288.04877731559196
|
||
positionAbsolute:
|
||
x: 1363.5028016995486
|
||
y: 288.04877731559196
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 242
|
||
- data:
|
||
is_team_authorization: true
|
||
paramSchemas:
|
||
- auto_generate: null
|
||
default: null
|
||
form: llm
|
||
human_description:
|
||
en_US: ''
|
||
ja_JP: ''
|
||
pt_BR: ''
|
||
zh_Hans: ''
|
||
label:
|
||
en_US: SQL 语句
|
||
ja_JP: SQL 语句
|
||
pt_BR: SQL 语句
|
||
zh_Hans: SQL 语句
|
||
llm_description: ''
|
||
max: null
|
||
min: null
|
||
name: sql
|
||
options: []
|
||
placeholder:
|
||
en_US: ''
|
||
ja_JP: ''
|
||
pt_BR: ''
|
||
zh_Hans: ''
|
||
precision: null
|
||
required: true
|
||
scope: null
|
||
template: null
|
||
type: string
|
||
params:
|
||
sql: ''
|
||
plugin_id: null
|
||
plugin_unique_identifier: null
|
||
provider_icon:
|
||
background: '#FFEAD5'
|
||
content: 🤖
|
||
provider_id: 2e7e915c-606c-4230-b4bd-ff95efb72f39
|
||
provider_name: 恩喜-00-SQL 执行器-考陪练专用
|
||
provider_type: workflow
|
||
selected: true
|
||
title: 恩喜-00-获取用户信息
|
||
tool_configurations: {}
|
||
tool_description: 考陪练系统专用的 sql 执行器
|
||
tool_label: 恩喜-00-SQL 执行器-考陪练专用
|
||
tool_name: SQL_executor_enxi
|
||
tool_node_version: '2'
|
||
tool_parameters:
|
||
sql:
|
||
type: mixed
|
||
value: SELECT p.id as position_id, p.name as position_name, p.code, p.description,
|
||
p.skills, p.level, p.status FROM positions p INNER JOIN position_members
|
||
pm ON p.id = pm.position_id WHERE pm.user_id = {{#1759259735113.user_id#}}
|
||
AND pm.is_deleted = 0 AND p.is_deleted = 0
|
||
type: tool
|
||
height: 52
|
||
id: '1766637417515'
|
||
position:
|
||
x: 587
|
||
y: 448
|
||
positionAbsolute:
|
||
x: 587
|
||
y: 448
|
||
selected: true
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 242
|
||
- data:
|
||
is_team_authorization: true
|
||
paramSchemas:
|
||
- auto_generate: null
|
||
default: null
|
||
form: llm
|
||
human_description:
|
||
en_US: ''
|
||
ja_JP: ''
|
||
pt_BR: ''
|
||
zh_Hans: ''
|
||
label:
|
||
en_US: SQL 语句
|
||
ja_JP: SQL 语句
|
||
pt_BR: SQL 语句
|
||
zh_Hans: SQL 语句
|
||
llm_description: ''
|
||
max: null
|
||
min: null
|
||
name: sql
|
||
options: []
|
||
placeholder:
|
||
en_US: ''
|
||
ja_JP: ''
|
||
pt_BR: ''
|
||
zh_Hans: ''
|
||
precision: null
|
||
required: true
|
||
scope: null
|
||
template: null
|
||
type: string
|
||
params:
|
||
sql: ''
|
||
plugin_id: null
|
||
plugin_unique_identifier: null
|
||
provider_icon:
|
||
background: '#FFEAD5'
|
||
content: 🤖
|
||
provider_id: 2e7e915c-606c-4230-b4bd-ff95efb72f39
|
||
provider_name: 恩喜-00-SQL 执行器-考陪练专用
|
||
provider_type: workflow
|
||
selected: false
|
||
title: 恩喜-00-获取所有课程
|
||
tool_configurations: {}
|
||
tool_description: 考陪练系统专用的 sql 执行器
|
||
tool_label: 恩喜-00-SQL 执行器-考陪练专用
|
||
tool_name: SQL_executor_enxi
|
||
tool_node_version: '2'
|
||
tool_parameters:
|
||
sql:
|
||
type: mixed
|
||
value: SELECT id, name, description, category, tags, difficulty_level,
|
||
duration_hours FROM courses WHERE status = 'published' AND is_deleted
|
||
= FALSE ORDER BY sort_order
|
||
type: tool
|
||
height: 52
|
||
id: '1766637451330'
|
||
position:
|
||
x: 889
|
||
y: 448
|
||
positionAbsolute:
|
||
x: 889
|
||
y: 448
|
||
selected: false
|
||
sourcePosition: right
|
||
targetPosition: left
|
||
type: custom
|
||
width: 242
|
||
viewport:
|
||
x: -85.25185611291681
|
||
y: 136.04491275815266
|
||
zoom: 0.488825051752638
|
||
rag_pipeline_variables: []
|