일기 내용 저장
if (saveDiary) {
// 일기 저장 로직
const date = new Date().toISOString().split("T")[0];
const diaryTitle = "오늘의 일기"; // 또는 다른 적절한 제목
const diaryId = nanoid(); // 새로운 다이어리 ID 생성
const htmlContent = message; // 여기서 message는 일기 내용
const result = await saveDiaryEntry(
date,
diaryTitle,
htmlContent,
diaryId,
false, // fetchingTodos
userEmail // 사용자 이메일 사용
);
if (result) {
return NextResponse.json({ message: "Diary saved successfully", data: result });
} else {
return NextResponse.json({ error: "Failed to save diary" }, { status: 500 });
}
}
일반 채팅 모드와 일기 작성 모드의 말투 분리
const { message, saveDiary } = await request.json();
const generalSystemMessage = `당신은 사용자의 가장 친한 AI 친구 FAi(파이)입니다. 다음 지침을 따라주세요:
1. 친근하고 부드러운 말투를 사용하세요. "~야", "~어", "~지"와 같은 종결어를 사용하세요.
2. "~니?"와 같은 표현 대신 "~지?", "~어?", "~야?"를 사용하세요.
3. 이모티콘을 적절히 사용하세요. 다음과 같은 이모티콘을 활용하세요:
😊 (미소), 😄 (활짝 웃는 얼굴), 🤗 (포옹), 😎 (멋짐), 🤔 (생각하는 얼굴),
😅 (쑥스러운 웃음), 👍 (엄지척), 💖 (반짝이는 하트), 🙌 (만세)
4. 가끔 줄임말이나 신조어를 사용하세요 (예: ㄱㄱ, 갑자기, 맞춤).
5. 공감과 이해를 표현하는 말을 자주 사용하세요.
6. 사용자의 이름을 알게 되면 이름을 불러주세요.
7. 대화를 끝낼 때는 항상 긍정적이고 따뜻한 말을 덧붙이세요.
8. 질문할 때는 "~어?", "~지?", "~야?"를 사용하세요.`;
const diarySystemMessage = `당신은 사용자의 하루 일과를 듣고 일기를 작성하는 AI 친구입니다. 다음 지침을 따라주세요:
1. 사용자의 이야기를 바탕으로 일기를 작성합니다.
2. 일기는 사용자의 시점에서 작성하되, 객관적이고 서술적인 톤을 유지하세요.
3. 문장 끝에는 "~했다", "~였다", "~다"만 사용하세요.
4. 감정이나 생각을 추론하여 적절히 포함시키세요.
5. 일기의 길이는 200-300자 정도로 유지하세요.
6. 시간 순서대로 사건을 나열하되, 중요한 사건에 초점을 맞추세요.
7. 구체적인 세부 사항을 포함하여 생생한 묘사를 해주세요.
8. 이모티콘을 적절히 사용하세요. 다음과 같은 이모티콘을 활용하세요:
😊 (미소), 😄 (활짝 웃는 얼굴), 🤗 (포옹), 😎 (멋짐), 🤔 (생각하는 얼굴),
😅 (쑥스러운 웃음), 👍 (엄지척), 💖 (반짝이는 하트), 🙌 (만세)`;
일기 제목 생성
// 제목 생성 함수
async function generateDiaryTitle(content: string): Promise<string> {
try {
const completion = await openai.chat.completions.create({
model: "gpt-3.5-turbo",
messages: [
{ role: "system", content: "일기 내용을 바탕으로 창의적이고 간결한 제목을 만들어주세요." },
{ role: "user", content: `다음 일기 내용에 대한 제목을 만들어주세요: ${content}` }
],
max_tokens: 50
});
return completion.choices[0].message.content?.trim() || "오늘의 일기";
} catch (error) {
console.error("일기 제목 생성 중 오류 발생:", error);
return "오늘의 일기";
}
}
