Update script.js
Browse files
script.js
CHANGED
|
@@ -63,42 +63,65 @@ async function sendMessage() {
|
|
| 63 |
messages.scrollTop = messages.scrollHeight;
|
| 64 |
}
|
| 65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
async function generate(q) {
|
| 67 |
// Mengambil riwayat percakapan untuk pengguna tertentu
|
| 68 |
const userConversation = conversationHistory[userId] || [];
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
"Content-Type": "application/json",
|
| 82 |
-
"X-WP-Nonce": xwp.restNonce,
|
| 83 |
-
Accept: "text/event-stream"
|
| 84 |
-
},
|
| 85 |
-
body: JSON.stringify({
|
| 86 |
-
botId: "default",
|
| 87 |
-
messages: [
|
| 88 |
-
{
|
| 89 |
-
role: "system",
|
| 90 |
-
content:
|
| 91 |
-
'Kamu adalah asisten virtual dengan nama ikyy yang dibuat oleh ikyyofc, jawablah setiap pertanyaan dengan sangat singkat dan langsung ke intinya. Gunakan bahasa slang yang umum, tanpa tanda baca dan tanpa kapitalisasi. Manfaatkan akronim dan singkatan sebanyak mungkin, dan tulis kata ulang tanpa tanda minus. Semua respons harus memakai gaya gaul dan langsung, hindari kesan formal atau ramah.'
|
| 92 |
-
},
|
| 93 |
-
...userConversation
|
| 94 |
-
],
|
| 95 |
-
newMessage: q,
|
| 96 |
-
stream: false
|
| 97 |
-
})
|
| 98 |
}
|
| 99 |
-
);
|
| 100 |
-
let tes = await bot.json();
|
| 101 |
|
| 102 |
// Mengembalikan respons dari bot
|
| 103 |
-
return
|
| 104 |
}
|
|
|
|
| 63 |
messages.scrollTop = messages.scrollHeight;
|
| 64 |
}
|
| 65 |
|
| 66 |
+
class Nazu {
|
| 67 |
+
constructor() {
|
| 68 |
+
this.baseURL = "https://api.nazuna.my.id/api/";
|
| 69 |
+
//this.apiKey = process.env.API_KEYS;
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
nazuna = async (endpoint, options = {}) => {
|
| 73 |
+
const { data, ...params } = options;
|
| 74 |
+
const method = data ? "POST" : "GET";
|
| 75 |
+
|
| 76 |
+
const url = new URL(endpoint, this.baseURL);
|
| 77 |
+
if (method === "GET") {
|
| 78 |
+
Object.keys(params).forEach(key =>
|
| 79 |
+
url.searchParams.append(key, params[key])
|
| 80 |
+
);
|
| 81 |
+
}
|
| 82 |
+
|
| 83 |
+
const config = {
|
| 84 |
+
method: method,
|
| 85 |
+
headers: {
|
| 86 |
+
//Authorization: this.apiKey,
|
| 87 |
+
Accept: "*/*",
|
| 88 |
+
"Content-Type": "application/json"
|
| 89 |
+
},
|
| 90 |
+
...(method === "POST" && { body: JSON.stringify(data) })
|
| 91 |
+
};
|
| 92 |
+
|
| 93 |
+
try {
|
| 94 |
+
const response = await fetch(url, config);
|
| 95 |
+
if (!response.ok) {
|
| 96 |
+
throw new Error(`HTTP error! status: ${response.status}`);
|
| 97 |
+
}
|
| 98 |
+
return await response.json();
|
| 99 |
+
} catch (e) {
|
| 100 |
+
throw e;
|
| 101 |
+
}
|
| 102 |
+
};
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
let Api = new Nazu();
|
| 106 |
+
|
| 107 |
async function generate(q) {
|
| 108 |
// Mengambil riwayat percakapan untuk pengguna tertentu
|
| 109 |
const userConversation = conversationHistory[userId] || [];
|
| 110 |
|
| 111 |
+
let response = await Api.nazuna("ai/ai-chat", {
|
| 112 |
+
data: {
|
| 113 |
+
messages: [
|
| 114 |
+
{
|
| 115 |
+
role: "system",
|
| 116 |
+
content:
|
| 117 |
+
"Kamu adalah asisten virtual dengan nama ikyy yang dibuat oleh ikyyofc, jawablah setiap pertanyaan dengan sangat singkat dan langsung ke intinya. Gunakan bahasa slang yang umum, tanpa tanda baca dan tanpa kapitalisasi. Manfaatkan akronim dan singkatan sebanyak mungkin, dan tulis kata ulang tanpa tanda minus. Semua respons harus memakai gaya gaul dan langsung, hindari kesan formal atau ramah."
|
| 118 |
+
},
|
| 119 |
+
...userConversation
|
| 120 |
+
],
|
| 121 |
+
model: "gemma2-9b-it"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
}
|
| 123 |
+
});
|
|
|
|
| 124 |
|
| 125 |
// Mengembalikan respons dari bot
|
| 126 |
+
return response.data.choices[0].message.content;
|
| 127 |
}
|