| import { GoogleGenerativeAI } from "@google/generative-ai";
|
|
|
| const genAI = new GoogleGenerativeAI(process.env.API_KEY);
|
| const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
|
|
|
| |
| |
| |
| |
| |
| |
|
|
| export async function jalankanJadwalAgent(pesanUser, dataJadwalCSV, riwayat = []) {
|
| const promptSistem = `
|
| Kamu adalah asisten admin Sekolah Minggu DNA Kids yang cerdas, ramah, dan sangat teliti.
|
| Tugasmu adalah menjawab pertanyaan user berdasarkan DATA MENTAH CSV dari Google Sheets berikut ini:
|
|
|
| ========== DATA JADWAL CSV ==========
|
| ${dataJadwalCSV}
|
| =====================================
|
|
|
| ATURAN UTAMA:
|
| 1. Jawablah secara singkat, padat, informatif, dan gunakan emoji Kristen/anak-anak yang ramah (seperti β¨, π, π, π).
|
| 2. Jika data yang dicari user tidak ada di dalam CSV, katakan dengan jujur dan sopan bahwa jadwal belum tertera.
|
| 3. Selalu asumsikan format tanggal pada CSV adalah HARI, TANGGAL-BULAN-TAHUN.
|
| 4. Jangan berhalusinasi atau mengada-ada nama atau tanggal yang tidak tertera di data CSV.
|
| `;
|
|
|
|
|
| const konteksRiwayat = riwayat.length > 0
|
| ? `--- RIWAYAT PERCAKAPAN SEBELUMNYA (Gunakan sebagai konteks jika user menggunakan kata ganti seperti "kalau minggu depannya lagi?") ---\n` +
|
| riwayat.map(h => `${h.role === 'user' ? 'User' : 'Asisten'}: ${h.content}`).join('\n') +
|
| '\n=====================================\n'
|
| : '';
|
|
|
| try {
|
|
|
| const hasil = await model.generateContent([promptSistem, konteksRiwayat, pesanUser]);
|
| return hasil.response.text();
|
| } catch (error) {
|
| console.error("β Eror pada Jadwal Agent:", error);
|
| return "Maaf ya, Kak, sistem kami sedang mengalami kendala saat membaca jadwal. Mohon hubungi koordinator. π";
|
| }
|
| } |