![]() |
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 ![]() |
Yazar | |
Sudesigirci ![]() Yeni Üye ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: KONYA Durum: Aktif Değil Puanlar: 27 |
![]() Yanıt Yaz
Alıntı Sudesigirci
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: 5 Saat 24 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( 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-pro:generateContent?key=' + API_ANAHTARI, 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; } |
|
![]() |
|
haletr ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 16 Haziran 2025 Konum: Konya Durum: Aktif Değil Puanlar: 31 |
![]() ![]() ![]() ![]() ![]() |
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. |
|
![]() |
|
Sudesigirci ![]() Yeni Üye ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: KONYA Durum: Aktif Değil Puanlar: 27 |
![]() Yanıt Yaz
Alıntı Sudesigirci
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
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. |
|
![]() |
|
Sudesigirci ![]() Yeni Üye ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: KONYA Durum: Aktif Değil Puanlar: 27 |
![]() Yanıt Yaz
Alıntı Sudesigirci
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
son5mesaj olmalıydı eksik yazmışım
|
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |