Google Gemini AI
Integreer multimodale Google Gemini AI-modellen in je Delphi-, C++ Builder- en .NET-toepassingen, met contentgeneratie, vision, gestructureerde output, embeddings en streaming.
Integreer multimodale Google Gemini AI-modellen in je Delphi-, C++ Builder- en .NET-toepassingen, met contentgeneratie, vision, gestructureerde output, embeddings en streaming.
Google Gemini REST-API-client voor contentgeneratie, vision, gestructureerde output, token-telling en embeddings.
TsgcHTTP_API_Gemini
Gemini REST-API over HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (AI-uitbreiding)
Stel de API-sleutel in GeminiOptions in, bouw dan een TsgcGeminiClass_Request_GenerateContent en roep CreateContent aan, of gebruik de string-helper _CreateContent voor een snelle one-shot prompt.
uses
sgcHTTP_API_Gemini;
var
Gemini: TsgcHTTP_API_Gemini;
Request: TsgcGeminiClass_Request_GenerateContent;
Response: TsgcGeminiClass_Response_GenerateContent;
begin
Gemini := TsgcHTTP_API_Gemini.Create(nil);
Gemini.GeminiOptions.ApiKey := 'YOUR_API_KEY';
// Getypeerd content-generatieverzoek
Request := TsgcGeminiClass_Request_GenerateContent.Create;
Request.Model := 'gemini-2.0-flash';
Request.AddUserContent('What are the benefits of WebSockets?');
Response := Gemini.CreateContent(Request);
// Eenvoudige one-shot prompt via string-helper
Memo1.Lines.Text := Gemini._CreateContent(
'gemini-2.0-flash',
'Summarise RFC 6455',
4096);
// Streaming — verwerk OnHTTPAPISSE per delta
Gemini.OnHTTPAPISSE := HandleSSE;
Gemini._CreateContentStream(
'gemini-2.0-flash',
'Explain quantum entanglement',
1024);
end;
procedure TForm1.HandleSSE(Sender: TObject;
const aEvent, aData: string;
var Cancel: Boolean);
begin
Memo1.Lines.Add(aEvent + ': ' + aData);
end;
// uses: sgcHTTP_API_Gemini
TsgcHTTP_API_Gemini *Gemini = new TsgcHTTP_API_Gemini(this);
Gemini->GeminiOptions->ApiKey = "YOUR_API_KEY";
// Getypeerd content-generatieverzoek
TsgcGeminiClass_Request_GenerateContent *Request =
new TsgcGeminiClass_Request_GenerateContent();
Request->Model = "gemini-2.0-flash";
Request->AddUserContent("What are the benefits of WebSockets?");
TsgcGeminiClass_Response_GenerateContent *Response = Gemini->CreateContent(Request);
// Eenvoudige one-shot prompt via string-helper
Memo1->Lines->Text = Gemini->_CreateContent(
"gemini-2.0-flash",
"Summarise RFC 6455",
4096);
// Streaming — OnHTTPAPISSE wordt per delta uitgevoerd
Gemini->OnHTTPAPISSE = HandleSSE;
Gemini->_CreateContentStream(
"gemini-2.0-flash",
"Explain quantum entanglement",
1024);
using esegece.sgcWebSockets;
var gemini = new TsgcHTTPAPI_Gemini();
gemini.GeminiOptions.ApiKey = "YOUR_API_KEY";
// Getypeerd content-generatieverzoek
var request = new TsgcGeminiClass_Request_GenerateContent();
request.Model = "gemini-2.0-flash";
request.AddUserContent("What are the benefits of WebSockets?");
var response = gemini.CreateContent(request);
// Eenvoudige one-shot prompt via string-helper
Console.WriteLine(gemini._CreateContent(
"gemini-2.0-flash",
"Summarise RFC 6455",
4096));
// Streaming via Server-Sent Events
gemini.OnHTTPAPISSE += (sender, ev, data, cancel) => Console.Write(data);
gemini._CreateContentStream(
"gemini-2.0-flash",
"Explain quantum entanglement",
1024);
Getypeerde request/response-klassen voor contentgeneratie, vision, gestructureerde output, token-telling en embeddings, plus streaming en betrouwbaarheidscontroles.
CreateContent stuurt een getypeerde TsgcGeminiClass_Request_GenerateContent en geeft een geparseerde response terug. _CreateContent, _CreateContentWithSystem en _CreateContentStream zijn JSON-string-snelkoppelingen voor snelle prompts en streaming.
_CreateVisionContent stuurt een base64-gecodeerde afbeelding met een tekstprompt en ondersteunt de mediatypes image/jpeg, image/png, image/gif en image/webp voor multimodaal begrip.
Voeg functiedeclaraties en tools toe aan TsgcGeminiClass_Request_GenerateContent zodat Gemini je functies kan aanroepen en gestructureerde tool calls kan teruggeven binnen hetzelfde generatieverzoek.
_CreateContentJSON past een JSON-schema toe op het verzoek, zodat het model gestructureerde JSON teruggeeft die overeenkomt met je verwachte uitvoerformaat.
CountTokens stuurt een TsgcGeminiClass_Request_CountTokens om het quotaverbruik te schatten en prompts in te korten vóór de generatie. Deze aanroep produceert geen tekst.
EmbedContent genereert een dichte floating-point-vector voor een stuk tekst met een embedding-model zoals text-embedding-004, voor semantisch zoeken en retrieval-pipelines.
_GetModels toont elk beschikbaar Gemini-model en _GetModel haalt details op voor een specifieke model-identifier, zodat je mogelijkheden tijdens runtime kunt ontdekken.
CircuitBreaker kortsluit verzoeken na herhaalde fouten; ReadTimeout en TLSOptions stellen de HTTPS-laag af; OnHTTPAPIException toont fouten; OnHTTPAPISSE streamt server-sent events.
Gezaghebbende bronnen voor de protocollen die dit component implementeert.
Diepe link naar de componentreferentie, pak het kant-en-klare demoproject en download de proefversie.
| Online help — Gemini Volledige referentie van eigenschappen, methoden en events voor dit component. | Openen | |
| Demoproject — Demos\AI\Gemini Kant-en-klaar voorbeeldproject. Inbegrepen in het sgcWebSockets-package — download de proefversie hieronder. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding die alle componenten in de bibliotheek behandelt. | Openen |