Sayfayı Yazdır | Pencereyi Kapat

Tclrest ile aiden yanıt alma

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1074
Tarih: 13 Temmuz 2025 Saat 08:24
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Tclrest ile aiden yanıt alma
Mesajı Yazan: Sudesigirci
Konu: Tclrest ile aiden yanıt alma
Mesaj Tarihi: 10 Temmuz 2025 Saat 15:26
Merhaba dökümantasyondaki örneklerden anladığım kadarıyla TclRest ile yapay zeka ile iletişime geçip sınıflandırma yapmak istedim bir error almıyorum ama aiden yanıt modülün yanıtını alamıyorum 
var
  talepForm: TclStyleForm;
  baslikLbl: TClProLabel;
  requestpnl: TClProPanel;
  baslikedit, aciklamaedit: TClProEdit;
  eklebtn: TClProButton;
  kullaniciEmail: String;
  UserID: Integer;
  RestAI:TclRest;
  bekleyenBaslik, bekleyenAciklama: String;
  responseText: String;
  modul:TclJSONQuery;

void TalepEkle;
{
  bekleyenBaslik = baslikedit.Text;
  bekleyenAciklama = aciklamaedit.Text;

  RestAI.BaseURL = ' https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=apikeyimiyazdı" rel="nofollow - https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=apikeyimiyazdı m';
  RestAI.Method = rmPOST;
  RestAI.ContentType = 'application/json';

  RestAI.Body = '{"contents":[{"parts":[{"text":"Aşağıdaki açıklama hangi yazılım modülüne ait? Sadece modül adını belirt:\n\"' + bekleyenAciklama + '\""}]}]}';
  RestAI.ExecuteAsync;

  ShowMessage('Yapay zeka tahmin yapıyor...');
}

void AIYanitiGeldi;
{
  responseText = RestAI.Body;
  modul= TCLJSONQuery.Create(nil);
  modul =  Clomosy.ClDataSetFromJSON(responseText);
  kullaniciEmail = Clomosy.GlobalVariableString;
  UserID = Clomosy.GlobalVariableString;

  Clomosy.DBSQLiteQuery.SQL.Text =
    'INSERT INTO Talepler (kullanici_email, kullanici_id, baslik, aciklama, modul) VALUES (' +
    QuotedStr(kullaniciEmail) + ',' +
    IntToStr(UserID) + ',' +
    QuotedStr(bekleyenBaslik) + ',' +
    QuotedStr(bekleyenAciklama) + ',' +
    QuotedStr(modul) + ')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Talep başarıyla eklendi. Tahmini modül: ' + modul);

  baslikedit.Text = '';
  aciklamaedit.Text = '';
}

{
  talepForm = TclStyleForm.Create(Self);
  talepForm.SetFormBGImage(' https://i.imgur.com/rQmEqR4.jpeg" rel="nofollow - https://i.imgur.com/rQmEqR4.jpeg ');

  baslikLbl = talepForm.AddNewProLabel(talepForm, 'baslikLbl', 'Talep Oluştur');
  baslikLbl.Align = alTop;
  baslikLbl.Margins.Top = 10;
  baslikLbl.Height = 40;
  baslikLbl.clProSettings.FontSize = 30;
  baslikLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  baslikLbl.clProSettings.FontHorzAlign = palCenter;
  baslikLbl.SetclProSettings(baslikLbl.clProSettings);

  requestpnl = talepForm.AddNewProPanel(talepForm, 'requestpnl');
  requestpnl.Align = alCenter;
  requestpnl.Height = 350;
  requestpnl.Width = 400;
  requestpnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ffffff');
  requestpnl.clProSettings.RoundWidth = 8;
  requestpnl.clProSettings.RoundHeight = 8;
  requestpnl.SetclProSettings(requestpnl.clProSettings);
  requestpnl.BringToFront;

  baslikedit = talepForm.AddNewProEdit(requestpnl, 'baslikedit', 'Talep Başlığı');
  baslikedit.Align = alTop;
  baslikedit.Height = 40;
  baslikedit.Width = 60;
  baslikedit.clProSettings.FontHorzAlign = palCenter;
  baslikedit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
  baslikedit.SetclProSettings(baslikedit.clProSettings);

  aciklamaedit = talepForm.AddNewProEdit(requestpnl, 'aciklamaedit', 'Açıklama');
  aciklamaedit.Align = alTop;
  aciklamaedit.Margins.Top = 10;
  aciklamaedit.Height = 200;
  aciklamaedit.Width = 250;
  aciklamaedit.clProSettings.FontVertAlign = palLeading;
  aciklamaedit.clProSettings.FontHorzAlign = palLeading;
  aciklamaedit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
  aciklamaedit.SetclProSettings(aciklamaedit.clProSettings);

  eklebtn = talepForm.AddNewProButton(requestpnl, 'eklebtn', 'EKLE');
  eklebtn.Align = alBottom;
  eklebtn.Margins.Bottom = 5;
  eklebtn.Height = 40;
  eklebtn.Width = 60;
  eklebtn.Margins.Right = 60;
  eklebtn.Margins.Left = 60;
  eklebtn.clProSettings.RoundHeight = 8;
  eklebtn.clProSettings.RoundWidth = 8;
  eklebtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#58d7f4');
  eklebtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  eklebtn.clProSettings.TextSettings.Font.Style = [fsBold];
  eklebtn.clProSettings.FontSize = 20;
  eklebtn.SetclProSettings(eklebtn.clProSettings);

  talepForm.AddNewEvent(eklebtn, tbeOnClick, 'TalepEkle');

  RestAI = TclRest.Create;
  RestAI.OnCompleted = 'AIYanitiGeldi';


  talepForm.Run;



Cevaplar:
Mesajı Yazan: haletr
Mesaj Tarihi: 10 Temmuz 2025 Saat 16:55
Merhaba,

https://github.com/Clomosy/Yapay-Zeka-Destekli-Kitap-Secme" rel="nofollow - https://github.com/Clomosy/Yapay-Zeka-Destekli-Kitap-Secme

bu proje AI entegrasyonunda sana çok yardımcı olacaktır. İncelemeni öneririm. 

Ayrıca,

modul =  Clomosy.ClDataSetFromJSON(responseText); 

yerine

modul = Clomosy.CLParseJSON(responseText, 'candidates[0].content.parts[0].text');

kullanmak çok daha uygun olacaktır. İyi çalışmalar dilerim.



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net