File size: 69,012 Bytes
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
838e578
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
0b31353
8229a07
184de31
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4f018d6
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
184de31
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
 
184de31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
 
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0b31353
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
 
 
 
 
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
 
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0b31353
60788d3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53f091c
0e469cf
53f091c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2ab9fa3
 
 
 
 
 
 
 
 
 
0b31353
 
 
184de31
 
 
 
 
 
 
 
 
 
60788d3
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
export default {
  translation: {
    common: {
      delete: 'Xóa',
      deleteModalTitle: 'Bạn có chắc chắn muốn xóa mục này?',
      ok: 'Có',
      cancel: 'Không',
      total: 'Tổng cộng',
      rename: 'Đổi tên',
      name: 'Tên',
      save: 'Lưu',
      namePlaceholder: 'Vui lòng nhập tên',
      next: 'Tiếp theo',
      create: 'Tạo mới',
      edit: 'Sửa',
      upload: 'Tải lên',
      english: 'Tiếng Anh',
      portugueseBr: 'Tiếng Bồ Đào Nha (Brazil)',
      chinese: 'Tiếng Trung giản thể',
      traditionalChinese: 'Tiếng Trung phồn thể',
      language: 'Ngôn ngữ',
      languageMessage: 'Vui lòng chọn ngôn ngữ của bạn!',
      languagePlaceholder: 'chọn ngôn ngữ của bạn',
      copy: 'Sao chép',
      copied: 'Đã sao chép',
      comingSoon: 'Sắp ra mắt',
      download: 'Tải xuống',
      close: 'Đóng',
      preview: 'Xem trước',
      move: 'Di chuyển',
      warn: 'Cảnh báo',
      action: 'Hành động',
      s: 'S',
      pleaseSelect: 'Vui lòng chọn',
      pleaseInput: 'Vui lòng nhập',
      submit: 'Gửi',
      vietnamese: 'Tiếng  việt',
      spanish: 'Tiếng Tây Ban Nha',
      japanese: 'Tiếng Nhật',
      embedIntoSite: 'Nhúng vào trang web',
      nextPage: 'Tới',
      previousPage: 'Lùi',
    },
    login: {
      login: 'Đăng nhập',
      signUp: 'Đăng ký',
      loginDescription: 'Rất vui được gặp lại bạn!',
      registerDescription: 'Rất vui được đón chào bạn!',
      emailLabel: 'Email',
      emailPlaceholder: 'Vui lòng nhập email',
      passwordLabel: 'Mật khẩu',
      passwordPlaceholder: 'Vui lòng nhập mật khẩu',
      rememberMe: 'Ghi nhớ tôi',
      signInTip: 'Chưa có tài khoản?',
      signUpTip: 'Đã có tài khoản?',
      nicknameLabel: 'Biệt danh',
      nicknamePlaceholder: 'Vui lòng nhập biệt danh',
      register: 'Tạo tài khoản',
      continue: 'Tiếp tục',
      title: 'Bắt đầu xây dựng trợ lý ảo của bạn.',
      description:
        'Đăng ký miễn phí để khám phá công nghệ RAG hàng đầu. Tạo cơ sở kiến thức và AI để trao quyền cho doanh nghiệp của bạn.',
      review: 'từ hơn 500 đánh giá',
    },
    header: {
      knowledgeBase: 'Cơ sở kiến thức',
      chat: 'Chat',
      register: 'Đăng ký',
      signin: 'Đăng nhập',
      home: 'Trang chủ',
      setting: 'Cài đặt người dùng',
      logout: 'Đăng xuất',
      fileManager: 'Quản lý tệp',
      flow: 'Agent',
      search: 'Tìm kiếm',
    },
    knowledgeList: {
      welcome: 'Chào mừng trở lại',
      description: 'Chúng ta sẽ sử dụng cơ sở kiến thức nào hôm nay?',
      createKnowledgeBase: 'Tạo cơ sở kiến thức',
      name: 'Tên',
      namePlaceholder: 'Vui lòng nhập tên!',
      doc: 'Tài liệu',
      searchKnowledgePlaceholder: 'Tìm kiếm',
      noMoreData: 'Tất cả chỉ có thế, không còn gì nữa',
    },
    knowledgeDetails: {
      dataset: 'Dữ liệu',
      testing: 'Kiểm tra truy hồi',
      files: 'Các tệp',
      configuration: 'Cấu hình',
      name: 'Tên',
      namePlaceholder: 'Vui lòng nhập tên!',
      doc: 'Tài liệu',
      datasetDescription:
        ' Câu hỏi và câu trả lời chỉ có thể được trả lời sau khi phân tích cú pháp thành công.',
      addFile: 'Thêm tệp',
      searchFiles: 'Tìm kiếm tệp của bạn',
      localFiles: 'Tệp cục bộ',
      emptyFiles: 'Tạo tệp trống',
      webCrawl: 'Web Crawl',
      chunkNumber: 'Số lượng khối',
      uploadDate: 'Ngày tải lên',
      chunkMethod: 'Phương thức khối',
      enabled: 'Bật',
      disabled: 'Tắt',
      action: 'Hành động',
      parsingStatus: 'Trạng thái phân tích cú pháp',
      processBeginAt: 'Bắt đầu xử lý lúc',
      processDuration: 'Thời gian xử lý',
      progressMsg: 'Thông báo tiến trình',
      testingDescription:
        'Thực hiện kiểm tra truy hồi để kiểm tra xem RAGFlow có thể phục hồi nội dung mong muốn cho LLM không.',
      similarityThreshold: 'Ngưỡng tương đồng',
      similarityThresholdTip:
        'RAGFlow sử dụng kết hợp giữa độ tương đồng từ khóa được trọng số và độ tương đồng vectơ cosin được trọng số hoặc kết hợp giữa độ tương đồng từ khóa được trọng số và điểm xếp hạng được tính lại trong quá trình truy hồi. Tham số này đặt ngưỡng cho sự tương đồng giữa truy vấn của người dùng và các khối. Bất kỳ khối nào có điểm tương đồng dưới ngưỡng này sẽ bị loại khỏi kết quả.',
      vectorSimilarityWeight: 'Trọng số tương đồng từ khóa',
      vectorSimilarityWeightTip:
        'Cài đặt trọng số của độ tương đồng từ khóa trong điểm tương đồng kết hợp, được sử dụng với độ tương đồng vectơ cosin hoặc với điểm xếp hạng được tính lại. Tổng của hai trọng số phải bằng 1.0.',
      testText: 'Văn bản kiểm tra',
      testTextPlaceholder: 'Nhập câu hỏi của bạn tại đây!',
      testingLabel: 'Kiểm tra',
      similarity: 'Giống nhau lai',
      termSimilarity: 'Giống nhau về thuật ngữ',
      vectorSimilarity: 'Giống nhau về vectơ',
      hits: 'Số lượt truy cập',
      view: 'Xem',
      filesSelected: 'Các tệp được chọn',
      upload: 'Tải lên',
      run: 'Phân tích cú pháp',
      runningStatus0: 'Chưa được giải quyết',
      runningStatus1: 'Parsing',
      runningStatus2: 'CANCEL',
      runningStatus3: 'SUCCESS',
      runningStatus4: 'FAIL',
      pageRanges: 'Phạm vi trang',
      pageRangesTip:
        'Phạm vi trang: Xác định các phạm vi trang cần phân tích cú pháp. Các trang không nằm trong các phạm vi này sẽ bị bỏ qua.',
      fromPlaceholder: 'từ',
      fromMessage: 'Thiếu số trang bắt đầu',
      toPlaceholder: 'đến',
      toMessage: 'Thiếu số trang kết thúc (được loại trừ)',
      layoutRecognize: 'Nhận dạng bố cục',
      layoutRecognizeTip:
        'Sử dụng các mô hình trực quan để phân tích bố cục nhằm xác định tốt hơn cấu trúc tài liệu, tìm vị trí của tiêu đề, khối văn bản, hình ảnh và bảng. Nếu không có tính năng này, chỉ có thể lấy được văn bản thuần của PDF.',
      taskPageSize: 'Kích thước trang tác vụ',
      taskPageSizeMessage: 'Vui lòng nhập kích thước trang tác vụ của bạn!',
      taskPageSizeTip: `Nếu sử dụng nhận dạng bố cục, tệp PDF sẽ được chia thành các nhóm trang liên tiếp. Phân tích bố cục sẽ được thực hiện song song giữa các nhóm để tăng tốc độ xử lý. 'Kích thước trang tác vụ' xác định kích thước của các nhóm. Kích thước trang càng lớn, khả năng chia tách văn bản liên tục giữa các trang thành các khối khác nhau càng thấp.`,
      addPage: 'Thêm trang',
      greaterThan: 'Giá trị hiện tại phải lớn hơn!',
      greaterThanPrevious: 'Giá trị hiện tại phải lớn hơn giá trị trước đó!',
      selectFiles: 'Chọn tệp',
      changeSpecificCategory: 'Thay đổi danh mục cụ thể',
      uploadTitle: 'Nhấp hoặc kéo thả tệp vào khu vực này để tải lên',
      uploadDescription:
        'Hỗ trợ tải lên đơn hoặc hàng loạt. Nghiêm cấm tải lên dữ liệu công ty hoặc các tệp bị cấm khác.',
      chunk: 'Khối',
      bulk: 'Hàng loạt',
      cancel: 'Hủy bỏ',
      rerankModel: 'Mô hình xếp hạng lại',
      rerankPlaceholder: 'Vui lòng chọn',
      rerankTip: `Nếu để trống, RAGFlow sẽ sử dụng kết hợp giữa độ tương đồng từ khóa được trọng số và độ tương đồng vectơ cosin được trọng số; nếu chọn mô hình xếp hạng lại, điểm xếp hạng được tính lại sẽ thay thế độ tương đồng vectơ cosin được trọng số.`,
      topK: 'Top-K',
      topKTip: `K khối sẽ được đưa vào các mô hình xếp hạng lại.`,
      delimiter: 'Giới hạn',
      html4excel: 'Excel sang HTML',
      html4excelTip: `Excel sẽ được phân tích cú pháp thành bảng HTML hay không. Nếu là FALSE, mỗi hàng trong Excel sẽ được tạo thành một khối.`,
      autoKeywords: 'Từ khóa tự động',
      autoKeywordsTip: `Trích xuất N từ khóa cho mỗi khối để tăng thứ hạng của chúng cho các truy vấn chứa các từ khóa đó. Bạn có thể kiểm tra hoặc cập nhật các từ khóa đã thêm cho một khối từ danh sách khối. Lưu ý rằng các token bổ sung sẽ được tiêu thụ bởi LLM được chỉ định trong 'Cài đặt mô hình hệ thống'.`,
      autoQuestions: 'Câu hỏi tự động',
      autoQuestionsTip: `Trích xuất N câu hỏi cho mỗi khối để tăng thứ hạng của chúng cho các truy vấn chứa các câu hỏi đó. Bạn có thể kiểm tra hoặc cập nhật các câu hỏi đã thêm cho một khối từ danh sách khối. Tính năng này sẽ không làm gián đoạn quá trình phân khối nếu xảy ra lỗi, ngoại trừ việc nó có thể thêm kết quả trống vào khối gốc. Lưu ý rằng các token bổ sung sẽ được tiêu thụ bởi LLM được chỉ định trong 'Cài đặt mô hình hệ thống'.`,
      delimiterTip: `Hỗ trợ nhiều ký tự phân cách, và các ký tự phân cách nhiều ký tự được bao bọc bởi dấu . Ví dụ: nếu được cấu hình như thế này: "##"; thì văn bản sẽ được phân tách bởi dấu xuống dòng, hai dấu # và dấu chấm phẩy, sau đó được lắp ráp theo kích thước của "số token".`,
      redo: `Bạn có muốn xóa các đoạn {{chunkNum}} hiện có không?`,
    },
    knowledgeConfiguration: {
      titleDescription:
        'Cập nhật cấu hình cơ sở kiến thức của bạn tại đây, đặc biệt là phương thức phân khối.',
      name: 'Tên cơ sở kiến thức',
      photo: 'Ảnh cơ sở kiến thức',
      description: 'Mô tả',
      language: 'Ngôn ngữ',
      languageMessage: 'Vui lòng nhập ngôn ngữ của bạn!',
      languagePlaceholder: 'Vui lòng nhập ngôn ngữ của bạn!',
      permissions: 'Quyền hạn',
      embeddingModel: 'Mô hình nhúng',
      chunkTokenNumber: 'Số token khối',
      chunkTokenNumberMessage: 'Số token khối là bắt buộc',
      embeddingModelTip:
        'Mô hình chuyển đổi các khối thành các nhúng. Nó không thể được thay đổi sau khi cơ sở kiến thức có các khối. Để chuyển sang mô hình nhúng khác, bạn phải xóa tất cả các khối trong cơ sở kiến thức.',
      permissionsTip:
        'Nếu được đặt thành "Đội", tất cả các thành viên trong nhóm sẽ có thể quản lý cơ sở kiến thức.',
      chunkTokenNumberTip:
        'Nó đặt ngưỡng token cho một khối. Một đoạn văn có ít token hơn ngưỡng này sẽ được kết hợp với đoạn văn tiếp theo cho đến khi số lượng token vượt quá ngưỡng, tại thời điểm đó, một khối được tạo.',
      chunkMethod: 'Phương thức khối',
      chunkMethodTip: 'Mẹo ở bên phải.',
      upload: 'Tải lên',
      english: 'Tiếng Anh',
      chinese: 'Tiếng Trung',
      embeddingModelPlaceholder: 'Vui lòng chọn một mô hình nhúng',
      chunkMethodPlaceholder: 'Vui lòng chọn một phương thức phân khối',
      save: 'Lưu',
      me: 'Chỉ tôi',
      team: 'Nhóm',
      cancel: 'Hủy bỏ',
      methodTitle: 'Mô tả phương thức phân khối',
      methodExamples: 'Ví dụ',
      methodExamplesDescription:
        'Các ảnh chụp màn hình sau được cung cấp để minh họa.',
      dialogueExamplesTitle: 'Ví dụ hội thoại',
      methodEmpty: 'Mô tả bằng hình ảnh các danh mục cơ sở kiến thức',
      book: `<p>Các định dạng tệp được hỗ trợ là <b>DOCX</b>, <b>PDF</b>, <b>TXT</b>.</p><p>
      Đối với mỗi sách trong PDF, vui lòng đặt <i>phạm vi trang</i> để loại bỏ thông tin không mong muốn và giảm thời gian phân tích.</p>`,
      laws: `<p>Các định dạng tệp được hỗ trợ là <b>DOCX</b>, <b>PDF</b>, <b>TXT</b>.</p><p>
      Các tài liệu pháp lý thường tuân theo định dạng viết nghiêm ngặt. Chúng tôi sử dụng tính năng văn bản để xác định điểm phân chia. 
      </p><p>
      Khối có độ chi tiết nhất quán với 'ARTICLE', đảm bảo tất cả văn bản cấp trên được bao gồm trong khối.
      </p>`,
      manual: `<p>Chỉ hỗ trợ <b>PDF</b>.</p><p>
      Chúng tôi giả định rằng sách hướng dẫn có cấu trúc phân cấp theo mục, sử dụng tiêu đề mục thấp nhất làm đơn vị cơ bản để phân đoạn tài liệu. Do đó, các hình ảnh và bảng trong cùng một mục sẽ không bị tách rời, điều này có thể dẫn đến kích thước khối lớn hơn.
      </p>`,
      naive: `<p>Phương thức này phân đoạn tệp bằng phương pháp 'ngây thơ': </p>
      <p>
      <li>Sử dụng mô hình nhận dạng thị giác để chia các văn bản thành các phân đoạn nhỏ hơn.</li>
      <li>Sau đó, kết hợp các phân đoạn liền kề cho đến khi số lượng token vượt quá ngưỡng được chỉ định bởi 'Số token khối', tại thời điểm đó, một khối được tạo.</li></p>
      <p>Các định dạng tệp được hỗ trợ là <b>DOCX, EXCEL, PPT, IMAGE, PDF, TXT, MD, JSON, EML, HTML</b>.</p>`,
      paper: `<p>Chỉ hỗ trợ tệp <b>PDF</b>.</p><p>
      Bài báo sẽ được chia theo các phần, chẳng hạn như <i>tóm tắt, 1.1, 1.2</i>. </p><p>
      Cách tiếp cận này cho phép LLM tóm tắt bài báo hiệu quả hơn và cung cấp các phản hồi toàn diện, dễ hiểu hơn. 
      Tuy nhiên, nó cũng làm tăng ngữ cảnh cho các cuộc hội thoại AI và tăng thêm chi phí tính toán cho LLM. Vì vậy, trong quá trình trò chuyện, hãy cân nhắc giảm giá trị của '<b>topN</b>'.</p>`,
      presentation: `<p>Các định dạng tệp được hỗ trợ là <b>PDF</b>, <b>PPTX</b>.</p><p>
      Mỗi trang trong slide được coi là một khối, với hình thu nhỏ của nó được lưu trữ.</p><p>
      <i>Phương thức phân khối này được tự động áp dụng cho tất cả các tệp PPT được tải lên, do đó bạn không cần phải chỉ định thủ công.</i></p>`,
      qa: `
      <p>
      Phương thức phân khối này hỗ trợ các định dạng tệp <b>EXCEL</b> và <b>CSV/TXT</b>.
      </p>
      <li>
      Nếu tệp ở định dạng <b>Excel</b>, nó phải chứa hai cột
      không có tiêu đề: một cột cho câu hỏi và cột còn lại cho câu trả lời, với
      cột câu hỏi đứng trước cột câu trả lời. Nhiều trang tính được chấp nhận, miễn là các cột được cấu trúc chính xác.
      </li>
      <li>
      Nếu tệp ở định dạng <b>CSV/TXT</b>, tệp phải được mã hóa UTF-8 với TAB làm dấu phân cách để phân tách câu hỏi và câu trả lời.
      </li>
      <p>
      <i>
      Các dòng văn bản không tuân theo các quy tắc trên sẽ bị bỏ qua và
      mỗi cặp Q&A sẽ được coi là một khối riêng biệt.
      </i>
      </p>
      `,
      resume: `<p>Các định dạng tệp được hỗ trợ là <b>DOCX</b>, <b>PDF</b>, <b>TXT</b>.
      </p><p>
      Các bản lý lịch với nhiều hình thức khác nhau được phân tích cú pháp và tổ chức thành dữ liệu có cấu trúc để hỗ trợ nhà tuyển dụng tìm kiếm ứng viên.
      </p>`,
      table: `<p>Các định dạng tệp được hỗ trợ là <b>EXCEL</b> và <b>CSV/TXT</b>.</p><p>
      Dưới đây là một số điều kiện tiên quyết và mẹo:
      <ul>
      <li>Đối với tệp CSV hoặc TXT, dấu phân cách giữa các cột phải là <em><b>TAB</b></em>.</li>
      <li>Dòng đầu tiên phải là tiêu đề cột.</li>
      <li>Tiêu đề cột phải là các thuật ngữ có nghĩa để hỗ trợ sự hiểu biết của LLM của bạn.
      Cách tốt nhất là đặt các từ đồng nghĩa cạnh nhau được phân cách bằng dấu gạch chéo <i>'/'</i> và liệt kê các giá trị bằng ngoặc vuông, ví dụ: <i>'Giới tính/Giới tính (nam, nữ)'</i>.<p>
      Dưới đây là một số ví dụ về tiêu đề:
      <ol>
      <li>nhà cung cấp/nhà cung cấp<b>'TAB'</b>Màu sắc (Vàng, Xanh lam, Nâu)<b>'TAB'</b>Giới tính/Giới tính (nam, nữ)<b>'TAB'</b>kích thước (M, L, XL, XXL)</li>
      </ol>
      </li>
      <li>Mỗi hàng trong bảng sẽ được coi là một khối.</li>
      </ul>`,
      picture: `
      <p>Các tệp hình ảnh được hỗ trợ, với hỗ trợ video sắp ra mắt.</p><p>
      Phương pháp này sử dụng mô hình OCR để trích xuất văn bản từ hình ảnh.
      </p><p>
      Nếu văn bản được trích xuất bởi mô hình OCR được coi là không đủ, một LLM hình ảnh được chỉ định sẽ được sử dụng để cung cấp mô tả về hình ảnh.
      </p>`,
      one: `
      <p>Các định dạng tệp được hỗ trợ là <b>DOCX, EXCEL, PDF, TXT</b>.
      </p><p>
      Phương pháp này xử lý toàn bộ tài liệu thành một khối.
      </p><p>
      Áp dụng khi bạn yêu cầu LLM tóm tắt toàn bộ tài liệu, với điều kiện nó có thể xử lý được lượng ngữ cảnh đó.
      </p>`,
      knowledgeGraph: `<p>Các định dạng tệp được hỗ trợ là <b>DOCX, EXCEL, PPT, IMAGE, PDF, TXT, MD, JSON, EML</b>
             
      <p>Cách tiếp cận này phân đoạn tệp bằng phương pháp 'ngây thơ'/'Tổng hợp'. Nó chia tài liệu thành các phân đoạn và sau đó kết hợp các phân đoạn liền kề cho đến khi số lượng token vượt quá ngưỡng được chỉ định bởi 'Số token khối', tại thời điểm đó, một khối được tạo.</p>
      <p>Các khối sau đó được đưa vào LLM để trích xuất các thực thể và mối quan hệ cho biểu đồ tri thức và sơ đồ tư duy.</p>
      <p>Đảm bảo bạn đã đặt <b>Loại thực thể</b>.</p>`,
      useRaptor: 'Sử dụng RAPTOR để cải thiện truy xuất',
      useRaptorTip:
        'Recursive Abstractive Processing for Tree-Organized Retrieval, xem https://huggingface.co/papers/2401.18059 để biết thêm thông tin',
      prompt: 'Nhắc nhở',
      promptTip: 'Nhắc nhở LLM được sử dụng để tóm tắt.',
      promptMessage: 'Nhắc nhở là bắt buộc',
      promptText: `Vui lòng tóm tắt các đoạn văn sau. Cẩn thận với các số, đừng bịa ra. Các đoạn văn như sau:
      {cluster_content}
      Nội dung ở trên là nội dung bạn cần tóm tắt.`,
      maxToken: 'Số token tối đa',
      maxTokenTip: 'Số lượng token tối đa để tóm tắt.',
      maxTokenMessage: 'Số token tối đa là bắt buộc',
      threshold: 'Ngưỡng',
      thresholdTip: 'Ngưỡng càng cao thì cụm càng ít.',
      thresholdMessage: 'Ngưỡng là bắt buộc',
      maxCluster: 'Cụm tối đa',
      maxClusterTip: 'Số lượng cụm tối đa.',
      maxClusterMessage: 'Cụm tối đa là bắt buộc',
      randomSeed: 'Hạt giống ngẫu nhiên',
      randomSeedMessage: 'Hạt giống ngẫu nhiên là bắt buộc',
      entityTypes: 'Loại thực thể',
      vietnamese: 'Tiếng Việt',
      pageRank: 'Xếp hạng trang',
      pageRankTip: `Điều này được sử dụng để tăng điểm liên quan. Điểm liên quan với tất cả các khối được truy xuất sẽ cộng với số này, Khi bạn muốn tìm kiếm cơ sở kiến thức đã cho ở vị trí đầu tiên, hãy đặt điểm "Page Rank" cao hơn những điểm khác.`,
      tag: `<p>Cơ sở kiến thức sử dụng 'Tag' làm phương pháp phân đoạn được cho là sẽ được sử dụng bởi các cơ sở kiến thức khác để thêm thẻ vào các đoạn của chúng, các truy vấn tới đó cũng sẽ có thẻ.</p> 
<p>Cơ sở kiến thức sử dụng 'Tag' làm phương pháp phân đoạn <b>KHÔNG</b> được dự định tham gia vào quy trình RAG.</p> 
<p>Các đoạn trong cơ sở kiến thức này là ví dụ về thẻ, thể hiện toàn bộ tập hợp thẻ và mối quan hệ giữa đoạn và thẻ.</p> 
<p>Phương pháp phân đoạn này hỗ trợ định dạng tệp <b>EXCEL</b> và <b>CSV/TXT</b>.</p> 
<p>Nếu tệp ở định dạng <b>Excel</b>, nó phải chứa hai cột không có tiêu đề: một cho nội dung và một cho thẻ, với cột nội dung đứng trước cột thẻ. Nhiều trang tính được chấp nhận, miễn là các cột được cấu trúc đúng.</p> 
<p>Nếu tệp ở định dạng <b>CSV/TXT</b>, nó phải được mã hóa UTF-8 với TAB làm dấu phân cách để phân tách nội dung và thẻ.</p> 
<p>Trong cột thẻ, có dấu <b>phẩy</b> tiếng Anh giữa các thẻ.</p> 
<i>Các dòng văn bản không tuân theo các quy tắc trên sẽ bị bỏ qua và mỗi cặp sẽ được coi là một đoạn riêng biệt.</i>`,
      tagName: 'Thẻ',
      frequency: 'Tần số',
      searchTags: 'Thẻ tìm kiếm',
      tagTable: 'Bảng',
      tagSet: 'Thư viện',
      tagSetTip: `<p>Việc chọn các cơ sở kiến thức 'Tag' giúp gắn thẻ cho từng đoạn.</p> <p>Truy vấn đến các đoạn đó cũng sẽ kèm theo thẻ.</p> Quy trình này sẽ cải thiện độ chính xác của việc truy xuất bằng cách thêm nhiều thông tin hơn vào bộ dữ liệu, đặc biệt là khi có một tập hợp lớn các đoạn. <p>Sự khác biệt giữa thẻ và từ khóa:</p> <ul> <li>Thẻ là một tập hợp khép kín được người dùng định nghĩa và thao tác trong khi từ khóa là một tập hợp mở.</li> <li>Bạn cần tải lên các tập hợp thẻ với các mẫu trước khi sử dụng.</li> <li>Từ khóa được tạo bởi LLM, tốn kém và mất thời gian.</li> </ul>`,
      topnTags: 'Thẻ Top-N',
      tags: 'Thẻ',
      addTag: 'Thêm thẻ',
    },
    chunk: {
      chunk: 'Khối',
      bulk: 'Hàng loạt',
      selectAll: 'Chọn tất cả',
      enabledSelected: 'Bật đã chọn',
      disabledSelected: 'Tắt đã chọn',
      deleteSelected: 'Xóa đã chọn',
      search: 'Tìm kiếm',
      all: 'Tất cả',
      enabled: 'Đã bật',
      disabled: 'Đã tắt',
      keyword: 'Từ khóa',
      function: 'Chức năng',
      chunkMessage: 'Vui lòng nhập giá trị!',
      full: 'Toàn văn',
      ellipse: 'Elip',
      graph: 'Biểu đồ kiến thức',
      mind: 'Sơ đồ tư duy',
      question: 'Câu hỏi',
      questionTip:
        'Nếu có những câu hỏi được đưa ra, việc nhúng phần đó sẽ dựa trên những câu hỏi đó.',
    },
    chat: {
      newConversation: 'Cuộc trò chuyện mới',
      createAssistant: 'Tạo trợ lý',
      assistantSetting: 'Cài đặt trợ lý',
      promptEngine: 'Công cụ nhắc nhở',
      modelSetting: 'Cài đặt mô hình',
      chat: 'Chat',
      newChat: 'Chat mới',
      send: 'Gửi',
      sendPlaceholder: 'Nhắn tin cho Trợ lý...',
      chatConfiguration: 'Cấu hình Chat',
      chatConfigurationDescription:
        'Tại đây, hãy trang điểm cho một trợ lý chuyên dụng cho các cơ sở kiến thức đặc biệt của bạn! 💕',
      assistantName: 'Tên trợ lý',
      assistantNameMessage: 'Tên trợ lý là bắt buộc',
      namePlaceholder: 'ví dụ: Resume Jarvis',
      assistantAvatar: 'Avatar trợ lý',
      language: 'Ngôn ngữ',
      emptyResponse: 'Phản hồi trống',
      emptyResponseTip: `Nếu không tìm thấy gì với câu hỏi của người dùng trong cơ sở kiến thức, nó sẽ sử dụng điều này làm câu trả lời. Nếu bạn muốn LLM đưa ra ý kiến ​​riêng của mình khi không tìm thấy gì, hãy để trống.`,
      setAnOpener: 'Đặt lời mở đầu',
      setAnOpenerInitial: `Xin chào! Tôi là trợ lý của bạn, tôi có thể giúp gì cho bạn?`,
      setAnOpenerTip: 'Bạn muốn chào đón khách hàng của mình như thế nào?',
      knowledgeBases: 'Cơ sở kiến thức',
      knowledgeBasesMessage: 'Vui lòng chọn',
      knowledgeBasesTip: 'Chọn các cơ sở kiến thức liên kết.',
      system: 'Hệ thống',
      systemInitialValue: `Bạn là một trợ lý thông minh. Vui lòng tóm tắt nội dung của cơ sở kiến thức để trả lời câu hỏi. Vui lòng liệt kê dữ liệu trong cơ sở kiến thức và trả lời chi tiết. Khi tất cả nội dung cơ sở kiến thức không liên quan đến câu hỏi, câu trả lời của bạn phải bao gồm câu "Câu trả lời bạn đang tìm kiếm không được tìm thấy trong cơ sở kiến thức!" Câu trả lời cần xem xét lịch sử trò chuyện.
      Đây là cơ sở kiến thức:
      {knowledge}
      Trên đây là cơ sở kiến thức.`,
      systemMessage: 'Vui lòng nhập!',
      systemTip:
        'Hướng dẫn bạn cần LLM để làm theo khi LLM trả lời câu hỏi, chẳng hạn như thiết kế nhân vật, độ dài câu trả lời và ngôn ngữ trả lời, v.v.',
      topN: 'Top N',
      topNTip: `Không phải tất cả các khối có điểm tương đồng vượt quá 'ngưỡng tương đồng' sẽ được cung cấp cho LLMs. LLM chỉ có thể xem 'Top N' khối này.`,
      variable: 'Biến',
      variableTip: `Nếu bạn sử dụng API thoại, các biến có thể giúp bạn trò chuyện với khách hàng của mình bằng các chiến lược khác nhau.
      Các biến được sử dụng để điền vào phần 'Hệ thống' trong lời nhắc để cung cấp cho LLM một gợi ý.
      'knowledge' là một biến rất đặc biệt sẽ được điền bằng các khối được truy xuất.
      Tất cả các biến trong 'Hệ thống' phải được đặt trong dấu ngoặc nhọn.`,
      add: 'Thêm',
      key: 'Khóa',
      optional: 'Tùy chọn',
      operation: 'Thao tác',
      model: 'Mô hình',
      modelTip: 'Mô hình trò chuyện ngôn ngữ lớn',
      modelMessage: 'Vui lòng chọn!',
      freedom: 'Tự do',
      improvise: 'Tự do',
      precise: 'Chính xác',
      balance: 'Cân bằng',
      freedomTip: `'Chính xác' có nghĩa là LLM sẽ bảo thủ và trả lời câu hỏi của bạn một cách thận trọng. 'Tự do' có nghĩa là bạn muốn LLM nói chuyện nhiều và tự do. 'Cân bằng' là giữa thận trọng và tự do.`,
      temperature: 'Nhiệt độ',
      temperatureMessage: 'Nhiệt độ là bắt buộc',
      temperatureTip:
        'Tham số này điều khiển tính ngẫu nhiên của dự đoán của mô hình. Nhiệt độ thấp hơn khiến mô hình tự tin hơn về phản hồi của mình, trong khi nhiệt độ cao hơn khiến nó sáng tạo và đa dạng hơn.',
      topP: 'Top P',
      topPMessage: 'Top P là bắt buộc',
      topPTip:
        'Còn được gọi là “mẫu hạt nhân”, tham số này đặt ngưỡng để chọn một tập hợp nhỏ hơn các từ để lấy mẫu. Nó tập trung vào các từ có khả năng nhất, cắt bỏ các từ ít khả năng hơn.',
      presencePenalty: 'Phạt hiện diện',
      presencePenaltyMessage: 'Phạt hiện diện là bắt buộc',
      presencePenaltyTip:
        'Điều này khuyến khích mô hình không lặp lại cùng một thông tin bằng cách phạt các từ đã xuất hiện trong cuộc trò chuyện.',
      frequencyPenalty: 'Phạt tần suất',
      frequencyPenaltyMessage: 'Phạt tần suất là bắt buộc',
      frequencyPenaltyTip:
        'Tương tự như hình phạt hiện diện, điều này làm giảm xu hướng của mô hình lặp lại cùng một từ thường xuyên.',
      maxTokens: 'Token tối đa',
      maxTokensMessage: 'Token tối đa là bắt buộc',
      maxTokensTip:
        'Điều này đặt độ dài tối đa của đầu ra của mô hình, được đo bằng số lượng token (từ hoặc phần của từ).',
      maxTokensInvalidMessage: 'Vui lòng nhập số Token tối đa hợp lệ.',
      maxTokensMinMessage: 'Token tối đa không thể nhỏ hơn 0.',
      quote: 'Hiển thị Trích dẫn',
      quoteTip: 'Nguồn văn bản gốc có nên được hiển thị không?',
      selfRag: 'Tự RAG',
      selfRagTip:
        'Vui lòng tham khảo: https://huggingface.co/papers/2310.11511',
      overview: 'ID cuộc trò chuyện',
      pv: 'Số lượng tin nhắn',
      uv: 'Số người dùng hoạt động',
      speed: 'Tốc độ xuất token',
      tokens: 'Tiêu thụ số token',
      round: 'Số tương tác phiên',
      thumbUp: 'Sự hài lòng của khách hàng',
      preview: 'Xem trước',
      embedded: 'Nhúng',
      serviceApiEndpoint: 'Điểm cuối của API dịch vụ',
      apiKey: 'KHÓA API',
      apiReference: 'Tài liệu API',
      dateRange: 'Khoảng thời gian:',
      backendServiceApi: 'Máy chủ API',
      createNewKey: 'Tạo khóa mới',
      created: 'Được tạo',
      action: 'Hành động',
      embedModalTitle: 'Nhúng vào trang web',
      comingSoon: 'Sắp có',
      fullScreenTitle: 'Nhúng toàn màn hình',
      fullScreenDescription:
        'Nhúng iframe sau vào trang web của bạn ở vị trí mong muốn',
      partialTitle: 'Nhúng một phần',
      extensionTitle: 'Phần mở rộng Chrome',
      tokenError: 'Vui lòng tạo Token API trước tiên!',
      searching: 'đang tìm kiếm...',
      parsing: 'Phân tích cú pháp',
      uploading: 'Đang tải lên',
      uploadFailed: 'Tải lên thất bại',
      regenerate: 'Tạo lại',
      read: 'Đọc nội dung',
      tts: 'Chuyển văn bản thành giọng nói',
      ttsTip:
        'Để phát giọng nói bằng cách chuyển đổi giọng nói, vui lòng chọn TTS (mô hình chuyển đổi giọng nói) trong cài đặt trước.',
      relatedQuestion: 'Câu hỏi liên quan',
      answerTitle: 'TL',
      multiTurn: 'Tối ưu hóa đa lượt',
      multiTurnTip:
        'Trong các cuộc trò chuyện nhiều vòng, truy vấn vào cơ sở kiến thức được tối ưu hóa. Mô hình lớn sẽ được gọi để sử dụng thêm các token.',
      howUseId: 'Làm thế nào để sử dụng ID cuộc trò chuyện?',
      description: 'Mô tả về trợ lý',
      betaError: `"Beta API Token" không được để trống!`,
    },
    setting: {
      profile: 'Hồ sơ',
      profileDescription: 'Cập nhật ảnh và thông tin cá nhân của bạn tại đây.',
      maxTokens: 'Token tối đa',
      maxTokensMessage: 'Token tối đa là bắt buộc',
      maxTokensTip:
        'Điều này đặt độ dài tối đa của đầu ra của mô hình, được đo bằng số lượng token (từ hoặc phần của từ).',
      maxTokensInvalidMessage: 'Vui lòng nhập số Token tối đa hợp lệ.',
      maxTokensMinMessage: 'Token tối đa không thể nhỏ hơn 0.',
      password: 'Mật khẩu',
      passwordDescription:
        'Vui lòng nhập mật khẩu hiện tại của bạn để thay đổi mật khẩu.',
      model: 'Nhà cung cấp mô hình',
      modelDescription: 'Đặt tham số mô hình và KHÓA API ở đây.',
      team: 'Nhóm',
      system: 'Hệ thống',
      logout: 'Đăng xuất',
      api: 'API',
      username: 'Tên người dùng',
      usernameMessage: 'Vui lòng nhập tên người dùng của bạn!',
      photo: 'Ảnh của bạn',
      photoDescription: 'Điều này sẽ được hiển thị trên hồ sơ của bạn.',
      colorSchema: 'Sơ đồ màu',
      colorSchemaMessage: 'Vui lòng chọn sơ đồ màu của bạn!',
      colorSchemaPlaceholder: 'chọn sơ đồ màu của bạn',
      bright: 'Sáng',
      dark: 'Tối',
      timezone: 'Múi giờ',
      timezoneMessage: 'Vui lòng nhập múi giờ của bạn!',
      timezonePlaceholder: 'chọn múi giờ của bạn',
      email: 'Địa chỉ email',
      emailDescription: 'Sau khi đăng ký, E-mail không thể thay đổi.',
      currentPassword: 'Mật khẩu hiện tại',
      currentPasswordMessage: 'Vui lòng nhập mật khẩu của bạn!',
      newPassword: 'Mật khẩu mới',
      newPasswordMessage: 'Vui lòng nhập mật khẩu của bạn!',
      newPasswordDescription: 'Mật khẩu mới của bạn phải có hơn 8 ký tự.',
      confirmPassword: 'Xác nhận mật khẩu mới',
      confirmPasswordMessage: 'Vui lòng xác nhận mật khẩu của bạn!',
      confirmPasswordNonMatchMessage: 'Mật khẩu mới bạn nhập không khớp!',
      cancel: 'Hủy bỏ',
      addedModels: 'Các mô hình đã thêm',
      modelsToBeAdded: 'Các mô hình cần thêm',
      addTheModel: 'Thêm mô hình',
      apiKey: 'API-Key',
      apiKeyMessage:
        'Vui lòng nhập khóa API (đối với mô hình được triển khai cục bộ, bỏ qua điều này).',
      apiKeyTip:
        'Khóa API có thể được lấy bằng cách đăng ký nhà cung cấp LLM tương ứng.',
      showMoreModels: 'Hiển thị thêm mô hình',
      baseUrl: 'Base-Url',
      baseUrlTip:
        'Nếu khóa API của bạn từ OpenAI, chỉ cần bỏ qua nó. Bất kỳ nhà cung cấp trung gian nào khác sẽ cung cấp URL cơ sở này với khóa API.',
      modify: 'Sửa đổi',
      systemModelSettings: 'Cài đặt mô hình hệ thống',
      chatModel: 'Mô hình trò chuyện',
      chatModelTip:
        'LLM trò chuyện mặc định mà tất cả các cơ sở kiến thức mới tạo sẽ sử dụng.',
      embeddingModel: 'Mô hình nhúng',
      embeddingModelTip:
        'Mô hình nhúng mặc định mà tất cả các cơ sở kiến thức mới tạo sẽ sử dụng.',
      img2txtModel: 'Mô hình img2txt',
      img2txtModelTip:
        'Mô hình đa mô-đun mặc định mà tất cả các cơ sở kiến thức mới tạo sẽ sử dụng. Nó có thể mô tả hình ảnh hoặc video.',
      sequence2txtModel: 'Mô hình sequence2txt',
      sequence2txtModelTip:
        'Mô hình ASR mặc định mà tất cả các cơ sở kiến thức mới tạo sẽ sử dụng. Sử dụng mô hình này để chuyển đổi giọng nói thành văn bản tương ứng.',
      rerankModel: 'Mô hình xếp hạng lại',
      rerankModelTip: `Mô hình xếp hạng lại mặc định được sử dụng để xếp hạng lại các khối được truy xuất bởi các câu hỏi của người dùng.`,
      ttsModel: 'Mô hình TTS',
      ttsModelTip:
        'Mô hình TTS mặc định sẽ được sử dụng để tạo giọng nói trong quá trình trò chuyện theo yêu cầu.',
      workspace: 'Không gian làm việc',
      upgrade: 'Nâng cấp',
      addLlmTitle: 'Thêm LLM',
      modelName: 'Tên mô hình',
      modelID: 'ID mô hình',
      modelUid: 'UID mô hình',
      modelNameMessage: 'Vui lòng nhập tên mô hình của bạn!',
      modelType: 'Loại mô hình',
      modelTypeMessage: 'Vui lòng nhập loại mô hình của bạn!',
      addLlmBaseUrl: 'URL cơ sở',
      baseUrlNameMessage: 'Vui lòng nhập URL cơ sở của bạn!',
      vision: 'Có hỗ trợ Tầm nhìn không?',
      ollamaLink: 'Cách tích hợp {{name}}',
      FishAudioLink: 'Cách sử dụng FishAudio',
      TencentCloudLink: 'Cách sử dụng TencentCloud ASR',
      volcModelNameMessage: 'Vui lòng nhập tên mô hình của bạn!',
      addEndpointID: 'EndpointID của mô hình',
      endpointIDMessage: 'Vui lòng nhập EndpointID của mô hình của bạn',
      addArkApiKey: 'VOLC ARK_API_KEY',
      ArkApiKeyMessage: 'Vui lòng nhập ARK_API_KEY của bạn',
      addBedrockEngineAK: 'KHÓA TRUY CẬP',
      bedrockAKMessage: 'Vui lòng nhập KHÓA TRUY CẬP của bạn',
      addBedrockSK: 'KHÓA BÍ MẬT',
      bedrockSKMessage: 'Vui lòng nhập KHÓA BÍ MẬT của bạn',
      bedrockRegion: 'Vùng AWS',
      bedrockRegionMessage: 'Vui lòng chọn!',
      'us-east-1': 'US East (N. Virginia)',
      'us-west-2': 'US West (Oregon)',
      'ap-southeast-1': 'Asia Pacific (Singapore)',
      'ap-northeast-1': 'Asia Pacific (Tokyo)',
      'eu-central-1': 'Europe (Frankfurt)',
      'us-gov-west-1': 'AWS GovCloud (US-West)',
      'ap-southeast-2': 'Asia Pacific (Sydney)',
      addHunyuanSID: 'Hunyuan Secret ID',
      HunyuanSIDMessage: 'Vui lòng nhập ID bí mật của bạn',
      addHunyuanSK: 'Hunyuan Secret Key',
      HunyuanSKMessage: 'Vui lòng nhập Khóa bí mật của bạn',
      addTencentCloudSID: 'TencentCloud Secret ID',
      TencentCloudSIDMessage: 'Vui lòng nhập ID bí mật của bạn',
      addTencentCloudSK: 'TencentCloud Secret Key',
      TencentCloudSKMessage: 'Vui lòng nhập Khóa bí mật của bạn',
      SparkModelNameMessage: 'Vui lòng chọn mô hình Spark',
      addSparkAPIPassword: 'Mật khẩu API Spark',
      SparkAPIPasswordMessage: 'vui lòng nhập mật khẩu API của bạn',
      addSparkAPPID: 'ID Ứng dụng Spark',
      SparkAPPIDMessage: 'vui lòng nhập APPID của bạn',
      addSparkAPISecret: 'Mật khẩu API Spark',
      SparkAPISecretMessage: 'vui lòng nhập Mật khẩu API của bạn',
      addSparkAPIKey: 'Khóa API Spark',
      SparkAPIKeyMessage: 'vui lòng nhập Khóa API của bạn',
      yiyanModelNameMessage: 'Vui lòng nhập tên mô hình',
      addyiyanAK: 'Khóa API yiyan',
      yiyanAKMessage: 'Vui lòng nhập KHÓA API của bạn',
      addyiyanSK: 'Khóa bí mật yiyan',
      yiyanSKMessage: 'Vui lòng nhập KHÓA BÍ MẬT của bạn',
      FishAudioModelNameMessage:
        'Vui lòng đặt tên cho mô hình tổng hợp giọng nói của bạn',
      addFishAudioAK: 'Khóa API Fish Audio',
      addFishAudioAKMessage: 'Vui lòng nhập KHÓA API của bạn',
      addFishAudioRefID: 'ID Tham chiếu Fish Audio',
      addFishAudioRefIDMessage:
        'Vui lòng nhập ID Tham chiếu (để trống để sử dụng mô hình mặc định).',
      GoogleModelIDMessage: 'Vui lòng nhập ID mô hình của bạn!',
      addGoogleProjectID: 'ID Dự án',
      GoogleProjectIDMessage: 'Vui lòng nhập ID Dự án của bạn',
      addGoogleServiceAccountKey:
        'Khóa Tài khoản Dịch vụ (Để trống nếu bạn sử dụng Ứng dụng mặc định Tín hiệu)',
      GoogleServiceAccountKeyMessage:
        'Vui lòng nhập Khóa Tài khoản Dịch vụ Google Cloud ở định dạng base64',
      addGoogleRegion: 'Vùng Google Cloud',
      GoogleRegionMessage: 'Vui lòng nhập Vùng Google Cloud',
      modelProvidersWarn: `Vui lòng thêm cả mô hình nhúng và LLM trong <b>Cài đặt > Nhà cung cấp mô hình</b> trước tiên. Sau đó, đặt chúng trong 'Cài đặt mô hình hệ thống'.`,
      apiVersion: 'Phiên bản API',
      apiVersionMessage: 'Vui lòng nhập phiên bản API',
      add: 'Thêm',
      updateDate: 'Ngày cập nhật',
      role: 'Vai trò',
      invite: 'Mời',
      agree: 'Đồng ý',
      refuse: 'Từ chối',
      teamMembers: 'Thành viên nhóm',
      joinedTeams: 'Nhóm đã tham gia',
      bedrockModelNameMessage: `Vui lòng nhập tên model của bạn!`,
      sureDelete: `Bạn có chắc chắn muốn xóa thành viên này không?`,
      quit: `Rời khỏi`,
      sureQuit: `Bạn có chắc chắn muốn rời khỏi nhóm mà bạn đã tham gia không?`,
      FishAudioAKMessage: `Vui lòng nhập KEY API`,
      FishAudioRefIDMessage: `Vui lòng nhập ID của model tham chiếu (để trống để sử dụng model mặc định)`,
    },
    message: {
      registered: 'Đã đăng ký!',
      logout: 'Đăng xuất',
      logged: 'Đã đăng nhập!',
      pleaseSelectChunk: 'Vui lòng chọn khối!',
      modified: 'Đã sửa đổi',
      created: 'Đã tạo',
      deleted: 'Đã xóa',
      renamed: 'Đã đổi tên',
      operated: 'Đã thao tác',
      updated: 'Đã cập nhật',
      uploaded: 'Đã tải lên',
      200: 'Máy chủ trả về dữ liệu được yêu cầu thành công.',
      201: 'Tạo hoặc sửa đổi dữ liệu thành công.',
      202: 'Một yêu cầu đã được xếp hàng trong nền (tác vụ không đồng bộ).',
      204: 'Dữ liệu đã bị xóa thành công.',
      400: 'Có lỗi trong yêu cầu được đưa ra và máy chủ không tạo hoặc sửa đổi dữ liệu.',
      401: 'Người dùng không có quyền (token, tên người dùng, mật khẩu sai).',
      403: 'Người dùng được ủy quyền nhưng bị cấm truy cập.',
      404: 'Yêu cầu được thực hiện cho một bản ghi không tồn tại và máy chủ không thực hiện thao tác.',
      406: 'Định dạng được yêu cầu không khả dụng.',
      410: 'Tài nguyên được yêu cầu đã bị xóa vĩnh viễn và sẽ không khả dụng nữa.',
      413: 'Tổng kích thước của các tệp được tải lên cùng một lúc quá lớn.',
      422: 'Khi tạo đối tượng, lỗi xác thực đã xảy ra.',
      500: 'Đã xảy ra lỗi máy chủ, vui lòng kiểm tra máy chủ.',
      502: 'Lỗi cổng.',
      503: 'Dịch vụ không khả dụng và máy chủ đang quá tải tạm thời hoặc đang được bảo trì.',
      504: 'Hết thời gian chờ cổng.',
      requestError: 'Lỗi yêu cầu',
      networkAnomalyDescription:
        'Mạng của bạn có sự bất thường và bạn không thể kết nối với máy chủ.',
      networkAnomaly: 'Bất thường mạng',
      hint: 'Gợi ý',
    },
    fileManager: {
      name: 'Tên',
      uploadDate: 'Ngày tải lên',
      knowledgeBase: 'Cơ sở kiến thức',
      size: 'Kích thước',
      action: 'Hành động',
      addToKnowledge: 'Liên kết đến Cơ sở kiến thức',
      pleaseSelect: 'Vui lòng chọn',
      newFolder: 'Thư mục mới',
      file: 'Tệp',
      uploadFile: 'Tải tệp lên',
      directory: 'Thư mục',
      uploadTitle: 'Nhấp hoặc kéo thả tệp vào khu vực này để tải lên',
      uploadDescription:
        'Hỗ trợ tải lên đơn hoặc hàng loạt. Nghiêm cấm tải lên dữ liệu công ty hoặc các tệp bị cấm khác.',
      local: 'Tải lên cục bộ',
      s3: 'Tải lên S3',
      preview: 'Xem trước',
      fileError: 'Lỗi tệp',
      uploadLimit:
        'Kích thước tệp không được vượt quá 10M và tổng số tệp không được vượt quá 128',
      destinationFolder: 'Thư mục đích',
    },
    flow: {
      cite: 'Dẫn nguồn',
      citeTip: 'Mẹo dẫn nguồn',
      name: 'Tên',
      nameMessage: 'Vui lòng nhập tên',
      description: 'Mô tả',
      examples: 'Ví dụ',
      to: 'Đến',
      msg: 'Tin nhắn',
      messagePlaceholder: 'tin nhắn',
      messageMsg: 'Vui lòng nhập tin nhắn hoặc xóa trường này.',
      addField: 'Thêm trường',
      addMessage: 'Thêm tin nhắn',
      loop: 'Lặp',
      loopTip:
        'Lặp là giới hạn trên của số lần lặp của thành phần hiện tại, khi số lần lặp vượt quá giá trị của vòng lặp, có nghĩa là thành phần không thể hoàn thành tác vụ hiện tại, vui lòng tối ưu hóa lại tác nhân',
      yes: 'Có',
      no: 'Không',
      key: 'Khóa',
      componentId: 'ID Thành phần',
      add: 'Thêm',
      operation: 'hoạt động',
      run: 'Chạy',
      save: 'Lưu',
      title: 'ID:',
      beginDescription: 'Đây là nơi bắt đầu luồng công việc.',
      answerDescription: `Một thành phần đóng vai trò như giao diện giữa người và bot, nhận đầu vào của người dùng và hiển thị phản hồi của tác nhân.`,
      retrievalDescription: `Một thành phần truy xuất thông tin từ một cơ sở kiến thức được chỉ định và trả về 'Phản hồi trống' nếu không tìm thấy thông tin. Đảm bảo chọn đúng cơ sở kiến thức.`,
      generateDescription: `Một thành phần nhắc LLM tạo phản hồi. Đảm bảo lời nhắc được đặt chính xác.`,
      categorizeDescription: `Một thành phần sử dụng LLM để phân loại đầu vào của người dùng thành các danh mục được xác định trước. Đảm bảo bạn chỉ định tên, mô tả và ví dụ cho mỗi danh mục, cùng với thành phần tiếp theo tương ứng.`,
      relevantDescription: `Một thành phần sử dụng LLM để đánh giá xem đầu ra phía thượng nguồn có liên quan đến truy vấn mới nhất của người dùng hay không. Đảm bảo bạn chỉ định thành phần tiếp theo cho mỗi kết quả đánh giá.`,
      rewriteQuestionDescription: `Một thành phần tinh chỉnh truy vấn của người dùng nếu không thể truy xuất thông tin liên quan từ cơ sở kiến thức. Nó lặp lại quá trình này cho đến khi đạt đến giới hạn lặp trên được xác định trước. Đảm bảo phía thượng nguồn của nó là 'Liên quan' và phía hạ nguồn là 'Truy xuất'.`,
      messageDescription:
        "Một thành phần gửi đi một tin nhắn tĩnh. Nếu nhiều tin nhắn được cung cấp, nó sẽ chọn ngẫu nhiên một tin nhắn để gửi. Đảm bảo phía hạ nguồn của nó là 'Trả lời', thành phần giao diện.",
      keywordDescription: `Một thành phần truy xuất N kết quả tìm kiếm hàng đầu từ đầu vào của người dùng. Đảm bảo giá trị TopN được đặt chính xác trước khi sử dụng.`,
      switchDescription: `Một thành phần đánh giá các điều kiện dựa trên đầu ra của các thành phần trước đó và định hướng luồng thực thi cho phù hợp. Nó cho phép logic phân nhánh phức tạp bằng cách xác định các trường hợp và chỉ định hành động cho mỗi trường hợp hoặc hành động mặc định nếu không đáp ứng bất kỳ điều kiện nào.`,
      wikipediaDescription: `Thành phần này được sử dụng để lấy kết quả tìm kiếm từ wikipedia.org. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.`,
      promptText: `Vui lòng tóm tắt các đoạn văn sau. Cẩn thận với các số, đừng bịa ra. Các đoạn văn như sau:
               {input}
        Nội dung ở trên là nội dung bạn cần tóm tắt.`,
      createGraph: 'Tạo tác nhân',
      createFromTemplates: 'Tạo từ mẫu',
      retrieval: 'Truy xuất',
      generate: 'Sinh',
      answer: 'Trả lời',
      categorize: 'Phân loại',
      relevant: 'Liên quan',
      rewriteQuestion: 'Viết lại câu hỏi',
      rewrite: 'Viết lại',
      begin: 'Bắt đầu',
      message: 'Tin nhắn',
      blank: 'Trống',
      createFromNothing: 'Tạo tác nhân từ đầu',
      addItem: 'Thêm mục',
      addSubItem: 'Thêm mục con',
      nameRequiredMsg: 'Cần có tên',
      nameRepeatedMsg: 'Tên không được trùng lặp',
      keywordExtract: 'Từ khóa',
      keywordExtractDescription: `Một thành phần trích xuất các từ khóa từ truy vấn của người dùng, với Top N xác định số lượng từ khóa cần trích xuất.`,
      baidu: 'Baidu',
      baiduDescription: `Thành phần này được sử dụng để lấy kết quả tìm kiếm từ www.baidu.com. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.`,
      duckDuckGo: 'DuckDuckGo',
      duckDuckGoDescription:
        'Một thành phần truy xuất kết quả tìm kiếm từ duckduckgo.com, với TopN xác định số lượng kết quả tìm kiếm. Nó bổ sung cho các cơ sở kiến thức hiện có.',
      channel: 'Kênh',
      channelTip: `Thực hiện tìm kiếm văn bản hoặc tìm kiếm tin tức trên đầu vào của thành phần`,
      text: 'Văn bản',
      news: 'Tin tức',
      messageHistoryWindowSize: 'Cửa sổ lịch sử tin nhắn',
      messageHistoryWindowSizeTip:
        'Kích thước cửa sổ của lịch sử cuộc hội thoại cần LLM xem. Càng lớn càng tốt. Nhưng hãy cẩn thận với chiều dài nội dung tối đa của LLM.',
      wikipedia: 'Wikipedia',
      pubMed: 'PubMed',
      pubMedDescription:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://pubmed.ncbi.nlm.nih.gov/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh. Email là một trường bắt buộc.',
      email: 'Email',
      emailTip:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://pubmed.ncbi.nlm.nih.gov/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh. Email là một trường bắt buộc.',
      arXiv: 'ArXiv',
      arXivDescription:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://arxiv.org/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.',
      sortBy: 'Sắp xếp theo',
      submittedDate: 'Ngày gửi',
      lastUpdatedDate: 'Ngày cập nhật gần đây',
      relevance: 'Liên quan',
      google: 'Google',
      googleDescription:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://www.google.com/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N và SerpApi API key xác định số lượng kết quả tìm kiếm bạn cần điều chỉnh.',
      bing: 'Bing',
      bingDescription:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://www.bing.com/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N và Bing Subscription-Key xác định số lượng kết quả tìm kiếm bạn cần điều chỉnh.',
      apiKey: 'API KEY',
      country: 'Quốc gia',
      language: 'Ngôn ngữ',
      googleScholar: 'Google Scholar',
      googleScholarDescription:
        'Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://scholar.google.com/. Thông thường, nó hoạt động như một phần bổ sung cho các cơ sở kiến thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.',
      yearLow: 'Năm thấp',
      yearHigh: 'Năm cao',
      patents: 'Bằng sáng chế',
      data: 'Dữ liệu',
      deepL: 'DeepL',
      deepLDescription:
        'Thành phần này được sử dụng để dịch thuật từ https://www.deepl.com/. Thông thường, nó cung cấp kết quả dịch thuật chuyên biệt hơn.',
      authKey: 'Khóa xác thực',
      sourceLang: 'Ngôn ngữ nguồn',
      targetLang: 'Ngôn ngữ đích',
      gitHub: 'GitHub',
      githubDescription:
        'Thành phần này được sử dụng để tìm kiếm kho lưu trữ từ https://github.com/. Top N xác định số lượng kết quả tìm kiếm cần điều chỉnh.',
      baiduFanyi: 'Baidu Fanyi',
      baiduFanyiDescription:
        'Thành phần này được sử dụng để dịch thuật từ https://fanyi.baidu.com/. Thông thường, nó cung cấp kết quả dịch thuật chuyên biệt hơn.',
      appid: 'App ID',
      secretKey: 'Khóa bí mật',
      domain: 'Lĩnh vực',
      transType: 'Loại dịch',
      baiduSecretKeyOptions: {
        translate: 'Dịch thuật tổng hợp',
        fieldtranslate: 'Dịch thuật chuyên ngành',
      },
      baiduDomainOptions: {
        it: 'Công nghệ thông tin',
        finance: 'Tài chính và kinh tế',
        machinery: 'Sản xuất máy móc',
        senimed: 'Y sinh học',
        novel: 'Văn học trực tuyến',
        academic: 'Bài báo học thuật',
        aerospace: 'Hàng không vũ trụ',
        wiki: 'Khoa học nhân văn và xã hội',
        news: 'Tin tức và thông tin',
        law: 'Luật pháp và quy định',
        contract: 'Hợp đồng',
      },
      baiduSourceLangOptions: {
        auto: 'Tự động phát hiện',
        zh: 'Tiếng Trung',
        en: 'Tiếng Anh',
        yue: 'Tiếng Quảng Đông',
        wyw: 'Hán văn',
        jp: 'Tiếng Nhật',
        kor: 'Tiếng Hàn',
        fra: 'Tiếng Pháp',
        spa: 'Tiếng Tây Ban Nha',
        th: 'Tiếng Thái',
        ara: 'Tiếng Ả Rập',
        ru: 'Tiếng Nga',
        pt: 'Tiếng Bồ Đào Nha',
        de: 'Tiếng Đức',
        it: 'Tiếng Ý',
        el: 'Tiếng Hy Lạp',
        nl: 'Tiếng Hà Lan',
        pl: 'Tiếng Ba Lan',
        bul: 'Tiếng Bulgaria',
        est: 'Tiếng Estonia',
        dan: 'Tiếng Đan Mạch',
        fin: 'Tiếng Phần Lan',
        cs: 'Tiếng Séc',
        rom: 'Tiếng Romania',
        slo: 'Tiếng Slovenia',
        swe: 'Tiếng Thụy Điển',
        hu: 'Tiếng Hungary',
        cht: 'Tiếng Trung Phồn thể',
        vie: 'Tiếng Việt',
      },
      qWeather: 'QWeather',
      qWeatherDescription:
        'Thành phần này được sử dụng để lấy thông tin thời tiết từ https://www.qweather.com/. Bạn có thể lấy thời tiết, chỉ số, chất lượng không khí.',
      lang: 'Ngôn ngữ',
      type: 'Loại',
      webApiKey: 'Web API key',
      userType: 'Loại người dùng',
      timePeriod: 'Kỳ hạn',
      qWeatherLangOptions: {
        zh: 'Giản thể Trung Quốc',
        'zh-hant': 'Phồn thể Trung Quốc',
        en: 'Tiếng Anh',
        de: 'Tiếng Đức',
        es: 'Tiếng Tây Ban Nha',
        fr: 'Tiếng Pháp',
        it: 'Tiếng Ý',
        ja: 'Tiếng Nhật',
        ko: 'Tiếng Hàn',
        ru: 'Tiếng Nga',
        hi: 'Tiếng Hindi',
        th: 'Tiếng Thái',
        ar: 'Tiếng Ả Rập',
        pt: 'Tiếng Bồ Đào Nha',
        bn: 'Tiếng Bengal',
        ms: 'Tiếng Mã Lai',
        nl: 'Tiếng Hà Lan',
        el: 'Tiếng Hy Lạp',
        la: 'Tiếng Latin',
        sv: 'Tiếng Thụy Điển',
        id: 'Tiếng Indonesia',
        pl: 'Tiếng Ba Lan',
        tr: 'Tiếng Thổ Nhĩ Kỳ',
        cs: 'Tiếng Séc',
        et: 'Tiếng Estonia',
        vi: 'Tiếng Việt',
        fil: 'Tiếng Philippines',
        fi: 'Tiếng Phần Lan',
        he: 'Tiếng Do Thái',
        is: 'Tiếng Iceland',
        nb: 'Tiếng Na Uy',
      },
      qWeatherTypeOptions: {
        weather: 'Dự báo thời tiết',
        indices: 'Chỉ số cuộc sống thời tiết',
        airquality: 'Chất lượng không khí',
      },
      qWeatherUserTypeOptions: {
        free: 'Người đăng ký miễn phí',
        paid: 'Người đăng ký trả phí',
      },
      qWeatherTimePeriodOptions: {
        now: 'Bây giờ',
        '3d': '3 ngày',
        '7d': '7 ngày',
        '10d': '10 ngày',
        '15d': '12 ngày',
        '30d': '30 ngày',
      },
      publish: 'API',
      exeSQL: 'ExeSQL',
      exeSQLDescription:
        'Thành phần này truy vấn kết quả từ cơ sở dữ liệu quan hệ tương ứng thông qua các câu lệnh SQL. Hỗ trợ MySQL, PostgreSQL, MariaDB.',
      dbType: 'Loại cơ sở dữ liệu',
      database: 'Cơ sở dữ liệu',
      username: 'Tên người dùng',
      host: 'Máy chủ',
      port: 'Cổng',
      password: 'Mật khẩu',
      switch: 'Chuyển đổi',
      logicalOperator: 'Toán tử logic',
      switchOperatorOptions: {
        equal: 'bằng',
        notEqual: 'không bằng',
        gt: 'Lớn hơn',
        ge: 'Lớn hơn hoặc bằng',
        lt: 'Nhỏ hơn',
        le: 'Nhỏ hơn hoặc bằng',
        contains: 'Chứa',
        notContains: 'Không chứa',
        startWith: 'Bắt đầu bằng',
        endWith: 'Kết thúc bằng',
        empty: 'Trống',
        notEmpty: 'Không trống',
      },
      switchLogicOperatorOptions: {
        and: 'Và',
        or: 'Hoặc',
      },
      operator: 'Toán tử',
      value: 'Giá trị',
      useTemplate: 'Sử dụng mẫu này',
      wenCai: 'WenCai',
      queryType: 'Loại truy vấn',
      wenCaiDescription:
        'Thành phần này có thể được sử dụng để lấy thông tin về nhiều lĩnh vực tài chính, bao gồm nhưng không giới hạn ở cổ phiếu, quỹ, v.v...',
      wenCaiQueryTypeOptions: {
        stock: 'cổ phiếu',
        zhishu: 'chỉ số',
        fund: 'quỹ',
        hkstock: 'Cổ phiếu Hồng Kông',
        usstock: 'Thị trường chứng khoán Mỹ',
        threeboard: 'Thị trường OTC mới',
        conbond: 'Trái phiếu chuyển đổi',
        insurance: 'bảo hiểm',
        futures: 'hàng tương lai',
        lccp: 'Tài chính',
        foreign_exchange: 'Ngoại tệ',
      },
      akShare: 'AkShare',
      akShareDescription:
        'Thành phần này có thể được sử dụng để lấy thông tin tin tức cho cổ phiếu tương ứng từ trang web Eastmoney.',
      yahooFinance: 'YahooFinance',
      yahooFinanceDescription:
        'Thành phần này truy vấn thông tin về công ty dựa trên ký hiệu mã chứng khoán được cung cấp.',
      crawler: 'Trình thu thập dữ liệu',
      crawlerDescription:
        'Thành phần này có thể được sử dụng để thu thập mã nguồn HTML từ URL được chỉ định.',
      proxy: 'Proxy',
      crawlerResultOptions: {
        html: 'Html',
        markdown: 'Markdown',
        content: 'Nội dung',
      },
      extractType: 'Loại trích xuất',
      info: 'Thông tin',
      history: 'Lịch sử',
      financials: 'Tài chính',
      balanceSheet: 'Bảng cân đối kế toán',
      cashFlowStatement: 'Báo cáo lưu chuyển tiền tệ',
      jin10: 'Jin10',
      jin10Description:
        'Thành phần này có thể được sử dụng để truy cập thông tin trong lĩnh vực tài chính từ Nền tảng Mở Jin10, bao gồm tin tức nhanh, lịch, báo giá, tham khảo.',
      flashType: 'Loại flash',
      filter: 'Bộ lọc',
      contain: 'Chứa',
      calendarType: 'Loại lịch',
      calendarDatashape: 'Hình dạng dữ liệu lịch',
      symbolsDatatype: 'Kiểu dữ liệu biểu tượng',
      symbolsType: 'Loại biểu tượng',
      jin10TypeOptions: {
        flash: 'Tin tức nhanh',
        calendar: 'Lịch',
        symbols: 'Báo giá',
        news: 'tham khảo',
      },
      jin10FlashTypeOptions: {
        '1': 'Tin tức thị trường',
        '2': 'Tin tức tương lai',
        '3': 'Tin tức Mỹ-Hồng Kông',
        '4': 'Tin tức A-Share',
        '5': 'Tin tức hàng hóa & ngoại hối',
      },
      jin10CalendarTypeOptions: {
        cj: 'Lịch dữ liệu kinh tế vĩ mô',
        qh: 'Lịch tương lai',
        hk: 'Lịch thị trường chứng khoán Hồng Kông',
        us: 'Lịch thị trường chứng khoán Mỹ',
      },
      jin10CalendarDatashapeOptions: {
        data: 'Dữ liệu',
        event: 'Sự kiện',
        holiday: 'Ngày lễ',
      },
      jin10SymbolsTypeOptions: {
        GOODS: 'Báo giá hàng hóa',
        FOREX: 'Báo giá ngoại hối',
        FUTURE: 'Báo giá thị trường quốc tế',
        CRYPTO: 'Báo giá tiền điện tử',
      },
      jin10SymbolsDatatypeOptions: {
        symbols: 'Danh sách hàng hóa',
        quotes: 'Báo giá thị trường mới nhất',
      },
      concentrator: 'Bộ tập trung',
      concentratorDescription:
        'Một thành phần nhận đầu ra từ thành phần thượng nguồn và chuyển nó làm đầu vào cho các thành phần hạ lưu.',
      tuShare: 'TuShare',
      tuShareDescription:
        'Thành phần này có thể được sử dụng để lấy thông tin tin tức tài chính từ các trang web tài chính chính thống, hỗ trợ nghiên cứu ngành và định lượng.',
      tuShareSrcOptions: {
        sina: 'Sina',
        wallstreetcn: 'wallstreetcn',
        '10jqka': 'Straight flush',
        eastmoney: 'Eastmoney',
        yuncaijing: 'YUNCAIJING',
        fenghuang: 'FENGHUANG',
        jinrongjie: 'JRJ',
      },
      token: 'Token',
      src: 'Nguồn',
      startDate: 'Ngày bắt đầu',
      endDate: 'Ngày kết thúc',
      keyword: 'Từ khóa',
      note: 'Ghi chú',
      noteDescription: 'Ghi chú',
      notePlaceholder: 'Vui lòng nhập ghi chú',
      invoke: 'Gọi',
      invokeDescription:
        'Thành phần này có thể gọi hàm từ xa. Đặt đầu ra của các thành phần khác làm tham số hoặc đặt các tham số hằng để gọi các hàm từ xa.',
      url: 'Url',
      method: 'Phương pháp',
      timeout: 'Thời gian chờ',
      headers: 'Tiêu đề',
      cleanHtml: 'Làm sạch HTML',
      cleanHtmlTip:
        'Nếu phản hồi được định dạng HTML và chỉ muốn nội dung chính, hãy bật nó lên.',
      reference: 'Tham khảo',
      input: 'Đầu vào',
      output: 'Đầu ra',
      parameter: 'Tham số',
      howUseId: 'Cách sử dụng ID tác nhân?',
      content: 'Nội dung',
      operationResults: 'Kết quả hoạt động',
      autosaved: 'Tự động lưu',
      optional: 'Tùy chọn',
      pasteFileLink: 'Dán liên kết tệp',
      testRun: 'Chạy thử nghiệm',
      template: 'Mẫu',
      templateDescription: `Thành phần này được sử dụng để sắp chữ đầu ra của nhiều thành phần khác nhau.1. Hỗ trợ mẫu Jinja2, trước tiên chuyển đầu vào thành đối tượng và sau đó kết xuất mẫu. 2. Phương pháp ban đầu sử dụng thay thế chuỗi {parameter} cũng được giữ lại đồng thời`,
      arXivTip: `Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://arxiv.org/. Thông thường, nó hoạt động như một phần bổ sung cho cơ sở tri thức. Top N chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.`,
      googleTip: `Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://www.google.com/. Thông thường, nó hoạt động như một phần bổ sung cho cơ sở tri thức. Top N và khóa API SerpApi chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.`,
      bingTip: `Thành phần này được sử dụng để lấy kết quả tìm kiếm từ https://www.bing.com/. Thông thường, nó hoạt động như một phần bổ sung cho cơ sở tri thức. Top N và khóa đăng ký Bing chỉ định số lượng kết quả tìm kiếm bạn cần điều chỉnh.`,
      gitHubDescription: `Thành phần này được sử dụng để tìm kiếm các kho lưu trữ từ https://github.com/. Top N chỉ định số lượng kết quả tìm kiếm cần điều chỉnh.`,
      flow: `Quy trình làm việc`,
      emailDescription: 'Gửi email đến địa chỉ đã chỉ định',
      toEmail: 'Email người nhận',
      smtpServerRequired: 'Vui lòng nhập địa chỉ máy chủ SMTP',
      emailContent: 'Nội dung',
      smtpServer: 'SMTP Server',
      smtpPort: 'SMTP Port',
      senderEmailRequired: 'Vui lòng nhập email người gửi',
      authCodeRequired: 'Vui lòng nhập mã xác thực',
      toEmailRequired: 'Vui lòng nhập email người nhận',
      emailContentRequired: 'Vui lòng nhập nội dung email',
      emailSentSuccess: 'Email đã được gửi thành công',
      emailSentFailed: 'Không gửi được email',
      jsonFormatTip:
        'Thành phần thượng nguồn phải cung cấp chuỗi JSON theo định dạng sau:',
      emailComponent: 'Email',
      senderEmail: 'Người gửi Email',
      authCode: 'Mã xác minh',
      senderName: 'Tên người gửi',
      jsonUploadContentErrorMessage: 'lỗi tệp json',
      contentTip: 'content: Nội dung email (Tùy chọn)',
      subjectTip: 'subject: Tiêu đề email (Tùy chọn)',
      jsonUploadTypeErrorMessage: 'Vui lòng tải lên tệp json',
      dynamicParameters: 'Tham số động',
      emailSubject: 'Tiêu đề email',
      ccEmail: 'Email CC',
      toEmailTip: 'to_email: Email người nhận (Bắt buộc)',
      ccEmailTip: 'cc_email: Email CC (Tùy chọn)',
      iteration: 'Khối lặp',
      iterationDescription: `Thành phần này trước tiên chia đầu vào thành mảng bằng "dấu phân cách". Thực hiện các bước thao tác tương tự trên các phần tử trong mảng theo trình tự cho đến khi tất cả các kết quả được xuất ra, có thể được hiểu là bộ xử lý hàng loạt tác vụ. Ví dụ: trong nút lặp lại bản dịch văn bản dài, nếu tất cả nội dung được nhập vào nút LLM, có thể đạt đến giới hạn hội thoại duy nhất. Trước tiên, nút ngược dòng có thể chia văn bản dài thành nhiều mảnh và hợp tác với nút lặp đi lặp lại để thực hiện dịch hàng loạt trên mỗi phân đoạn để tránh đạt đến giới hạn tin nhắn LLM cho một cuộc hội thoại.`,
      delimiterTip: `Dấu phân cách này được sử dụng để chia văn bản đầu vào thành nhiều đoạn văn bản, tiếng vang sẽ được thực hiện dưới dạng mục đầu vào của mỗi lần lặp.`,
      delimiterOptions: {
        comma: 'Dấu phẩy',
        lineBreak: 'Ngắt dòng',
        tab: 'Tab',
        underline: 'Gạch chân',
        diagonal: 'Diagonal',
      },
    },
    footer: {
      profile: 'All rights reserved @ React',
    },
    layout: {
      file: 'tệp',
      knowledge: 'kiến thức',
      chat: 'trò chuyện',
    },
  },
};