| import { NextResponse } from 'next/server'; | |
| export async function POST(req: Request) { | |
| try { | |
| const { message, history } = await req.json(); | |
| const apiKey = process.env.GEMINI_API_KEY; | |
| const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${apiKey}`, { | |
| method: 'POST', | |
| headers: { 'Content-Type': 'application/json' }, | |
| body: JSON.stringify({ | |
| contents: [ | |
| ...history.map(m => ({ | |
| role: m.role === 'assistant' ? 'model' : 'user', | |
| parts: [{ text: m.content }] | |
| })), | |
| { role: 'user', parts: [{ text: message }] } | |
| ] | |
| }) | |
| }); | |
| const data = await response.json(); | |
| const text = data.candidates?.[0]?.content?.parts?.[0]?.text || "عذراً، لم أستطع استنباط إجابة حالياً."; | |
| return NextResponse.json({ text }); | |
| } catch (error) { | |
| return NextResponse.json({ error: 'Failed to fetch Gemini' }, { status: 500 }); | |
| } | |
| } |