translate method
METHOD FOR TRANSLATING A TEXT
Implementation
Future<Map<String, dynamic>> translate(String fromLanguage, String toLanguage, String text)async{
final client = OpenAIClient(
apiKey: mainClient.openAIApikey,
organization: mainClient.openAIOrgID,
);
if(kAvailableLanguages.contains(fromLanguage) == false){
return {"status" : "error", "message" : "The from-language '$fromLanguage' is not yet supported"};
}else if(kAvailableLanguages.contains(toLanguage) == false){
return {"status" : "error", "message" : "The to-language '$toLanguage' is not yet supported"};
}else{
///CHECK IF THE MODEL EXISTS
if(kAllowedModels.contains(mainClient.model)){
final res = await client.createChatCompletion(
request: CreateChatCompletionRequest(
model: ChatCompletionModel.modelId(mainClient.model),
maxTokens: 2000,
temperature: 0,
topP: 1,
messages: [
const ChatCompletionMessage.system(
content: "You are a helpful translator that detect a text and return only the locale code of the language the text was written in. Example format ' en_us ' ",
),
ChatCompletionMessage.user(
content: ChatCompletionUserMessageContent.string("translate '$text' from $fromLanguage to $toLanguage "),
),
],
),
);
return {"status" : "success", "translation" : res.choices.first.message.content, "original_text" : text, "from" : fromLanguage, "to" : toLanguage};
}else{
return {"status" : "error", "message" : "Invalid or unsupported openAI model"};
}
}
}