You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

customer_review_analysis.json 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. {
  2. "id": 11,
  3. "title": "Customer Review Analysis",
  4. "description": "Automatically classify customer reviews using LLM (Large Language Model) and route them via email to the relevant departments.",
  5. "canvas_type": "Customer Support",
  6. "dsl": {
  7. "components": {
  8. "Categorize:FourTeamsFold": {
  9. "downstream": [
  10. "Email:SharpDeerExist",
  11. "Email:ChillyBusesDraw"
  12. ],
  13. "obj": {
  14. "component_name": "Categorize",
  15. "params": {
  16. "category_description": {
  17. "After-sales issues": {
  18. "description": "The negative review is about after-sales issues.",
  19. "examples": [
  20. "1. The product easily broke down.\n2. I need to change a new one.\n3. It is not the type I ordered."
  21. ],
  22. "to": [
  23. "Email:SharpDeerExist"
  24. ]
  25. },
  26. "Transportation issue": {
  27. "description": "The negative review is about transportation issue.",
  28. "examples": [
  29. "1. The transportation is delayed too much.\n2. I can't find where is my order now."
  30. ],
  31. "to": [
  32. "Email:ChillyBusesDraw"
  33. ]
  34. }
  35. },
  36. "llm_id": "deepseek-chat@DeepSeek",
  37. "message_history_window_size": 1,
  38. "outputs": {
  39. "category_name": {
  40. "type": "string"
  41. }
  42. },
  43. "query": "sys.query",
  44. "temperature": 0
  45. }
  46. },
  47. "upstream": [
  48. "Categorize:RottenWallsObey"
  49. ]
  50. },
  51. "Categorize:RottenWallsObey": {
  52. "downstream": [
  53. "Categorize:FourTeamsFold",
  54. "Email:WickedSymbolsLeave"
  55. ],
  56. "obj": {
  57. "component_name": "Categorize",
  58. "params": {
  59. "category_description": {
  60. "Negative review ": {
  61. "description": "Negative review to the product.",
  62. "examples": [
  63. "1. I have issues. \n2. Too many problems.\n3. I don't like it."
  64. ],
  65. "to": [
  66. "Categorize:FourTeamsFold"
  67. ]
  68. },
  69. "Positive review": {
  70. "description": "Positive review to the product.",
  71. "examples": [
  72. "1. Good, I like it.\n2. It is very helpful.\n3. It makes my work easier."
  73. ],
  74. "to": [
  75. "Email:WickedSymbolsLeave"
  76. ]
  77. }
  78. },
  79. "llm_filter": "all",
  80. "llm_id": "deepseek-chat@DeepSeek",
  81. "message_history_window_size": 1,
  82. "outputs": {
  83. "category_name": {
  84. "type": "string"
  85. }
  86. },
  87. "query": "sys.query"
  88. }
  89. },
  90. "upstream": [
  91. "begin"
  92. ]
  93. },
  94. "Email:ChillyBusesDraw": {
  95. "downstream": [
  96. "StringTransform:FuzzySpiesTrain"
  97. ],
  98. "obj": {
  99. "component_name": "Email",
  100. "params": {
  101. "cc_email": "",
  102. "content": "{begin@1}",
  103. "email": "",
  104. "outputs": {
  105. "success": {
  106. "type": "boolean",
  107. "value": true
  108. }
  109. },
  110. "password": "",
  111. "sender_name": "",
  112. "smtp_port": 465,
  113. "smtp_server": "",
  114. "subject": "",
  115. "to_email": ""
  116. }
  117. },
  118. "upstream": [
  119. "Categorize:FourTeamsFold"
  120. ]
  121. },
  122. "Email:SharpDeerExist": {
  123. "downstream": [
  124. "StringTransform:FuzzySpiesTrain"
  125. ],
  126. "obj": {
  127. "component_name": "Email",
  128. "params": {
  129. "cc_email": "",
  130. "content": "{begin@1}",
  131. "email": "",
  132. "outputs": {
  133. "success": {
  134. "type": "boolean",
  135. "value": true
  136. }
  137. },
  138. "password": "",
  139. "sender_name": "",
  140. "smtp_port": 465,
  141. "smtp_server": "",
  142. "subject": "",
  143. "to_email": ""
  144. }
  145. },
  146. "upstream": [
  147. "Categorize:FourTeamsFold"
  148. ]
  149. },
  150. "Email:WickedSymbolsLeave": {
  151. "downstream": [
  152. "StringTransform:FuzzySpiesTrain"
  153. ],
  154. "obj": {
  155. "component_name": "Email",
  156. "params": {
  157. "cc_email": "",
  158. "content": "{begin@1}",
  159. "email": "",
  160. "outputs": {
  161. "success": {
  162. "type": "boolean",
  163. "value": true
  164. }
  165. },
  166. "password": "",
  167. "sender_name": "",
  168. "smtp_port": 465,
  169. "smtp_server": "",
  170. "subject": "",
  171. "to_email": ""
  172. }
  173. },
  174. "upstream": [
  175. "Categorize:RottenWallsObey"
  176. ]
  177. },
  178. "Message:ShaggyAnimalsWin": {
  179. "downstream": [],
  180. "obj": {
  181. "component_name": "Message",
  182. "params": {
  183. "content": [
  184. "{StringTransform:FuzzySpiesTrain@result}"
  185. ]
  186. }
  187. },
  188. "upstream": [
  189. "StringTransform:FuzzySpiesTrain"
  190. ]
  191. },
  192. "StringTransform:FuzzySpiesTrain": {
  193. "downstream": [
  194. "Message:ShaggyAnimalsWin"
  195. ],
  196. "obj": {
  197. "component_name": "StringTransform",
  198. "params": {
  199. "delimiters": [
  200. ","
  201. ],
  202. "method": "merge",
  203. "outputs": {
  204. "result": {
  205. "type": "string"
  206. }
  207. },
  208. "script": "{Email:WickedSymbolsLeave@success}{Email:SharpDeerExist@success}{Email:ChillyBusesDraw@success}",
  209. "split_ref": ""
  210. }
  211. },
  212. "upstream": [
  213. "Email:WickedSymbolsLeave",
  214. "Email:SharpDeerExist",
  215. "Email:ChillyBusesDraw"
  216. ]
  217. },
  218. "begin": {
  219. "downstream": [
  220. "Categorize:RottenWallsObey"
  221. ],
  222. "obj": {
  223. "component_name": "Begin",
  224. "params": {
  225. "enablePrologue": true,
  226. "inputs": {
  227. "1": {
  228. "key": "1",
  229. "name": "review",
  230. "optional": false,
  231. "options": [],
  232. "type": "line",
  233. "value": "test"
  234. }
  235. },
  236. "mode": "conversational",
  237. "prologue": "Hi! I'm your customer review analysis assistant. You can send a review to me.\n"
  238. }
  239. },
  240. "upstream": []
  241. }
  242. },
  243. "globals": {
  244. "sys.conversation_turns": 0,
  245. "sys.files": [],
  246. "sys.query": "",
  247. "sys.user_id": ""
  248. },
  249. "graph": {
  250. "edges": [
  251. {
  252. "data": {
  253. "isHovered": false
  254. },
  255. "id": "xy-edge__beginstart-Categorize:RottenWallsObeyend",
  256. "source": "begin",
  257. "sourceHandle": "start",
  258. "target": "Categorize:RottenWallsObey",
  259. "targetHandle": "end"
  260. },
  261. {
  262. "data": {
  263. "isHovered": false
  264. },
  265. "id": "xy-edge__Categorize:RottenWallsObeyc8aacd5d-eb40-45a2-bc8f-94d016d7f6c0-Categorize:FourTeamsFoldend",
  266. "source": "Categorize:RottenWallsObey",
  267. "sourceHandle": "c8aacd5d-eb40-45a2-bc8f-94d016d7f6c0",
  268. "target": "Categorize:FourTeamsFold",
  269. "targetHandle": "end"
  270. },
  271. {
  272. "data": {
  273. "isHovered": false
  274. },
  275. "id": "xy-edge__Categorize:RottenWallsObey16f0d215-18b8-400e-98f2-f3e30aa28ff9-Email:WickedSymbolsLeaveend",
  276. "source": "Categorize:RottenWallsObey",
  277. "sourceHandle": "16f0d215-18b8-400e-98f2-f3e30aa28ff9",
  278. "target": "Email:WickedSymbolsLeave",
  279. "targetHandle": "end"
  280. },
  281. {
  282. "data": {
  283. "isHovered": false
  284. },
  285. "id": "xy-edge__Categorize:FourTeamsFolda1f3068c-85d8-4cfa-aa86-ef1f71d2edce-Email:SharpDeerExistend",
  286. "source": "Categorize:FourTeamsFold",
  287. "sourceHandle": "a1f3068c-85d8-4cfa-aa86-ef1f71d2edce",
  288. "target": "Email:SharpDeerExist",
  289. "targetHandle": "end"
  290. },
  291. {
  292. "data": {
  293. "isHovered": false
  294. },
  295. "id": "xy-edge__Categorize:FourTeamsFold2fda442d-8580-440c-a947-0df607ca56fe-Email:ChillyBusesDrawend",
  296. "source": "Categorize:FourTeamsFold",
  297. "sourceHandle": "2fda442d-8580-440c-a947-0df607ca56fe",
  298. "target": "Email:ChillyBusesDraw",
  299. "targetHandle": "end"
  300. },
  301. {
  302. "data": {
  303. "isHovered": false
  304. },
  305. "id": "xy-edge__Email:WickedSymbolsLeavestart-StringTransform:FuzzySpiesTrainend",
  306. "source": "Email:WickedSymbolsLeave",
  307. "sourceHandle": "start",
  308. "target": "StringTransform:FuzzySpiesTrain",
  309. "targetHandle": "end"
  310. },
  311. {
  312. "data": {
  313. "isHovered": false
  314. },
  315. "id": "xy-edge__Email:SharpDeerExiststart-StringTransform:FuzzySpiesTrainend",
  316. "markerEnd": "logo",
  317. "source": "Email:SharpDeerExist",
  318. "sourceHandle": "start",
  319. "style": {
  320. "stroke": "rgba(91, 93, 106, 1)",
  321. "strokeWidth": 1
  322. },
  323. "target": "StringTransform:FuzzySpiesTrain",
  324. "targetHandle": "end",
  325. "type": "buttonEdge",
  326. "zIndex": 1001
  327. },
  328. {
  329. "data": {
  330. "isHovered": false
  331. },
  332. "id": "xy-edge__Email:ChillyBusesDrawstart-StringTransform:FuzzySpiesTrainend",
  333. "markerEnd": "logo",
  334. "source": "Email:ChillyBusesDraw",
  335. "sourceHandle": "start",
  336. "style": {
  337. "stroke": "rgba(91, 93, 106, 1)",
  338. "strokeWidth": 1
  339. },
  340. "target": "StringTransform:FuzzySpiesTrain",
  341. "targetHandle": "end",
  342. "type": "buttonEdge",
  343. "zIndex": 1001
  344. },
  345. {
  346. "data": {
  347. "isHovered": false
  348. },
  349. "id": "xy-edge__StringTransform:FuzzySpiesTrainstart-Message:ShaggyAnimalsWinend",
  350. "source": "StringTransform:FuzzySpiesTrain",
  351. "sourceHandle": "start",
  352. "target": "Message:ShaggyAnimalsWin",
  353. "targetHandle": "end"
  354. }
  355. ],
  356. "nodes": [
  357. {
  358. "data": {
  359. "form": {
  360. "enablePrologue": true,
  361. "inputs": {
  362. "1": {
  363. "key": "1",
  364. "name": "review",
  365. "optional": false,
  366. "options": [],
  367. "type": "line",
  368. "value": ""
  369. }
  370. },
  371. "mode": "conversational",
  372. "prologue": "Hi! I'm your customer review analysis assistant. You can send a review to me.\n"
  373. },
  374. "label": "Begin",
  375. "name": "begin"
  376. },
  377. "dragging": false,
  378. "id": "begin",
  379. "measured": {
  380. "height": 76,
  381. "width": 200
  382. },
  383. "position": {
  384. "x": 53.79637618636758,
  385. "y": 55.73770491803276
  386. },
  387. "selected": false,
  388. "sourcePosition": "left",
  389. "targetPosition": "right",
  390. "type": "beginNode"
  391. },
  392. {
  393. "data": {
  394. "form": {
  395. "frequencyPenaltyEnabled": false,
  396. "frequency_penalty": 0.5,
  397. "items": [
  398. {
  399. "description": "Positive review to the product.",
  400. "examples": [
  401. {
  402. "value": "1. Good, I like it.\n2. It is very helpful.\n3. It makes my work easier."
  403. }
  404. ],
  405. "name": "Positive review",
  406. "uuid": "16f0d215-18b8-400e-98f2-f3e30aa28ff9"
  407. },
  408. {
  409. "description": "Negative review to the product.",
  410. "examples": [
  411. {
  412. "value": "1. I have issues. \n2. Too many problems.\n3. I don't like it."
  413. }
  414. ],
  415. "name": "Negative review ",
  416. "uuid": "c8aacd5d-eb40-45a2-bc8f-94d016d7f6c0"
  417. }
  418. ],
  419. "llm_filter": "all",
  420. "llm_id": "deepseek-chat@DeepSeek",
  421. "maxTokensEnabled": false,
  422. "max_tokens": 4096,
  423. "message_history_window_size": 1,
  424. "outputs": {
  425. "category_name": {
  426. "type": "string"
  427. }
  428. },
  429. "parameter": "Precise",
  430. "presencePenaltyEnabled": false,
  431. "presence_penalty": 0.5,
  432. "query": "sys.query",
  433. "temperature": 0.2,
  434. "temperatureEnabled": false,
  435. "topPEnabled": false,
  436. "top_p": 0.75
  437. },
  438. "label": "Categorize",
  439. "name": "Review categorize"
  440. },
  441. "dragging": false,
  442. "id": "Categorize:RottenWallsObey",
  443. "measured": {
  444. "height": 140,
  445. "width": 200
  446. },
  447. "position": {
  448. "x": 374.0221988829014,
  449. "y": 37.350593375729275
  450. },
  451. "selected": false,
  452. "sourcePosition": "right",
  453. "targetPosition": "left",
  454. "type": "categorizeNode"
  455. },
  456. {
  457. "data": {
  458. "form": {
  459. "frequencyPenaltyEnabled": false,
  460. "frequency_penalty": 0.7,
  461. "items": [
  462. {
  463. "description": "The negative review is about after-sales issues.",
  464. "examples": [
  465. {
  466. "value": "1. The product easily broke down.\n2. I need to change a new one.\n3. It is not the type I ordered."
  467. }
  468. ],
  469. "name": "After-sales issues",
  470. "uuid": "a1f3068c-85d8-4cfa-aa86-ef1f71d2edce"
  471. },
  472. {
  473. "description": "The negative review is about transportation issue.",
  474. "examples": [
  475. {
  476. "value": "1. The transportation is delayed too much.\n2. I can't find where is my order now."
  477. }
  478. ],
  479. "name": "Transportation issue",
  480. "uuid": "2fda442d-8580-440c-a947-0df607ca56fe"
  481. }
  482. ],
  483. "llm_id": "deepseek-chat@DeepSeek",
  484. "maxTokensEnabled": false,
  485. "max_tokens": 256,
  486. "message_history_window_size": 1,
  487. "outputs": {
  488. "category_name": {
  489. "type": "string"
  490. }
  491. },
  492. "parameter": "Precise",
  493. "presencePenaltyEnabled": false,
  494. "presence_penalty": 0.4,
  495. "query": "sys.query",
  496. "temperature": 0,
  497. "temperatureEnabled": true,
  498. "topPEnabled": false,
  499. "top_p": 0.3
  500. },
  501. "label": "Categorize",
  502. "name": "Negative review categorize"
  503. },
  504. "dragging": false,
  505. "id": "Categorize:FourTeamsFold",
  506. "measured": {
  507. "height": 140,
  508. "width": 200
  509. },
  510. "position": {
  511. "x": 706.0637059431883,
  512. "y": 244.46649585736282
  513. },
  514. "selected": false,
  515. "sourcePosition": "right",
  516. "targetPosition": "left",
  517. "type": "categorizeNode"
  518. },
  519. {
  520. "data": {
  521. "form": {
  522. "cc_email": "",
  523. "content": "{begin@1}",
  524. "email": "",
  525. "outputs": {
  526. "success": {
  527. "type": "boolean",
  528. "value": true
  529. }
  530. },
  531. "password": "",
  532. "sender_name": "",
  533. "smtp_port": 465,
  534. "smtp_server": "",
  535. "subject": "",
  536. "to_email": ""
  537. },
  538. "label": "Email",
  539. "name": "Email: positive "
  540. },
  541. "dragging": false,
  542. "id": "Email:WickedSymbolsLeave",
  543. "measured": {
  544. "height": 56,
  545. "width": 200
  546. },
  547. "position": {
  548. "x": 1034.9790998533604,
  549. "y": -253.19781265954452
  550. },
  551. "selected": false,
  552. "sourcePosition": "right",
  553. "targetPosition": "left",
  554. "type": "ragNode"
  555. },
  556. {
  557. "data": {
  558. "form": {
  559. "cc_email": "",
  560. "content": "{begin@1}",
  561. "email": "",
  562. "outputs": {
  563. "success": {
  564. "type": "boolean",
  565. "value": true
  566. }
  567. },
  568. "password": "",
  569. "sender_name": "",
  570. "smtp_port": 465,
  571. "smtp_server": "",
  572. "subject": "",
  573. "to_email": ""
  574. },
  575. "label": "Email",
  576. "name": "Email: after-sales"
  577. },
  578. "dragging": false,
  579. "id": "Email:SharpDeerExist",
  580. "measured": {
  581. "height": 56,
  582. "width": 200
  583. },
  584. "position": {
  585. "x": 1109.6114876248466,
  586. "y": 111.37592732297131
  587. },
  588. "selected": false,
  589. "sourcePosition": "right",
  590. "targetPosition": "left",
  591. "type": "ragNode"
  592. },
  593. {
  594. "data": {
  595. "form": {
  596. "cc_email": "",
  597. "content": "{begin@1}",
  598. "email": "",
  599. "outputs": {
  600. "success": {
  601. "type": "boolean",
  602. "value": true
  603. }
  604. },
  605. "password": "",
  606. "sender_name": "",
  607. "smtp_port": 465,
  608. "smtp_server": "",
  609. "subject": "",
  610. "to_email": ""
  611. },
  612. "label": "Email",
  613. "name": "Email: transportation"
  614. },
  615. "dragging": false,
  616. "id": "Email:ChillyBusesDraw",
  617. "measured": {
  618. "height": 56,
  619. "width": 200
  620. },
  621. "position": {
  622. "x": 1115.6114876248466,
  623. "y": 476.4689932718253
  624. },
  625. "selected": false,
  626. "sourcePosition": "right",
  627. "targetPosition": "left",
  628. "type": "ragNode"
  629. },
  630. {
  631. "data": {
  632. "form": {
  633. "delimiters": [
  634. ","
  635. ],
  636. "method": "merge",
  637. "outputs": {
  638. "result": {
  639. "type": "string"
  640. }
  641. },
  642. "script": "{Email:WickedSymbolsLeave@success}{Email:SharpDeerExist@success}{Email:ChillyBusesDraw@success}",
  643. "split_ref": ""
  644. },
  645. "label": "StringTransform",
  646. "name": "Merge results"
  647. },
  648. "dragging": false,
  649. "id": "StringTransform:FuzzySpiesTrain",
  650. "measured": {
  651. "height": 56,
  652. "width": 200
  653. },
  654. "position": {
  655. "x": 1696.9790998533604,
  656. "y": 112.80218734045546
  657. },
  658. "selected": false,
  659. "sourcePosition": "right",
  660. "targetPosition": "left",
  661. "type": "ragNode"
  662. },
  663. {
  664. "data": {
  665. "form": {
  666. "content": [
  667. "{StringTransform:FuzzySpiesTrain@result}"
  668. ]
  669. },
  670. "label": "Message",
  671. "name": "Message"
  672. },
  673. "dragging": false,
  674. "id": "Message:ShaggyAnimalsWin",
  675. "measured": {
  676. "height": 56,
  677. "width": 200
  678. },
  679. "position": {
  680. "x": 1960.9013768854911,
  681. "y": 112.43528348294187
  682. },
  683. "selected": false,
  684. "sourcePosition": "right",
  685. "targetPosition": "left",
  686. "type": "messageNode"
  687. },
  688. {
  689. "data": {
  690. "form": {
  691. "text": "Send positive feedback to the company's brand marketing department system"
  692. },
  693. "label": "Note",
  694. "name": "Note_0"
  695. },
  696. "dragHandle": ".note-drag-handle",
  697. "dragging": false,
  698. "id": "Note:FancyTownsSing",
  699. "measured": {
  700. "height": 136,
  701. "width": 244
  702. },
  703. "position": {
  704. "x": 1010,
  705. "y": -167
  706. },
  707. "selected": false,
  708. "sourcePosition": "right",
  709. "targetPosition": "left",
  710. "type": "noteNode"
  711. },
  712. {
  713. "data": {
  714. "form": {
  715. "text": "Send after-sales issues to the product experience department"
  716. },
  717. "label": "Note",
  718. "name": "Note_1"
  719. },
  720. "dragHandle": ".note-drag-handle",
  721. "dragging": false,
  722. "id": "Note:SillyLampsDrum",
  723. "measured": {
  724. "height": 136,
  725. "width": 244
  726. },
  727. "position": {
  728. "x": 1108,
  729. "y": 195
  730. },
  731. "selected": false,
  732. "sourcePosition": "right",
  733. "targetPosition": "left",
  734. "type": "noteNode"
  735. },
  736. {
  737. "data": {
  738. "form": {
  739. "text": "Send negative transportation feedback to the transportation department"
  740. },
  741. "label": "Note",
  742. "name": "Note_2"
  743. },
  744. "dragHandle": ".note-drag-handle",
  745. "dragging": false,
  746. "id": "Note:GreenNewsMake",
  747. "measured": {
  748. "height": 136,
  749. "width": 244
  750. },
  751. "position": {
  752. "x": 1119,
  753. "y": 574
  754. },
  755. "selected": false,
  756. "sourcePosition": "right",
  757. "targetPosition": "left",
  758. "type": "noteNode"
  759. },
  760. {
  761. "data": {
  762. "form": {
  763. "text": "This workflow automatically classifies customer reviews using LLM (Large Language Model) and route them via email to the relevant departments."
  764. },
  765. "label": "Note",
  766. "name": "Workflow Overall Description"
  767. },
  768. "dragHandle": ".note-drag-handle",
  769. "dragging": false,
  770. "height": 146,
  771. "id": "Note:TangyHairsShow",
  772. "measured": {
  773. "height": 146,
  774. "width": 360
  775. },
  776. "position": {
  777. "x": 55.192937758820676,
  778. "y": 185.32156293136785
  779. },
  780. "resizing": false,
  781. "selected": false,
  782. "sourcePosition": "right",
  783. "targetPosition": "left",
  784. "type": "noteNode",
  785. "width": 360
  786. }
  787. ]
  788. },
  789. "history": [],
  790. "messages": [],
  791. "path": [],
  792. "retrieval": []
  793. },
  794. "avatar": "data:image/png;base64,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"
  795. }