darabos commited on
Commit
ecf4739
·
1 Parent(s): c542a0a

Updated LynxScribe workspace JSON.

Browse files
Files changed (1) hide show
  1. data/LynxScribe demo +340 -312
data/LynxScribe demo CHANGED
@@ -12,7 +12,6 @@
12
  "display": null,
13
  "error": null,
14
  "meta": {
15
- "name": "Input chat",
16
  "params": {
17
  "chat": {
18
  "name": "chat",
@@ -23,24 +22,25 @@
23
  }
24
  },
25
  "inputs": {},
 
26
  "outputs": {
27
  "output": {
28
  "name": "output",
 
29
  "type": {
30
  "type": "None"
31
- },
32
- "position": "right"
33
  }
34
  },
35
- "type": "basic",
36
- "sub_nodes": null
37
- }
 
38
  },
39
  "position": {
40
- "x": -383.5496596237119,
41
- "y": 27.567899191800223
42
- },
43
- "parentId": null
44
  },
45
  {
46
  "id": "View 1",
@@ -52,11 +52,60 @@
52
  "dataframes": {
53
  "df": {
54
  "columns": [
55
- "answer"
 
 
 
 
56
  ],
57
  "data": [
58
  [
59
- "The Chief Innovation Officer (CIO) of Lynx Analytics is Gabor Benedek. He is responsible for defining the methodological roadmap for the company's predictive analytics consulting and product development departments. If you need more specific information about his role, feel free to ask!\n\nPlease visit <a href='https://www.lynxanalytics.com/team-leadership' target='_blank'>https://www.lynxanalytics.com/team-leadership</a> for further information."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  ]
61
  ]
62
  }
@@ -64,27 +113,25 @@
64
  },
65
  "error": null,
66
  "meta": {
67
- "name": "View",
68
  "params": {},
 
 
 
69
  "inputs": {
70
  "input": {
 
71
  "name": "input",
72
  "type": {
73
  "type": "<class 'inspect._empty'>"
74
- },
75
- "position": "left"
76
  }
77
- },
78
- "outputs": {},
79
- "type": "table_view",
80
- "sub_nodes": null
81
  }
82
  },
83
  "position": {
84
- "x": 722.1450069267316,
85
- "y": -785.6076562320527
86
- },
87
- "parentId": null
88
  },
89
  {
90
  "id": "LLM 1",
@@ -97,35 +144,35 @@
97
  "display": null,
98
  "error": null,
99
  "meta": {
 
100
  "name": "LLM",
 
101
  "params": {
102
  "name": {
103
  "name": "name",
104
- "default": "openai",
105
  "type": {
106
  "type": "<class 'str'>"
107
- }
 
108
  }
109
  },
110
- "inputs": {},
111
  "outputs": {
112
  "output": {
113
- "name": "output",
114
  "type": {
115
  "type": "None"
116
  },
 
117
  "position": "top"
118
  }
119
- },
120
- "type": "basic",
121
- "sub_nodes": null
122
- }
123
  },
124
  "position": {
125
- "x": -312.5774211084781,
126
- "y": 1093.4019527511366
127
- },
128
- "parentId": null
129
  },
130
  {
131
  "id": "Scenario selector 1",
@@ -133,48 +180,48 @@
133
  "data": {
134
  "title": "Scenario selector",
135
  "params": {
136
- "scenario_file": "/home/darabos/nvme/lynxscribe/examples/chat_api/scenarios.yaml",
137
- "node_types": "intent_cluster"
138
  },
139
  "display": null,
140
  "error": null,
141
  "meta": {
 
 
 
 
 
 
 
 
 
 
142
  "name": "Scenario selector",
143
  "params": {
144
- "scenario_file": {
145
- "name": "scenario_file",
146
- "default": null,
147
  "type": {
148
  "type": "<class 'str'>"
149
- }
150
- },
151
- "node_types": {
152
- "name": "node_types",
153
  "default": "intent_cluster",
 
 
 
 
 
154
  "type": {
155
  "type": "<class 'str'>"
156
  }
157
  }
158
  },
159
- "inputs": {},
160
- "outputs": {
161
- "output": {
162
- "name": "output",
163
- "type": {
164
- "type": "None"
165
- },
166
- "position": "top"
167
- }
168
- },
169
- "type": "basic",
170
- "sub_nodes": null
171
- }
172
  },
173
  "position": {
174
- "x": -549.1300345090008,
175
- "y": 1086.4852248156676
176
- },
177
- "parentId": null
178
  },
179
  {
180
  "id": "Chat API 1",
@@ -186,31 +233,32 @@
186
  },
187
  "display": null,
188
  "error": null,
 
189
  "meta": {
190
  "name": "Chat API",
191
  "params": {
192
  "model": {
193
- "name": "model",
194
  "default": "gpt-4o-mini",
195
  "type": {
196
  "type": "<class 'str'>"
197
- }
 
198
  }
199
  },
200
  "inputs": {
201
- "chatbot": {
202
- "name": "chatbot",
 
203
  "type": {
204
  "type": "<class 'inspect._empty'>"
205
- },
206
- "position": "bottom"
207
  },
208
- "chat_processor": {
209
- "name": "chat_processor",
210
  "type": {
211
  "type": "<class 'inspect._empty'>"
212
  },
213
- "position": "bottom"
214
  },
215
  "knowledge_base": {
216
  "name": "knowledge_base",
@@ -229,15 +277,14 @@
229
  "position": "top"
230
  }
231
  },
232
- "type": "basic",
233
- "sub_nodes": null
234
- }
235
  },
236
  "position": {
237
- "x": -22.866663363810787,
238
- "y": 258.20943122219336
239
- },
240
- "parentId": null
241
  },
242
  {
243
  "id": "Knowledge base 1",
@@ -246,21 +293,24 @@
246
  "title": "Knowledge base",
247
  "params": {
248
  "nodes_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/nodes.pickle",
249
- "edges_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/edges.pickle",
250
- "template_cluster_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/tempclusters.pickle"
251
  },
252
  "display": null,
253
  "error": null,
254
  "meta": {
255
- "name": "Knowledge base",
256
- "params": {
257
- "nodes_path": {
258
- "name": "nodes_path",
259
- "default": "nodes.pickle",
260
  "type": {
261
- "type": "<class 'str'>"
262
  }
263
- },
 
 
 
264
  "edges_path": {
265
  "name": "edges_path",
266
  "default": "edges.pickle",
@@ -268,33 +318,28 @@
268
  "type": "<class 'str'>"
269
  }
270
  },
 
 
 
 
 
 
 
271
  "template_cluster_path": {
272
- "name": "template_cluster_path",
273
  "default": "tempclusters.pickle",
274
  "type": {
275
  "type": "<class 'str'>"
276
- }
277
- }
278
- },
279
- "inputs": {},
280
- "outputs": {
281
- "output": {
282
- "name": "output",
283
- "type": {
284
- "type": "None"
285
  },
286
- "position": "top"
287
  }
288
  },
289
- "type": "basic",
290
- "sub_nodes": null
291
  }
292
  },
293
  "position": {
294
- "x": 382.20164582795104,
295
- "y": 533.2833307141879
296
- },
297
- "parentId": null
298
  },
299
  {
300
  "id": "RAG chatbot 1",
@@ -303,88 +348,84 @@
303
  "title": "RAG chatbot",
304
  "params": {
305
  "negative_answer": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
306
- "limits_by_type": "{\"information\": [2, 3], \"summary\": [2, 3]}",
307
  "strict_limits": true,
 
308
  "max_results": "5"
309
  },
310
  "display": null,
311
  "error": null,
312
  "meta": {
313
  "name": "RAG chatbot",
314
- "params": {
315
- "negative_answer": {
316
- "name": "negative_answer",
317
- "default": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
318
- "type": {
319
- "type": "<class 'str'>"
320
- }
321
- },
322
- "limits_by_type": {
323
- "name": "limits_by_type",
324
- "default": "{}",
325
- "type": {
326
- "type": "<class 'str'>"
327
- }
328
- },
329
- "strict_limits": {
330
- "name": "strict_limits",
331
- "default": true,
332
- "type": {
333
- "type": "<class 'bool'>"
334
- }
335
- },
336
- "max_results": {
337
- "name": "max_results",
338
- "default": 5,
339
  "type": {
340
- "type": "<class 'int'>"
341
- }
 
 
342
  }
343
  },
344
  "inputs": {
345
  "rag_graph": {
346
  "name": "rag_graph",
 
347
  "type": {
348
  "type": "<class 'inspect._empty'>"
349
- },
350
- "position": "bottom"
351
  },
352
- "scenario_selector": {
353
- "name": "scenario_selector",
 
354
  "type": {
355
  "type": "<class 'inspect._empty'>"
356
- },
357
- "position": "bottom"
358
  },
359
- "llm": {
360
- "name": "llm",
361
  "type": {
362
  "type": "<class 'inspect._empty'>"
363
  },
 
364
  "position": "bottom"
365
  }
366
  },
367
- "outputs": {
368
- "output": {
369
- "name": "output",
 
370
  "type": {
371
- "type": "None"
 
 
 
 
 
372
  },
373
- "position": "top"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
374
  }
375
  },
376
- "type": "basic",
377
- "sub_nodes": null
378
  },
379
  "beingResized": false
380
  },
381
  "position": {
382
- "x": -533.1301830766971,
383
- "y": 547.294980747757
384
- },
385
- "parentId": null,
386
- "width": 336,
387
- "height": 349
388
  },
389
  {
390
  "id": "RAG graph 1",
@@ -394,43 +435,43 @@
394
  "params": {},
395
  "display": null,
396
  "error": null,
 
 
397
  "meta": {
398
- "name": "RAG graph",
399
- "params": {},
400
  "inputs": {
401
  "vector_store": {
402
- "name": "vector_store",
403
  "type": {
404
  "type": "<class 'inspect._empty'>"
405
  },
 
406
  "position": "bottom"
407
  },
408
  "text_embedder": {
409
  "name": "text_embedder",
 
410
  "type": {
411
  "type": "<class 'inspect._empty'>"
412
- },
413
- "position": "bottom"
414
  }
415
  },
 
 
416
  "outputs": {
417
  "output": {
418
- "name": "output",
419
  "type": {
420
  "type": "None"
421
  },
422
- "position": "top"
 
423
  }
424
  },
425
- "type": "basic",
426
- "sub_nodes": null
427
  }
428
  },
429
  "position": {
430
- "x": -817.8208895639339,
431
- "y": 1014.836542916127
432
- },
433
- "parentId": null
434
  },
435
  {
436
  "id": "Vector store 1",
@@ -443,46 +484,42 @@
443
  },
444
  "display": null,
445
  "error": null,
 
446
  "meta": {
447
  "name": "Vector store",
448
  "params": {
449
  "name": {
450
- "name": "name",
451
  "default": "chromadb",
 
452
  "type": {
453
  "type": "<class 'str'>"
454
  }
455
  },
456
  "collection_name": {
457
- "name": "collection_name",
458
- "default": "lynx",
459
  "type": {
460
  "type": "<class 'str'>"
461
- }
 
 
462
  }
463
  },
464
  "inputs": {},
 
465
  "outputs": {
466
  "output": {
 
467
  "name": "output",
468
  "type": {
469
  "type": "None"
470
- },
471
- "position": "top"
472
  }
473
- },
474
- "type": "basic",
475
- "sub_nodes": null
476
- },
477
- "beingResized": false
478
  },
479
  "position": {
480
- "x": -1053.794625339574,
481
- "y": 1347.7711940497127
482
- },
483
- "parentId": null,
484
- "width": 275,
485
- "height": 227
486
  },
487
  {
488
  "id": "Text embedder 2",
@@ -494,44 +531,44 @@
494
  },
495
  "display": null,
496
  "error": null,
 
 
497
  "meta": {
498
- "name": "Text embedder",
 
 
 
 
 
 
 
 
499
  "params": {
500
  "model": {
501
- "name": "model",
502
  "default": "text-embedding-ada-002",
 
503
  "type": {
504
  "type": "<class 'str'>"
505
  }
506
  }
507
  },
508
- "inputs": {
509
- "llm": {
510
- "name": "llm",
511
- "type": {
512
- "type": "<class 'inspect._empty'>"
513
- },
514
- "position": "bottom"
515
- }
516
- },
517
  "outputs": {
518
  "output": {
 
519
  "name": "output",
520
  "type": {
521
  "type": "None"
522
- },
523
- "position": "top"
524
  }
525
- },
526
- "type": "basic",
527
- "sub_nodes": null
528
  }
529
  },
530
  "position": {
531
- "x": -749.98604638686,
532
- "y": 1293.5978526690794
533
- },
534
- "parentId": null
535
  },
536
  {
537
  "id": "LLM 2",
@@ -545,34 +582,32 @@
545
  "error": null,
546
  "meta": {
547
  "name": "LLM",
 
548
  "params": {
549
  "name": {
550
- "name": "name",
551
- "default": "openai",
552
  "type": {
553
  "type": "<class 'str'>"
554
- }
 
 
555
  }
556
  },
557
- "inputs": {},
558
  "outputs": {
559
  "output": {
 
560
  "name": "output",
561
  "type": {
562
  "type": "None"
563
- },
564
- "position": "top"
565
  }
566
  },
567
- "type": "basic",
568
- "sub_nodes": null
569
  }
570
  },
571
  "position": {
572
- "x": -714.2838040349482,
573
- "y": 1469.7242636905507
574
- },
575
- "parentId": null
576
  },
577
  {
578
  "id": "Truncate history 1",
@@ -580,40 +615,38 @@
580
  "data": {
581
  "title": "Truncate history",
582
  "params": {
583
- "max_tokens": 10000
584
  },
585
  "display": null,
586
  "error": null,
587
  "meta": {
588
- "name": "Truncate history",
589
- "params": {
590
- "max_tokens": {
591
- "name": "max_tokens",
592
- "default": 10000,
593
- "type": {
594
- "type": "<class 'int'>"
595
- }
596
- }
597
- },
598
  "inputs": {},
599
  "outputs": {
600
  "output": {
601
- "name": "output",
602
  "type": {
603
  "type": "None"
604
  },
605
- "position": "top"
 
606
  }
607
  },
608
  "type": "basic",
609
- "sub_nodes": null
 
 
 
 
 
 
 
 
 
610
  }
611
  },
612
  "position": {
613
- "x": 0.08889822620079713,
614
- "y": 1044.7639853229612
615
- },
616
- "parentId": null
617
  },
618
  {
619
  "id": "Chat processor 1",
@@ -624,8 +657,6 @@
624
  "display": null,
625
  "error": null,
626
  "meta": {
627
- "name": "Chat processor",
628
- "params": {},
629
  "inputs": {
630
  "processor": {
631
  "name": "processor",
@@ -635,6 +666,7 @@
635
  "position": "bottom"
636
  }
637
  },
 
638
  "outputs": {
639
  "output": {
640
  "name": "output",
@@ -645,14 +677,15 @@
645
  }
646
  },
647
  "type": "basic",
648
- "sub_nodes": null
649
- }
 
 
650
  },
651
  "position": {
652
- "x": 266.23062579739207,
653
- "y": 931.8796075565143
654
- },
655
- "parentId": null
656
  },
657
  {
658
  "id": "Mask 1",
@@ -661,21 +694,20 @@
661
  "title": "Mask",
662
  "params": {
663
  "name": "email",
 
664
  "regex": "([a-z0-9!#$%&'*+\\/=?^_`{|.}~-]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)",
665
666
- "mask_pattern": "masked_email_address_{}"
667
  },
668
  "display": null,
669
  "error": null,
670
  "meta": {
671
- "name": "Mask",
672
  "params": {
673
- "name": {
674
- "name": "name",
675
- "default": "",
676
  "type": {
677
  "type": "<class 'str'>"
678
- }
 
 
679
  },
680
  "regex": {
681
  "name": "regex",
@@ -684,12 +716,12 @@
684
  "type": "<class 'str'>"
685
  }
686
  },
687
- "exceptions": {
688
- "name": "exceptions",
689
- "default": "",
690
  "type": {
691
  "type": "<class 'str'>"
692
- }
 
 
693
  },
694
  "mask_pattern": {
695
  "name": "mask_pattern",
@@ -699,25 +731,24 @@
699
  }
700
  }
701
  },
 
702
  "inputs": {},
703
  "outputs": {
704
  "output": {
705
  "name": "output",
 
706
  "type": {
707
  "type": "None"
708
- },
709
- "position": "top"
710
  }
711
  },
712
- "type": "basic",
713
- "sub_nodes": null
714
  }
715
  },
716
  "position": {
717
- "x": 233.69759202223884,
718
- "y": 1041.6145468043276
719
- },
720
- "parentId": null
721
  },
722
  {
723
  "id": "Mask 2",
@@ -725,64 +756,62 @@
725
  "data": {
726
  "title": "Mask",
727
  "params": {
728
- "name": "credit_card",
729
  "regex": "((?:(?:\\\\d{4}[- ]?){3}\\\\d{4}|\\\\d{15,16}))(?![\\\\d])",
 
730
  "exceptions": "",
731
- "mask_pattern": "masked_credit_card_number_{}"
732
  },
733
  "display": null,
734
  "error": null,
735
  "meta": {
 
 
 
 
 
 
 
 
 
 
736
  "name": "Mask",
737
  "params": {
738
- "name": {
739
- "name": "name",
740
  "default": "",
741
  "type": {
742
  "type": "<class 'str'>"
743
- }
 
744
  },
745
- "regex": {
746
- "name": "regex",
747
  "default": "",
748
  "type": {
749
  "type": "<class 'str'>"
750
- }
 
751
  },
752
- "exceptions": {
753
- "name": "exceptions",
754
  "default": "",
 
755
  "type": {
756
  "type": "<class 'str'>"
757
  }
758
  },
759
- "mask_pattern": {
760
- "name": "mask_pattern",
761
- "default": "",
762
  "type": {
763
  "type": "<class 'str'>"
764
- }
765
- }
766
- },
767
- "inputs": {},
768
- "outputs": {
769
- "output": {
770
- "name": "output",
771
- "type": {
772
- "type": "None"
773
  },
774
- "position": "top"
 
775
  }
776
  },
777
- "type": "basic",
778
- "sub_nodes": null
779
  }
780
  },
781
  "position": {
782
- "x": 513.2761671440603,
783
- "y": 1034.8547191984255
784
- },
785
- "parentId": null
786
  },
787
  {
788
  "id": "Test Chat API 2",
@@ -790,56 +819,55 @@
790
  "data": {
791
  "title": "Test Chat API",
792
  "params": {
793
- "show_details": false
794
  },
795
  "display": null,
796
  "error": null,
 
797
  "meta": {
798
- "name": "Test Chat API",
 
 
 
 
 
 
 
 
799
  "params": {
800
  "show_details": {
801
- "name": "show_details",
802
  "default": false,
 
803
  "type": {
804
  "type": "<class 'bool'>"
805
  }
806
  }
807
  },
 
808
  "inputs": {
809
  "message": {
810
- "name": "message",
811
  "type": {
812
  "type": "<class 'inspect._empty'>"
813
  },
814
- "position": "left"
815
  },
816
  "chat_api": {
817
  "name": "chat_api",
 
818
  "type": {
819
  "type": "<class 'inspect._empty'>"
820
- },
821
- "position": "bottom"
822
- }
823
- },
824
- "outputs": {
825
- "output": {
826
- "name": "output",
827
- "type": {
828
- "type": "None"
829
- },
830
- "position": "right"
831
  }
832
  },
833
- "type": "basic",
834
- "sub_nodes": null
835
  },
836
- "collapsed": false
837
  },
838
  "position": {
839
- "x": -11.653333595036415,
840
- "y": -0.9210389517918429
841
- },
842
- "parentId": null
843
  }
844
  ],
845
  "edges": [
@@ -949,4 +977,4 @@
949
  "targetHandle": "chat_api"
950
  }
951
  ]
952
- }
 
12
  "display": null,
13
  "error": null,
14
  "meta": {
 
15
  "params": {
16
  "chat": {
17
  "name": "chat",
 
22
  }
23
  },
24
  "inputs": {},
25
+ "type": "basic",
26
  "outputs": {
27
  "output": {
28
  "name": "output",
29
+ "position": "right",
30
  "type": {
31
  "type": "None"
32
+ }
 
33
  }
34
  },
35
+ "name": "Input chat"
36
+ },
37
+ "__execution_delay": 0.0,
38
+ "collapsed": null
39
  },
40
  "position": {
41
+ "x": 0.0,
42
+ "y": 0.0
43
+ }
 
44
  },
45
  {
46
  "id": "View 1",
 
52
  "dataframes": {
53
  "df": {
54
  "columns": [
55
+ "answer",
56
+ "sources",
57
+ "confidence_score",
58
+ "confidence_score_description",
59
+ "meta_outputs"
60
  ],
61
  "data": [
62
  [
63
+ "The Chief Innovation Officer (CIO) of Lynx Analytics is Gabor Benedek. He is responsible for defining the methodological roadmap for Lynx's predictive analytics consulting and product development departments. If you need more information about Gabor or his role, feel free to ask!\n\nPlease visit https://www.lynxanalytics.com/team-leadership for further information.",
64
+ [
65
+ {
66
+ "id": "i_541",
67
+ "body": "Lynx Analytics is a big data company founded in 2010 by Gyorgy Lajtai and a team from INSEAD. The company aims to solve real-world problems using big data graphs. The team is composed of individuals with diverse backgrounds and experiences spanning various industries. The company has a Chief Innovation Officer, a COO, a CTO, a Senior Board Advisor, a Finance Director, and a Director of People. They are responsible for defining the methodological roadmap, implementing solutions, managing finances, and leading HR services and talent management as the company expands globally.\n\n Part of the article: \n\nAs Lynx Analytics CFO between 2016 and 2021, Dan managed the companys capital raising initiatives and set up its financial management functions and team from the ground up.\n\nHe remains involved with the company as a shareholder and in an advisory capacity.\n\nLi Lee, Finance Director\nLi oversees the whole finance spectrum at Lynx Analytics.\n\nThe dynamic environment, exposure to investors, and continuous innovation requirements are aspects of the job she particularly enjoys.\n\nLi likes to find solutions to new business needs and to implement automated internal controls & procedures to support the companys growth.\n\nLi is a financial professional with more than 15 years of experience in financial accounting & reporting and finance-related matters.\nBefore joining Lynx, she held different Finance positions at accounting & audit firms as well as MNCs in various sectors.\n\nEdina Choo, Director of People\nAs the Director of People at Lynx, Edina provides strategic leadership and management across the various HR services provided to our global talent.\n\nShe is responsible for building a proactive human resources team that drives recruitment, engagement, talent management, people and leadership development and shaping the people culture within Lynx as we expand into USA, Europe and various parts of Asia.\n\nEdina is passionate about harnessing and maximising the potential of each individual that joins our team!",
68
+ "confidence_score": 0.9249657988548279,
69
+ "title": null,
70
+ "description": null,
71
+ "type": "information"
72
+ },
73
+ {
74
+ "id": "i_151",
75
+ "body": "Lynx Analytics is a company founded by a team from INSEAD in 2010, with a focus on solving real-world problems using big data graphs. The company's CEO and co-founder, Gyorgy Lajtai, has experience in CRM challenges and marketing automation. The company's Chief Innovation Officer and co-founder, Gabor Benedek, is responsible for defining the methodological roadmap of Lynx's predictive analytics consulting and product development departments. The team also includes Miklos Sarvary, Chung Ng, Cintia O. Tavella Gomez, Paul Berriman, and Zsolt Katona, who all have extensive experience in various industries and academia.\n\n Part of the article: \n\nCintia has lived and worked in Asia for 15 years, is originally from Buenos Aires (Argentina), grew up in Spain and currently lives in Seattle.\n\nIn her free time, she loves to learn languages, train for the next triathlon, practice yoga and\n\nmeditation.\n\nPaul Berriman\n\nNon Executive Director at Spark New Zealand, Non Executive Director at Rain Networks, South Africa\n\nUntil January 2021 Paul was Group Chief Technology Officer of the HKT Trust, where he was responsible for leading the groups product and technology roadmap and strategic development,including cross industry propositions, and embedding analytics into everything HKT does.\nPrior to this he was Managing Director of management consultancy Arthur D. Little in Hong Kong and he has held roles in Reuters and several major Hong Kong service providers.\n\nIn 2008 he was listed as one of the Global Telecoms Business Magazinestop100 most influential persons in telecoms.\n\nHe is Chairman of a Global TD-LTE Initiative (GTI) Working Group, a board member of the Next Generation Mobile Networks Alliance (NGMN Ltd.) and an independent non-executive director of Spark New Zealand (f.k.a.\n\nTelecom Corporation of New Zealand) having joined the Board in December 2011.\n\nHe is also a non-executive director of mobile operator, Rain Ltd., in South Africa.\n\nHe was also a member of OFTAs Telecommunications Standards Advisory Committee for many years.",
76
+ "confidence_score": 0.9231036603450775,
77
+ "title": null,
78
+ "description": null,
79
+ "type": "information"
80
+ },
81
+ {
82
+ "id": "s_546",
83
+ "body": "Lynx Analytics is a big data company co-founded by Gyorgy Lajtai and a team from INSEAD. Miklos Sarvary, a Professor at Columbia Business School, and Chung Ng, a SVP at Group CTO Office of the HKT Trust, are among the company's new executives. Meanwhile, Cintia O. Tavella Gomez is the Senior Director of Strategic Partnerships at Expedia Group, and Paul Berriman was the Group Chief Technology Officer of the HKT Trust until January 2021. Additionally, Zsolt Katona is the faculty director of the Fisher Center for Business Analytics at the Haas School.",
84
+ "confidence_score": 0.9230074882507324,
85
+ "title": null,
86
+ "description": null,
87
+ "type": "summary"
88
+ },
89
+ {
90
+ "id": "i_182",
91
+ "body": "Lynx Analytics is a big data graph company founded in 2010 by a team from INSEAD. The company aims to solve real-world problems using big data graphs. The team includes experienced professionals, including co-founders Gyorgy Lajtai and Gabor Benedek, as well as Amit Akhelikar, Chema Lizano, Dan Florea, Adrienne Lee, Li Lee, Edina Choo, Francois de Repentigny, Marton Szel, and Daniel Darabos. The team has expertise in AI startups, telecom, technology strategy, M&A, financial accounting, HR, marketing, data science, and engineering.\n\n Part of the article: \n\nAs Lynx Analytics CFO between 2016 and 2021, Dan managed the companys capital raising initiatives and set up its financial management functions and team from the ground up.\n\nHe remains involved with the company as a shareholder and in an advisory capacity.\n\nLi Lee\n\nFinance Director\n\nLi oversees the whole finance spectrum at Lynx Analytics.\n\nThe dynamic environment, exposure to investors, and continuous innovation requirements are aspects of the job she particularly enjoys.\n\nLi likes to find solutions to new business needs and to implement automated internal controls & procedures to support the companys growth.\n\nLi is a financial professional with more than 15 years of experience in financial accounting & reporting and finance-related matters.\nBefore joining Lynx, she held different Finance positions at accounting & audit firms as well as MNCs in various sectors.\n\nEdina Choo\n\nDirector of People\n\nAs the Director of People at Lynx, Edina provides strategic leadership and management across the various HR services provided to our global talent.\n\nShe is responsible for building a proactive human resources team that drives recruitment, engagement, talent management, people and leadership development and shaping the people culture within Lynx as we expand into USA, Europe and various parts of Asia.\n\nEdina is passionate about harnessing and maximising the potential of each individual that joins our team!",
92
+ "confidence_score": 0.9217821955680847,
93
+ "title": null,
94
+ "description": null,
95
+ "type": "information"
96
+ },
97
+ {
98
+ "id": "s_459",
99
+ "body": "Lynx Analytics is a big data company founded in 2010 by Gyorgy Lajtai and a team from INSEAD. The company aims to solve real-world problems using big data graphs. The team is composed of individuals with diverse backgrounds and experiences spanning various industries. The company has a Chief Innovation Officer, a COO, a CTO, a Senior Board Advisor, a Finance Director, and a Director of People. They are responsible for defining the methodological roadmap, implementing solutions, managing finances, and leading HR services and talent management as the company expands globally.",
100
+ "confidence_score": 0.9208503663539886,
101
+ "title": null,
102
+ "description": null,
103
+ "type": "summary"
104
+ }
105
+ ],
106
+ 0.9249657988548279,
107
+ "Score is always between 0 and 1, the total is the maximum of individual source scores.",
108
+ {}
109
  ]
110
  ]
111
  }
 
113
  },
114
  "error": null,
115
  "meta": {
 
116
  "params": {},
117
+ "name": "View",
118
+ "outputs": {},
119
+ "type": "table_view",
120
  "inputs": {
121
  "input": {
122
+ "position": "left",
123
  "name": "input",
124
  "type": {
125
  "type": "<class 'inspect._empty'>"
126
+ }
 
127
  }
128
+ }
 
 
 
129
  }
130
  },
131
  "position": {
132
+ "x": 0.0,
133
+ "y": 0.0
134
+ }
 
135
  },
136
  {
137
  "id": "LLM 1",
 
144
  "display": null,
145
  "error": null,
146
  "meta": {
147
+ "type": "basic",
148
  "name": "LLM",
149
+ "inputs": {},
150
  "params": {
151
  "name": {
152
  "name": "name",
 
153
  "type": {
154
  "type": "<class 'str'>"
155
+ },
156
+ "default": "openai"
157
  }
158
  },
 
159
  "outputs": {
160
  "output": {
 
161
  "type": {
162
  "type": "None"
163
  },
164
+ "name": "output",
165
  "position": "top"
166
  }
167
+ }
168
+ },
169
+ "__execution_delay": 0.0,
170
+ "collapsed": null
171
  },
172
  "position": {
173
+ "x": 0.0,
174
+ "y": 0.0
175
+ }
 
176
  },
177
  {
178
  "id": "Scenario selector 1",
 
180
  "data": {
181
  "title": "Scenario selector",
182
  "params": {
183
+ "node_types": "intent_cluster",
184
+ "scenario_file": "/home/darabos/nvme/lynxscribe/examples/chat_api/scenarios.yaml"
185
  },
186
  "display": null,
187
  "error": null,
188
  "meta": {
189
+ "outputs": {
190
+ "output": {
191
+ "type": {
192
+ "type": "None"
193
+ },
194
+ "name": "output",
195
+ "position": "top"
196
+ }
197
+ },
198
+ "type": "basic",
199
  "name": "Scenario selector",
200
  "params": {
201
+ "node_types": {
 
 
202
  "type": {
203
  "type": "<class 'str'>"
204
+ },
 
 
 
205
  "default": "intent_cluster",
206
+ "name": "node_types"
207
+ },
208
+ "scenario_file": {
209
+ "name": "scenario_file",
210
+ "default": null,
211
  "type": {
212
  "type": "<class 'str'>"
213
  }
214
  }
215
  },
216
+ "inputs": {}
217
+ },
218
+ "collapsed": null,
219
+ "__execution_delay": 0.0
 
 
 
 
 
 
 
 
 
220
  },
221
  "position": {
222
+ "x": 0.0,
223
+ "y": 0.0
224
+ }
 
225
  },
226
  {
227
  "id": "Chat API 1",
 
233
  },
234
  "display": null,
235
  "error": null,
236
+ "collapsed": null,
237
  "meta": {
238
  "name": "Chat API",
239
  "params": {
240
  "model": {
 
241
  "default": "gpt-4o-mini",
242
  "type": {
243
  "type": "<class 'str'>"
244
+ },
245
+ "name": "model"
246
  }
247
  },
248
  "inputs": {
249
+ "chat_processor": {
250
+ "position": "bottom",
251
+ "name": "chat_processor",
252
  "type": {
253
  "type": "<class 'inspect._empty'>"
254
+ }
 
255
  },
256
+ "chatbot": {
257
+ "position": "bottom",
258
  "type": {
259
  "type": "<class 'inspect._empty'>"
260
  },
261
+ "name": "chatbot"
262
  },
263
  "knowledge_base": {
264
  "name": "knowledge_base",
 
277
  "position": "top"
278
  }
279
  },
280
+ "type": "basic"
281
+ },
282
+ "__execution_delay": 0.0
283
  },
284
  "position": {
285
+ "x": 0.0,
286
+ "y": 0.0
287
+ }
 
288
  },
289
  {
290
  "id": "Knowledge base 1",
 
293
  "title": "Knowledge base",
294
  "params": {
295
  "nodes_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/nodes.pickle",
296
+ "template_cluster_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/tempclusters.pickle",
297
+ "edges_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/edges.pickle"
298
  },
299
  "display": null,
300
  "error": null,
301
  "meta": {
302
+ "type": "basic",
303
+ "outputs": {
304
+ "output": {
305
+ "position": "top",
306
+ "name": "output",
307
  "type": {
308
+ "type": "None"
309
  }
310
+ }
311
+ },
312
+ "name": "Knowledge base",
313
+ "params": {
314
  "edges_path": {
315
  "name": "edges_path",
316
  "default": "edges.pickle",
 
318
  "type": "<class 'str'>"
319
  }
320
  },
321
+ "nodes_path": {
322
+ "name": "nodes_path",
323
+ "type": {
324
+ "type": "<class 'str'>"
325
+ },
326
+ "default": "nodes.pickle"
327
+ },
328
  "template_cluster_path": {
 
329
  "default": "tempclusters.pickle",
330
  "type": {
331
  "type": "<class 'str'>"
 
 
 
 
 
 
 
 
 
332
  },
333
+ "name": "template_cluster_path"
334
  }
335
  },
336
+ "inputs": {}
 
337
  }
338
  },
339
  "position": {
340
+ "x": 0.0,
341
+ "y": 0.0
342
+ }
 
343
  },
344
  {
345
  "id": "RAG chatbot 1",
 
348
  "title": "RAG chatbot",
349
  "params": {
350
  "negative_answer": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
 
351
  "strict_limits": true,
352
+ "limits_by_type": "{\"information\": [2, 3], \"summary\": [2, 3]}",
353
  "max_results": "5"
354
  },
355
  "display": null,
356
  "error": null,
357
  "meta": {
358
  "name": "RAG chatbot",
359
+ "outputs": {
360
+ "output": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  "type": {
362
+ "type": "None"
363
+ },
364
+ "position": "top",
365
+ "name": "output"
366
  }
367
  },
368
  "inputs": {
369
  "rag_graph": {
370
  "name": "rag_graph",
371
+ "position": "bottom",
372
  "type": {
373
  "type": "<class 'inspect._empty'>"
374
+ }
 
375
  },
376
+ "llm": {
377
+ "name": "llm",
378
+ "position": "bottom",
379
  "type": {
380
  "type": "<class 'inspect._empty'>"
381
+ }
 
382
  },
383
+ "scenario_selector": {
 
384
  "type": {
385
  "type": "<class 'inspect._empty'>"
386
  },
387
+ "name": "scenario_selector",
388
  "position": "bottom"
389
  }
390
  },
391
+ "params": {
392
+ "limits_by_type": {
393
+ "default": "{}",
394
+ "name": "limits_by_type",
395
  "type": {
396
+ "type": "<class 'str'>"
397
+ }
398
+ },
399
+ "max_results": {
400
+ "type": {
401
+ "type": "<class 'int'>"
402
  },
403
+ "name": "max_results",
404
+ "default": 5.0
405
+ },
406
+ "negative_answer": {
407
+ "name": "negative_answer",
408
+ "default": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
409
+ "type": {
410
+ "type": "<class 'str'>"
411
+ }
412
+ },
413
+ "strict_limits": {
414
+ "default": true,
415
+ "name": "strict_limits",
416
+ "type": {
417
+ "type": "<class 'bool'>"
418
+ }
419
  }
420
  },
421
+ "type": "basic"
 
422
  },
423
  "beingResized": false
424
  },
425
  "position": {
426
+ "x": 0.0,
427
+ "y": 0.0
428
+ }
 
 
 
429
  },
430
  {
431
  "id": "RAG graph 1",
 
435
  "params": {},
436
  "display": null,
437
  "error": null,
438
+ "collapsed": true,
439
+ "__execution_delay": null,
440
  "meta": {
 
 
441
  "inputs": {
442
  "vector_store": {
 
443
  "type": {
444
  "type": "<class 'inspect._empty'>"
445
  },
446
+ "name": "vector_store",
447
  "position": "bottom"
448
  },
449
  "text_embedder": {
450
  "name": "text_embedder",
451
+ "position": "bottom",
452
  "type": {
453
  "type": "<class 'inspect._empty'>"
454
+ }
 
455
  }
456
  },
457
+ "name": "RAG graph",
458
+ "params": {},
459
  "outputs": {
460
  "output": {
 
461
  "type": {
462
  "type": "None"
463
  },
464
+ "position": "top",
465
+ "name": "output"
466
  }
467
  },
468
+ "type": "basic"
 
469
  }
470
  },
471
  "position": {
472
+ "x": 0.0,
473
+ "y": 0.0
474
+ }
 
475
  },
476
  {
477
  "id": "Vector store 1",
 
484
  },
485
  "display": null,
486
  "error": null,
487
+ "beingResized": false,
488
  "meta": {
489
  "name": "Vector store",
490
  "params": {
491
  "name": {
 
492
  "default": "chromadb",
493
+ "name": "name",
494
  "type": {
495
  "type": "<class 'str'>"
496
  }
497
  },
498
  "collection_name": {
 
 
499
  "type": {
500
  "type": "<class 'str'>"
501
+ },
502
+ "default": "lynx",
503
+ "name": "collection_name"
504
  }
505
  },
506
  "inputs": {},
507
+ "type": "basic",
508
  "outputs": {
509
  "output": {
510
+ "position": "top",
511
  "name": "output",
512
  "type": {
513
  "type": "None"
514
+ }
 
515
  }
516
+ }
517
+ }
 
 
 
518
  },
519
  "position": {
520
+ "x": 0.0,
521
+ "y": 0.0
522
+ }
 
 
 
523
  },
524
  {
525
  "id": "Text embedder 2",
 
531
  },
532
  "display": null,
533
  "error": null,
534
+ "collapsed": null,
535
+ "__execution_delay": 0.0,
536
  "meta": {
537
+ "inputs": {
538
+ "llm": {
539
+ "position": "bottom",
540
+ "name": "llm",
541
+ "type": {
542
+ "type": "<class 'inspect._empty'>"
543
+ }
544
+ }
545
+ },
546
  "params": {
547
  "model": {
 
548
  "default": "text-embedding-ada-002",
549
+ "name": "model",
550
  "type": {
551
  "type": "<class 'str'>"
552
  }
553
  }
554
  },
555
+ "name": "Text embedder",
556
+ "type": "basic",
 
 
 
 
 
 
 
557
  "outputs": {
558
  "output": {
559
+ "position": "top",
560
  "name": "output",
561
  "type": {
562
  "type": "None"
563
+ }
 
564
  }
565
+ }
 
 
566
  }
567
  },
568
  "position": {
569
+ "x": 0.0,
570
+ "y": 0.0
571
+ }
 
572
  },
573
  {
574
  "id": "LLM 2",
 
582
  "error": null,
583
  "meta": {
584
  "name": "LLM",
585
+ "inputs": {},
586
  "params": {
587
  "name": {
 
 
588
  "type": {
589
  "type": "<class 'str'>"
590
+ },
591
+ "default": "openai",
592
+ "name": "name"
593
  }
594
  },
 
595
  "outputs": {
596
  "output": {
597
+ "position": "top",
598
  "name": "output",
599
  "type": {
600
  "type": "None"
601
+ }
 
602
  }
603
  },
604
+ "type": "basic"
 
605
  }
606
  },
607
  "position": {
608
+ "x": 0.0,
609
+ "y": 0.0
610
+ }
 
611
  },
612
  {
613
  "id": "Truncate history 1",
 
615
  "data": {
616
  "title": "Truncate history",
617
  "params": {
618
+ "max_tokens": 10000.0
619
  },
620
  "display": null,
621
  "error": null,
622
  "meta": {
 
 
 
 
 
 
 
 
 
 
623
  "inputs": {},
624
  "outputs": {
625
  "output": {
 
626
  "type": {
627
  "type": "None"
628
  },
629
+ "position": "top",
630
+ "name": "output"
631
  }
632
  },
633
  "type": "basic",
634
+ "name": "Truncate history",
635
+ "params": {
636
+ "max_tokens": {
637
+ "type": {
638
+ "type": "<class 'int'>"
639
+ },
640
+ "name": "max_tokens",
641
+ "default": 10000.0
642
+ }
643
+ }
644
  }
645
  },
646
  "position": {
647
+ "x": 0.0,
648
+ "y": 0.0
649
+ }
 
650
  },
651
  {
652
  "id": "Chat processor 1",
 
657
  "display": null,
658
  "error": null,
659
  "meta": {
 
 
660
  "inputs": {
661
  "processor": {
662
  "name": "processor",
 
666
  "position": "bottom"
667
  }
668
  },
669
+ "params": {},
670
  "outputs": {
671
  "output": {
672
  "name": "output",
 
677
  }
678
  },
679
  "type": "basic",
680
+ "name": "Chat processor"
681
+ },
682
+ "__execution_delay": null,
683
+ "collapsed": true
684
  },
685
  "position": {
686
+ "x": 0.0,
687
+ "y": 0.0
688
+ }
 
689
  },
690
  {
691
  "id": "Mask 1",
 
694
  "title": "Mask",
695
  "params": {
696
  "name": "email",
697
+ "mask_pattern": "masked_email_address_{}",
698
  "regex": "([a-z0-9!#$%&'*+\\/=?^_`{|.}~-]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)",
699
 
700
  },
701
  "display": null,
702
  "error": null,
703
  "meta": {
 
704
  "params": {
705
+ "exceptions": {
 
 
706
  "type": {
707
  "type": "<class 'str'>"
708
+ },
709
+ "default": "",
710
+ "name": "exceptions"
711
  },
712
  "regex": {
713
  "name": "regex",
 
716
  "type": "<class 'str'>"
717
  }
718
  },
719
+ "name": {
 
 
720
  "type": {
721
  "type": "<class 'str'>"
722
+ },
723
+ "default": "",
724
+ "name": "name"
725
  },
726
  "mask_pattern": {
727
  "name": "mask_pattern",
 
731
  }
732
  }
733
  },
734
+ "name": "Mask",
735
  "inputs": {},
736
  "outputs": {
737
  "output": {
738
  "name": "output",
739
+ "position": "top",
740
  "type": {
741
  "type": "None"
742
+ }
 
743
  }
744
  },
745
+ "type": "basic"
 
746
  }
747
  },
748
  "position": {
749
+ "x": 0.0,
750
+ "y": 0.0
751
+ }
 
752
  },
753
  {
754
  "id": "Mask 2",
 
756
  "data": {
757
  "title": "Mask",
758
  "params": {
 
759
  "regex": "((?:(?:\\\\d{4}[- ]?){3}\\\\d{4}|\\\\d{15,16}))(?![\\\\d])",
760
+ "mask_pattern": "masked_credit_card_number_{}",
761
  "exceptions": "",
762
+ "name": "credit_card"
763
  },
764
  "display": null,
765
  "error": null,
766
  "meta": {
767
+ "type": "basic",
768
+ "outputs": {
769
+ "output": {
770
+ "position": "top",
771
+ "type": {
772
+ "type": "None"
773
+ },
774
+ "name": "output"
775
+ }
776
+ },
777
  "name": "Mask",
778
  "params": {
779
+ "mask_pattern": {
 
780
  "default": "",
781
  "type": {
782
  "type": "<class 'str'>"
783
+ },
784
+ "name": "mask_pattern"
785
  },
786
+ "exceptions": {
 
787
  "default": "",
788
  "type": {
789
  "type": "<class 'str'>"
790
+ },
791
+ "name": "exceptions"
792
  },
793
+ "name": {
 
794
  "default": "",
795
+ "name": "name",
796
  "type": {
797
  "type": "<class 'str'>"
798
  }
799
  },
800
+ "regex": {
 
 
801
  "type": {
802
  "type": "<class 'str'>"
 
 
 
 
 
 
 
 
 
803
  },
804
+ "name": "regex",
805
+ "default": ""
806
  }
807
  },
808
+ "inputs": {}
 
809
  }
810
  },
811
  "position": {
812
+ "x": 0.0,
813
+ "y": 0.0
814
+ }
 
815
  },
816
  {
817
  "id": "Test Chat API 2",
 
819
  "data": {
820
  "title": "Test Chat API",
821
  "params": {
822
+ "show_details": true
823
  },
824
  "display": null,
825
  "error": null,
826
+ "collapsed": false,
827
  "meta": {
828
+ "outputs": {
829
+ "output": {
830
+ "type": {
831
+ "type": "None"
832
+ },
833
+ "name": "output",
834
+ "position": "right"
835
+ }
836
+ },
837
  "params": {
838
  "show_details": {
 
839
  "default": false,
840
+ "name": "show_details",
841
  "type": {
842
  "type": "<class 'bool'>"
843
  }
844
  }
845
  },
846
+ "type": "basic",
847
  "inputs": {
848
  "message": {
849
+ "position": "left",
850
  "type": {
851
  "type": "<class 'inspect._empty'>"
852
  },
853
+ "name": "message"
854
  },
855
  "chat_api": {
856
  "name": "chat_api",
857
+ "position": "bottom",
858
  "type": {
859
  "type": "<class 'inspect._empty'>"
860
+ }
 
 
 
 
 
 
 
 
 
 
861
  }
862
  },
863
+ "name": "Test Chat API"
 
864
  },
865
+ "__execution_delay": 0.0
866
  },
867
  "position": {
868
+ "x": 0.0,
869
+ "y": 0.0
870
+ }
 
871
  }
872
  ],
873
  "edges": [
 
977
  "targetHandle": "chat_api"
978
  }
979
  ]
980
+ }