commit
c5dd863906
|
|
@ -1,3 +1,4 @@
|
|||
using Amazon.Runtime.Internal.Transform;
|
||||
using BotSharp.Abstraction.Infrastructures.Enums;
|
||||
using BotSharp.Abstraction.MLTasks;
|
||||
using BotSharp.Abstraction.Options;
|
||||
|
|
@ -54,8 +55,11 @@ public class TranslationService : ITranslationService
|
|||
model: _router?.LlmConfig?.Model);
|
||||
var template = _router.Templates.First(x => x.Name == "translation_prompt").Content;
|
||||
|
||||
var texts = unique.ToArray();
|
||||
var translatedStringList = await InnerTranslate(JsonSerializer.Serialize(texts, _options.JsonSerializerOptions), language, template);
|
||||
var keys = unique.ToArray();
|
||||
var texts = unique.ToArray()
|
||||
.Select((text, i) => $"{i + 1}. \"{text}\"")
|
||||
.ToList();
|
||||
var translatedStringList = await InnerTranslate(texts, language, template);
|
||||
|
||||
try
|
||||
{
|
||||
|
|
@ -70,9 +74,9 @@ public class TranslationService : ITranslationService
|
|||
var translatedTexts = translatedStringList.Texts;
|
||||
var map = new Dictionary<string, string>();
|
||||
|
||||
for (var i = 0; i < texts.Length; i++)
|
||||
for (var i = 0; i < texts.Count; i++)
|
||||
{
|
||||
map.Add(texts[i], translatedTexts[i]);
|
||||
map.Add(keys[0], translatedTexts[i]);
|
||||
}
|
||||
|
||||
clonedData = Assign(clonedData, map);
|
||||
|
|
@ -293,7 +297,7 @@ public class TranslationService : ITranslationService
|
|||
/// <param name="list"></param>
|
||||
/// <param name="language"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<TranslationOutput> InnerTranslate(string texts, string language, string template)
|
||||
private async Task<TranslationOutput> InnerTranslate(List<string> texts, string language, string template)
|
||||
{
|
||||
var translator = new Agent
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
{{ text_list }}
|
||||
{% for text in text_list %}
|
||||
{{ text }}
|
||||
{% endfor %}
|
||||
|
||||
=====
|
||||
Translate the above sentences in the list into {{ language }}.
|
||||
Output the translated text in JSON {"input_lang":"", "output_lang":"{{ language }}", "texts":[""]}, input_lang is based on the original sentences.
|
||||
Output the translated text in JSON {"input_lang":"", "output_lang":"{{ language }}", "texts":[]}, input_lang is based on the original sentences.
|
||||
Loading…
Reference in a new issue