Skip to content

Commit 929763d

Browse files
committed
サーバーアクションに修正
1 parent f6d1ddd commit 929763d

File tree

2 files changed

+36
-31
lines changed

2 files changed

+36
-31
lines changed

app/actions/chatActions.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
'use server';
2+
3+
import { GoogleGenerativeAI } from "@google/generative-ai";
4+
5+
interface FormState {
6+
response: string;
7+
error: string | null;
8+
}
9+
10+
const genAI = new GoogleGenerativeAI(process.env.API_KEY!);
11+
12+
export async function askAI(
13+
prevState: FormState,
14+
formData: FormData
15+
): Promise<FormState> {
16+
const message = formData.get('message');
17+
18+
if (!message || typeof message !== 'string' || message.trim() === '') {
19+
return { response: '', error: 'メッセージを入力してください。' };
20+
}
21+
22+
try {
23+
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
24+
const result = await model.generateContent(message);
25+
const response = result.response;
26+
const text = response.text();
27+
return { response: text, error: null };
28+
} catch (error: unknown) {
29+
console.error("Error calling Generative AI:", error);
30+
if (error instanceof Error) {
31+
return { response: '', error: `AIへのリクエスト中にエラーが発生しました: ${error.message}` };
32+
}
33+
return { response: '', error: '予期せぬエラーが発生しました。' };
34+
}
35+
}
36+

app/api/chat/route.js

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)