1
+ using Amazon . Runtime . Internal . Transform ;
1
2
using BotSharp . Abstraction . Infrastructures . Enums ;
2
3
using BotSharp . Abstraction . MLTasks ;
3
4
using BotSharp . Abstraction . Options ;
@@ -54,8 +55,11 @@ public async Task<T> Translate<T>(Agent router, string messageId, T data, string
54
55
model : _router ? . LlmConfig ? . Model ) ;
55
56
var template = _router . Templates . First ( x => x . Name == "translation_prompt" ) . Content ;
56
57
57
- var texts = unique . ToArray ( ) ;
58
- var translatedStringList = await InnerTranslate ( JsonSerializer . Serialize ( texts , _options . JsonSerializerOptions ) , language , template ) ;
58
+ var keys = unique . ToArray ( ) ;
59
+ var texts = unique . ToArray ( )
60
+ . Select ( ( text , i ) => $ "{ i + 1 } . \" { text } \" ")
61
+ . ToList ( ) ;
62
+ var translatedStringList = await InnerTranslate ( texts , language , template ) ;
59
63
60
64
try
61
65
{
@@ -70,9 +74,9 @@ public async Task<T> Translate<T>(Agent router, string messageId, T data, string
70
74
var translatedTexts = translatedStringList . Texts ;
71
75
var map = new Dictionary < string , string > ( ) ;
72
76
73
- for ( var i = 0 ; i < texts . Length ; i ++ )
77
+ for ( var i = 0 ; i < texts . Count ; i ++ )
74
78
{
75
- map . Add ( texts [ i ] , translatedTexts [ i ] ) ;
79
+ map . Add ( keys [ 0 ] , translatedTexts [ i ] ) ;
76
80
}
77
81
78
82
clonedData = Assign ( clonedData , map ) ;
@@ -293,7 +297,7 @@ private T Assign<T>(T data, Dictionary<string, string> map) where T : class
293
297
/// <param name="list"></param>
294
298
/// <param name="language"></param>
295
299
/// <returns></returns>
296
- private async Task < TranslationOutput > InnerTranslate ( string texts , string language , string template )
300
+ private async Task < TranslationOutput > InnerTranslate ( List < string > texts , string language , string template )
297
301
{
298
302
var translator = new Agent
299
303
{
0 commit comments