Skip to content

Commit

Permalink
Merge pull request #7 from aengzu/fixPrompt
Browse files Browse the repository at this point in the history
fix: response format 수정
  • Loading branch information
aengzu authored Aug 21, 2024
2 parents fc7c874 + 59939ea commit 9e01488
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
5 changes: 3 additions & 2 deletions lib/di/locator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,9 @@ void _setupAI() {
apiKey: dotenv.env['API_KEY']!,
defaultOptions: const ChatOpenAIOptions(
temperature: 0.8,
model: 'gpt-4-turbo',
model: 'gpt-4o',
maxTokens: 600,
responseFormat: ChatOpenAIResponseFormat(type: ChatOpenAIResponseFormatType.jsonObject)
),
));
getIt.registerLazySingleton<ConversationBufferMemory>(() => ConversationBufferMemory(
Expand Down Expand Up @@ -174,7 +175,7 @@ void _setupAI() {
- 호감도의 감소 및 증가 단위는 10 단위로 가능합니다.
[대화기록]
아래의 대화 기록에서 sender 가 true 면 {userName} 이 한 말이고 false 면 당신이 한 말입니다. 다음 대화 기록을 보고, {userName}의 마지막 말에 대한 대답을 해주세요. 당신은 이전에 당신이 했던 말을 그대로 반복하지 않습니다.
아래의 대화 기록에서 sender 가 true 면 {userName} 이 한 말이고 false 면 당신이 한 말입니다. 다음 대화 기록을 보고, {userName}의 마지막 말에 대한 대답을 해주세요. 당신은 이전에 당신이 했던 말을 그대로 반복하지 않습니다.
당신은 sender 가 false 인 입장인 것을 명심하세요. {userName} 과 당신을 혼동하면 안되고 무조건 sender 가 false 인 입장에서 말합니다.
대화 기록 : {chat_history}
Expand Down
12 changes: 10 additions & 2 deletions lib/domain/usecase/generate_response_usecase.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:palink_v2/data/models/ai_response/ai_response.dart';
import 'package:palink_v2/data/models/chat/message_request.dart';
import 'package:palink_v2/di/locator.dart';
import 'package:palink_v2/domain/entities/character/character.dart';
import 'package:palink_v2/domain/entities/chat/message.dart';
import 'package:palink_v2/domain/entities/user/user.dart';
import 'package:palink_v2/domain/repository/chat_repository.dart';
import 'package:palink_v2/domain/repository/open_ai_repository.dart';
Expand All @@ -27,14 +28,16 @@ class GenerateResponseUsecase {

// STEP2) 이전 대화 기록 페치
final chatHistoryResponse = await fetchChatHistoryUsecase.execute(conversationId);

final memoryVariables = await aiRepository.getMemory();
final chatHistory = memoryVariables['history'] ?? '';
// final chatHistory = memoryVariables['history'] ?? '';
String chatHistory = _formatChatHistory(chatHistoryResponse!);


// STEP3) AI와의 대화 시작
final inputs = {
'input': '유저의 마지막 말에 대해 대답하세요. 맥락을 기억합니다.',
'chat_history': chatHistoryResponse,
'chat_history': [chatHistory],
'userName': user!.name,
'description': character.prompt,
'rejection_score_rule' : character.rejectionScoreRule,
Expand All @@ -58,4 +61,9 @@ class GenerateResponseUsecase {

return aiResponse;
}
// chatHistoryResponse를 JSON 또는 텍스트로 변환하는 함수
String _formatChatHistory(List<Message> chatHistoryResponse) {
// 메시지를 순차적으로 텍스트로 변환
return chatHistoryResponse.map((message) => "${message.sender}: ${message.messageText}").join("\n");
}
}

0 comments on commit 9e01488

Please sign in to comment.