瞎说新语v2
人间不值得,请听我瞎说 : 你瞎问,我瞎说 By i-jiaqi.li@outlook.com v2版本,可用
工作流图谱
YAML 源码
app:
description: '人间不值得,请听我瞎说 : 你瞎问,我瞎说
By i-jiaqi.li@outlook.com
v2版本,可用'
icon: 🤖
icon_background: '#FFEAD5'
mode: advanced-chat
name: 瞎说新语v2
use_icon_as_answer_icon: false
kind: app
version: 0.1.5
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_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: false
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
sourceType: llm
targetType: code
id: llm-source-1732361957157-target
selected: false
source: llm
sourceHandle: source
target: '1732361957157'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
sourceType: code
targetType: template-transform
id: 1732361957157-source-1732362131496-target
selected: false
source: '1732361957157'
sourceHandle: source
target: '1732362131496'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
sourceType: template-transform
targetType: code
id: 1732362131496-source-1732362013203-target
selected: false
source: '1732362131496'
sourceHandle: source
target: '1732362013203'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
sourceType: code
targetType: answer
id: 1732362013203-source-answer-target
selected: false
source: '1732362013203'
sourceHandle: source
target: answer
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
sourceType: start
targetType: llm
id: 1732361572986-source-1732362896572-target
selected: false
source: '1732361572986'
sourceHandle: source
target: '1732362896572'
targetHandle: target
type: custom
zIndex: 0
- data:
isInIteration: false
sourceType: llm
targetType: llm
id: 1732362896572-source-llm-target
selected: false
source: '1732362896572'
sourceHandle: source
target: llm
targetHandle: target
type: custom
zIndex: 0
nodes:
- data:
desc: ''
selected: false
title: 开始
type: start
variables: []
height: 53
id: '1732361572986'
position:
x: 80
y: 282
positionAbsolute:
x: 80
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
context:
enabled: true
variable_selector:
- sys
- query
desc: ''
memory:
role_prefix:
assistant: ''
user: ''
window:
enabled: false
size: 10
model:
completion_params:
temperature: 0.7
mode: chat
name: gpt4o
provider: azure_openai
prompt_template:
- id: 171f37cf-a487-4486-b7a0-a51cb68f184c
role: system
text: '```xml
<instruction>
你是一个佛教禅师,
给你topic:{{#sys.query#}},你需要生成一个20字内的有哲理的解释。
你需要不落俗套,即使给你的topic和例子完全一致,你也不应该回复一样的内容。
步骤:
1. 阅读输入的topic。
2. 根据topic,思考一个有哲理的解释。
3. 确保解释不超过20个字。
4. 确保解释有禅意,并且不落俗套。
5. 输出解释,不包含任何XML标签。
例如:
<example>
topic:中国股市
output:一个赌场,散户们总以为自己是庄家,实际上连筹码都不是
topic:中年危机
output:上有老,下有小,中间夹着一个,被生活反复锤打的自己。
</example>
</instruction>
<input>
{{topic}}
</input>
<output>
有哲理的解释,不超过20字,有禅意,不落俗套。
</output>
```'
selected: false
title: 生成禅意解释
type: llm
variables: []
vision:
enabled: false
height: 97
id: llm
position:
x: 382
y: 282
positionAbsolute:
x: 382
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
answer: '别着急,再等会,我正在努力瞎编中,你倒数 10 下就好了·····

搞定了,要不考虑一下分享到朋友圈?👭
**小提示:点击图片后长按,即可下载或者分享哦。**'
desc: ''
selected: false
title: 直接回复
type: answer
variables: []
height: 201
id: answer
position:
x: 1690
y: 282
positionAbsolute:
x: 1690
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "import re\n\ndef split_to_tspan(text):\n # 按标点符号分割句子\n sentences\
\ = re.split(r'(,|。|!|?|;|:)', text)\n # 去掉空字符串和重组句子\n lines = [''.join(sentences[i:i+2]).strip()\
\ for i in range(0, len(sentences), 2) if sentences[i].strip()]\n \n\
\ # 构造 <tspan> 标签\n tspan_lines = []\n for i, line in enumerate(lines):\n\
\ if i == 0:\n tspan_lines.append(f'<tspan x=\"50%\" dy=\"\
0\">{line}</tspan>')\n else:\n tspan_lines.append(f'<tspan\
\ x=\"50%\" dy=\"1.2em\">{line}</tspan>')\n return '\\n '.join(tspan_lines)\n\
\ndef main(text: str) -> dict:\n return {\n \"result\": split_to_tspan(text),\n\
\ }\n"
code_language: python3
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: 分段填写
type: code
variables:
- value_selector:
- llm
- text
variable: text
height: 53
id: '1732361957157'
position:
x: 686
y: 282
positionAbsolute:
x: 686
y: 282
selected: true
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
code: "import base64\n\ndef main(svg_string: str) -> dict:\n # 将SVG编码为Base64格式\n\
\ encoded_svg = base64.b64encode(svg_string.encode('utf-8')).decode('utf-8')\n\
\n # 构建data URI\n data_uri = f\"data:image/svg+xml;base64,{encoded_svg}\"\
\n return {\n \"result\": data_uri,\n }\n"
code_language: python3
desc: ''
outputs:
result:
children: null
type: string
selected: false
title: SVG转换为Base64编码图片
type: code
variables:
- value_selector:
- '1732362131496'
- output
variable: svg_string
height: 53
id: '1732362013203'
position:
x: 1313
y: 282
positionAbsolute:
x: 1313
y: 282
selected: false
sourcePosition: right
targetPosition: left
type: custom
width: 243
- data:
desc: ''
selected: false
template: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n\
<svg width=\"800\" height=\"1732\" xmlns=\"http://www.w3.org/2000/svg\"\
\ viewBox=\"0 0 400 866\" style=\"background-color: #f9f9f9;\">\r\n <!--\
\ 标题 -->\r\n <text x=\"50%\" y=\"10%\" text-anchor=\"middle\" font-size=\"\
32\" font-family=\"Serif\" font-weight=\"bold\" fill=\"#000\">\r\n {{topic}}\r\
\n </text>\r\n \r\n <!-- 横线 -->\r\n <line x1=\"10%\" x2=\"90%\" y1=\"\
15%\" y2=\"15%\" stroke=\"#aaa\" stroke-width=\"1\" />\r\n \r\n <!-- 副标题\
\ -->\r\n <text x=\"50%\" y=\"20%\" text-anchor=\"middle\" font-size=\"\
16\" font-family=\"Arial\" fill=\"#555\">\r\n {{text}}\r\n </text>\r\
\n \r\n <!-- 描述文字 -->\r\n <text x=\"50%\" y=\"35%\" text-anchor=\"middle\"\
\ font-size=\"18\" font-family=\"Serif\" font-style=\"italic\" fill=\"#000\"\
>\r\n {{result}}\r\n </text>\r\n\r\n <!-- 波浪曲线 -->\r\n <path d=\"\
M 30 400 Q 110 300 190 400 T 350 400\" fill=\"none\" stroke=\"red\" stroke-width=\"\
2\" />\r\n\r\n <!-- 点 -->\r\n <circle cx=\"80\" cy=\"350\" r=\"5\" fill=\"\
#555\" />\r\n <circle cx=\"160\" cy=\"400\" r=\"5\" fill=\"#555\" />\r\n\
\ <circle cx=\"240\" cy=\"350\" r=\"5\" fill=\"#555\" />\r\n\r\n <!--\
\ 方块 -->\r\n <rect x=\"310\" y=\"380\" width=\"20\" height=\"20\" fill=\"\
#000\" />\r\n\r\n \r\n <!-- 图标占位符 -->\r\n <!--<g transform=\"translate(50,\
\ 500)\">\r\n <rect x=\"0\" y=\"0\" width=\"40\" height=\"40\" fill=\"\
#ddd\" />\r\n <rect x=\"50\" y=\"0\" width=\"40\" height=\"40\" fill=\"\
#ddd\" />\r\n <rect x=\"100\" y=\"0\" width=\"40\" height=\"40\" fill=\"\
#ddd\" />\r\n <rect x=\"150\" y=\"0\" width=\"40\" height=\"40\" fill=\"\
#ddd\" />\r\n <rect x...(过长已截断)