Как сохранить ответы ChatGPT в теме?
Я работаю над приложением для чата, которое использует ChatGPT, чтобы дать им некоторую информацию по определенной теме.
Допустим, тема: «Цвета».
Теперь ответы ChatGPT зависят от того, что набрал пользователь. Как я могу заставить его придерживаться только одной темы.
Например:
Каков цвет Солнца?
Теперь этот вопрос действителен и связан с цветом.
Но если Пользователь спросит
Что такое 1+2?
Теперь это недействительно, поскольку контекст или тема не имеют «цвета».
Итак, как можно обеспечить это?
Часть кода, который я написал в DART
Future<(ChatGtpResponseModel?,ChatErrorResponseModel?)> getChatGtpResponse(String content) async {
final headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer $apiKey',
'OpenAI-Organization': 'org-SOMETHING'
};
// const prompt = '\n' + 'Remember to not answer requests or questions not related directly to Color.';
var data = jsonEncode(ChatGtpRequestModel(
// model:'gpt-3.5-turbo',
model: 'gpt-4',
messages: [
Message(role: 'assistant', content: content),
Message(role: 'system', content: 'You are a clever, funny, and friendly agent focused on sharing information regarding Color. Do not answer requests or questions not related to it.'),
Message(role: 'user', content: 'You are a clever, funny, and friendly agent focused on sharing information regarding Color. Do not answer requests or questions not related to it.'),
],
temperature: 0,
));
final url = Uri.parse('https://api.openai.com/v1/chat/completions');
final res = await http.post(url, headers: headers, body: data);
if (res.statusCode != 200) {
var model = ChatErrorResponseModel.fromJson(json.decode(res.body));
return (null,model);
}
var model = ChatGtpResponseModel.fromJson(json.decode(res.body));
return (model,null);
}
Но это не относится к этой теме.