Proqramlaşdırma

JavaScript: süni intellekt API-si

Gemini-yə fetch ilə sual göndər və cavabı obyektdən oxu. Açar gizli qalır.

Bütün dərslər · JavaScript dərsləri: sıfırdan öyrən

API və açar

Modeli sıfırdan yazmırsan. API kodunla hazır modeli birləşdirən körpüdür. Kod sualı göndərir, server cavabı qaytarır. Başlanğıc üçün Gemini pulsuz açar verir, kart istəmir. aistudio.google.com saytında Get API key, sonra Create API key. Açar şifrə kimidir: paylaşma və açıq GitHub-a qoyma.

Sorğu obyektidir

Sual obyektin içində gedir. Cavab mətni candidates[0].content.parts[0].text ünvanındadır. candidates massivdir, ona görə [0] yazılır. [0] unudulsa nəticə undefined olur.

const sorguMelumati = {
  contents: [
    {
      parts: [{ text: "JavaScript-də dəyişən nədir?" }]
    }
  ]
};

fetch ilə göndər

POST sualı göndərir. JSON.stringify obyekti mətnə çevirir ki, getsin. cavab.json() gələn mətni yenidən obyekt edir. Açarın əvvəlində və sonunda boşluq olmasın. Açarı səhifənin içinə qoyma: görən şəxs onu götürə bilər.

const apiKey = "BURAYA_OZ_API_ACARINIZI_YAZIN";
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=${apiKey}`;
fetch(url, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(sorguMelumati)
})
  .then(cavab => cavab.json())
  .then(melumat => {
    const aiMetni = melumat.candidates[0].content.parts[0].text;
    console.log(aiMetni);
  });

Suallar

400 və ya 403 niyə gəlir? Açar səhvdir və ya ətrafında boşluq var. Dırnağın içində yalnız açarın özü olsun.

body niyə getmir? Obyekti birbaşa yazmaq olmaz. JSON.stringify(sorguMelumati) lazımdır.

Cavab niyə undefined olur? candidates massivdir. [0] yazılmalıdır. candidates.content səhvdir.

Mətn haradan oxunur? melumat.candidates[0].content.parts[0].text

Müəllif: Nibras Code