var
Form1 : TclForm;
InputText : TclProEdit;
ResponseMemo : TclMemo;
Button1 : TclButton;
clRest : TCLRest; ResponseBody2:tstringlist;
RequestBody, ResponseBody : string;
void BtnOnClick;
{
try
// clRest bileşeni (API bağlantısı için) oluşturuluyor
clRest = TCLRest.Create;
// Kullanıcıdan alınan metni JSON formatında API'ye gönderilecek hale getiriyoruz
/* RequestBody = '{"contents":{"parts":{"text":"' + InputText.Text + '"}}"}';*/
RequestBody ='{"contents":{ "role": "user", "parts": {"text": "' + InputText.Text + '"}},"generationConfig": {"temperature": 1,"topK": 40,"topP": 0.95,"maxOutputTokens": 8192,"responseMimeType": "text/plain"}}';
// clRest bileşeni ile API bağlantısı kuruyoruz
clRest.BaseURL = ' https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=My" rel="nofollow - https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=My API'; // Gerçek API endpointini kullanın
clRest.Accept = 'application/json';
clRest.Method = rmPOST;
clRest.AddHeader( 'Content-Type',' application/json');
clRest.AddBody(RequestBody, 'application/json');
// API isteğini gönderiyoruz
clRest.Execute;
// Yanıt kontrolü
if (clRest.Response <> '')
{
// Başarılı bir yanıt aldıysak, yanıtı ResponseMemo'ya ekliyoruz
ResponseBody = clRest.Response; ResponseBody2= Clomosy.StringListNew; ResponseBody2.Delimiter = '"';
ResponseBody2.DelimitedText = ResponseBody;
ResponseBody=Clomosy.StringListItemString(ResponseBody2,10);//0. elemanı getirir
ShowMessage(ResponseBody);
ResponseMemo.Lines.Add('Gemini Yanıtı: ' + ResponseBody);
InputText.Text = '';
}
else
{
// Yanıt alınamazsa hata mesajı veriyoruz
ResponseMemo.Lines.Add('API isteği başarısız oldu.');
}
finally
clRest.Free;
}
}
{
// Form ve bileşenleri oluşturuyoruz
Form1 = TclForm.Create(Self);
// InputText (kullanıcının metin girdiği alan) oluşturuluyor
InputText = Form1.AddNewProEdit(Form1, 'InputText', 'Enter your query...');
InputText.Align = alTop;
InputText.Height = 45;
InputText.Margins.Top = 10;
InputText.Margins.Left = 10;
InputText.Margins.Right = 10;
// Button1 (API çağrısını tetikleyen buton) oluşturuluyor
Button1 = Form1.AddNewButton(Form1, 'Button1', 'Send Request');
Button1.Align = alTop;
Button1.Margins.Top = 10;
Form1.AddNewEvent(Button1, tbeOnClick, 'BtnOnClick');
// ResponseMemo (yanıtı gösterecek alan) oluşturuluyor
ResponseMemo = Form1.AddNewMemo(Form1, 'ResponseMemo', 'Response will appear here...');
ResponseMemo.Align = alTop;
ResponseMemo.Height = 200;
ResponseMemo.Margins.Top = 10;
ResponseMemo.ReadOnly = True;
// Form çalıştırılıyor
Form1.Run;
} yukardaki koda yapmak istediğim yapay zekadan gelen değerin parçalayıp cevap yazan yeri getirmek istedim yapay zekadan gelen değer Gemini Yanıtı: {"candidates":[{"content":{"parts":[{"text":"Merhaba! Nasıl yardımcı olabilirim?\n"}],"role":"model"},"finishReason":"STOP","avgLogprobs":-0.018644950606606224}],"usageMetadata":{"promptTokenCount":3,"candidatesTokenCount":11,"totalTokenCount":14},"modelVersion":"gemini-1.5-flash-latest"} bu şekilde gelemkte çift tırnağa göre bölmek istedim ancak sadece nasıl yazısını yazmakta nasıl yapabilirim
|