Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - yapay zekada belirtilen anahtar bulunamadı hatası
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

yapay zekada belirtilen anahtar bulunamadı hatası

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Sudesigirci Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: yapay zekada belirtilen anahtar bulunamadı hatası
    Gönderim Zamanı: 5 Saat 4 Dakika Önce Saat 13:56
Merhaba , koduma yapay zeka entegre ederken sohbet ekranı açılıyor fakat mesaj gönderdiğimde belirtilen anahtar bulunamadı diyor gemini apiyi enabled ettim api keyi mi açık duruma getirdim fakat aynı hatayı almaya devam ediyorum yardımlarınız için şimdiden teşekkür ederim
 var
  AnaForm: TclForm;
  SoruGirdi: TclProEdit;
  GonderButon: TClProButton;
  SohbetPaneli, GirdiPaneli: TclProPanel;
  MesajListesi: TclMemo;
  AnaYerlesim: TClLayout;
  BaslikEtiketi: TclLabel;
  Istek: TclRest;
  API_ANAHTARI, IstekGovdesi, GelenCevap: string;
  SesEfekti: TclMediaPlayer;
  Son5Mesaj: array[0..4] of string;
  MesajSayaci: Integer;

void IstekTamamlandi;
{
  GelenCevap = Clomosy.CLParseJSON(Istek.Response, 'candidates.0.content.parts.0.text');

  MesajListesi.Lines.Add('🤖 Yapay Zeka: ' + GelenCevap);
  MesajListesi.ScrollTo(0, MesajListesi.Lines.Count * MesajListesi.TextSettings.Font.Size, True);
  
}

void IstekOlustur(TemelURL, Govde: string);
{
  Istek = TclRest.Create;
  Istek.Accept = 'application/json';
  Istek.ContentType = 'application/json';
  Istek.Method = rmPOST;
  Istek.ConnectTimeOut = 30000;
  Istek.BaseURL = TemelURL;
  Istek.Body = Govde;
  Istek.OnCompleted = 'IstekTamamlandi';
  Istek.ExecuteAsync;
}

void GonderButonTiklandi;
var
  i, indeks: Integer;
  TamGirdi: String;
{
  if SoruGirdi.Text <> '' {
    MesajListesi.Lines.Add('👤 Sen: ' + SoruGirdi.Text);
    MesajListesi.ScrollTo(0, MesajListesi.Lines.Count * MesajListesi.TextSettings.Font.Size, True);

    indeks = MesajSayaci - ((MesajSayaci div 5) * 5);
    Son5Mesaj[indeks] = SoruGirdi.Text;
    Inc(MesajSayaci);

    TamGirdi = '';
    for (i = 0 to 4) {
      if Son5Mesaj <> '' {
        TamGirdi = TamGirdi + '{"text": "' + Son5Mesaj + '"},';
      }
    }

    IstekGovdesi = '{
      "contents": [
        {
          "parts": [
            ' + TamGirdi +
            '{"text": "' + SoruGirdi.Text + '"}
          ]
        }
      ]
    }';

    API_ANAHTARI = 'AIzaSyCRKKrTZUs2UVGWwpKCs9OWJq7QSurbISA';
    IstekOlustur(
      IstekGovdesi
    );

    SoruGirdi.Text = '';
  }
}

void GirdiPaneliniAyarla;
{
  GirdiPaneli = AnaForm.AddNewProPanel(AnaYerlesim, 'GirdiPaneli');
  GirdiPaneli.Align = AlBottom;
  GirdiPaneli.Height = 100;
  GirdiPaneli.Margins.Top = 5;
  GirdiPaneli.Margins.Bottom = 20;
  GirdiPaneli.Margins.Left = 10;
  GirdiPaneli.Margins.Right = 10;

  SoruGirdi = AnaForm.AddNewProEdit(GirdiPaneli, 'SoruGirdi', 'Bir soru sor...');
  SoruGirdi.Align = AlClient;
  SoruGirdi.Margins.Left = 10;
  SoruGirdi.Margins.Right = 10;
  SoruGirdi.Margins.Top = 10;
  SoruGirdi.Margins.Bottom = 10;
  SoruGirdi.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3bf5c0');
  SoruGirdi.clProSettings.IsRound = True;
  SoruGirdi.clProSettings.RoundHeight = 10;
  SoruGirdi.clProSettings.RoundWidth = 10;
  SoruGirdi.SetclProSettings(SoruGirdi.clProSettings);

  GonderButon = AnaForm.AddNewProButton(GirdiPaneli, 'GonderButon', 'Gönder');
  GonderButon.Align = AlRight;
  GonderButon.Width = GirdiPaneli.Width / 4;
  GonderButon.Margins.Bottom = 10;
  GonderButon.Margins.Top = 10;
  GonderButon.Margins.Right = 10;
  GonderButon.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1814F3');
  GonderButon.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  GonderButon.clProSettings.IsRound = True;
  GonderButon.clProSettings.RoundHeight = 10;
  GonderButon.clProSettings.RoundWidth = 10;
  GonderButon.SetclProSettings(GonderButon.clProSettings);

  AnaForm.AddNewEvent(GonderButon, tbeOnClick, 'GonderButonTiklandi');
}

void SohbetPaneliniAyarla;
{
  SohbetPaneli = AnaForm.AddNewProPanel(AnaYerlesim, 'SohbetPaneli');
  SohbetPaneli.Align = AlClient;
  SohbetPaneli.Margins.Right = 10;
  SohbetPaneli.Margins.Left = 10;
  SohbetPaneli.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f7f7f7');
  SohbetPaneli.SetclProSettings(SohbetPaneli.clProSettings);

  MesajListesi = AnaForm.AddNewMemo(SohbetPaneli, 'MesajListesi', '');
  MesajListesi.Align = alClient;
  MesajListesi.ReadOnly = True;
  MesajListesi.Margins.Top = 20;
  MesajListesi.Margins.Left = 20;
  MesajListesi.Margins.Bottom = 20;
  MesajListesi.Margins.Right = 20;
  MesajListesi.TextSettings.Font.Size = 18;
  MesajListesi.TextSettings.WordWrap = True;
  MesajListesi.EnabledScroll = True;
}

void BasligiAyarla;
{
  BaslikEtiketi = AnaForm.AddNewLabel(AnaForm.LytTopBar, 'BaslikEtiketi', 'Bitki Asistanı (Yapay Zeka)');
  BaslikEtiketi.TextSettings.Font.Size = 20;
  BaslikEtiketi.Align = alLeft;
  BaslikEtiketi.Margins.Left = 14;
  BaslikEtiketi.Margins.Top = 10;
  BaslikEtiketi.Height = 65;
  BaslikEtiketi.Width = 259;
}

{
  MesajSayaci = 0;
  AnaForm = TclForm.Create(Self);
  AnaForm.BtnFormMenu.Visible = False;
  AnaForm.FormWaiting.Visible = False;

  BasligiAyarla;

  AnaYerlesim = AnaForm.AddNewLayout(AnaForm, 'AnaYerlesim');
  AnaYerlesim.Align = alClient;
  AnaYerlesim.Margins.Bottom = 10;
  AnaYerlesim.Margins.Top = 10;

  SohbetPaneliniAyarla;
  GirdiPaneliniAyarla;

  AnaForm.Run;
}

Yukarı Dön
haletr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 16 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 31
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı haletr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 18 Dakika Önce Saat 14:42

Merhaba Sude,

Öncelikle,

Aşağıdaki gibi yazılan döngüde:

TamGirdi = '';
    for (i = 0 to 4) {
      if Son5Mesaj <> '' {
        TamGirdi = TamGirdi + '{"text": "' + Son5Mesaj + '"},';
      }
    }

Son5Mesaj bir dizi olduğundan, doğrudan bu şekilde kullanıldığında hata alıyordum. Ben de dizinin indekslerini kullanarak şu şekilde güncelledim:

TamGirdi = '';
for (i = 0 to 4) {
  if (Trim(Son5Mesaj) <> '') {
    TamGirdi = TamGirdi + '{"text": "' + Son5Mesaj + '"},';
  }
}

Bu haliyle düzgün çalıştı.

Bir diğer konu da kendi API anahtarımı kullandığımda yukarıdaki düzenlemeyle birlikte her şey sorunsuz ilerledi.

Hatanın şundan kaynaklandığını düşünüyorum: 

Gemini API anahtarını aldığın sayfada (https://aistudio.google.com/apikey) en üstte yer alan model URL’sini tam olarak kopyaladığından ve bu URL’nin sonuna ?key ekleyerek kullandığından emin misin? Özellikle model endpoint’inin eksiksiz ve doğru olması önemli, aksi halde istek doğru modele gitmeyebiliyor.

İyi çalışmalar dilerim.

Yukarı Dön
Sudesigirci Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 3 Saat 48 Dakika Önce Saat 15:12
Merhaba Hale öncelikle yardımcı olduğun için teşekkür ederim   
son5mesaj yazarak dizinin tamamını karşılaştırmaya çalışıyordum fakat doğrusu aşağıdaki gibi olmalıydı
  TamGirdi = '';
    for (i = 0 to 4) {
  if Son5Mesaj <> '' {
    TamGirdi = TamGirdi + '{"text": "' + Son5Mesaj + '"},';
  }
döngüsünü düzelttiğimde kodum sorunsuz bir şekilde çalıştı. 
Sorun içinde URL nin sonuna ?key ekleyerek kullandığımda bir hata almıyorum sana da yardımcı olması için cevaplamak istedim 
İyi çalışmalar dilerim.
Yukarı Dön
Sudesigirci Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 27
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (2) Teşekkürler(2)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 3 Saat 46 Dakika Önce Saat 15:14
son5mesaj olmalıydı eksik yazmışım 
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.