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.

TsgcHTTP_API_Gemini

Google Gemini REST-API-client voor contentgeneratie, vision, gestructureerde output, token-telling en embeddings.

Componentklasse

TsgcHTTP_API_Gemini

Protocol

Gemini REST-API over HTTPS

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Enterprise (AI-uitbreiding)

Plaats het component, stel een paar eigenschappen in en je bent klaar

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);

Wat zit erin

Getypeerde request/response-klassen voor contentgeneratie, vision, gestructureerde output, token-telling en embeddings, plus streaming en betrouwbaarheidscontroles.

Messages

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.

Vision

_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.

Tool use & function calling

Voeg functiedeclaraties en tools toe aan TsgcGeminiClass_Request_GenerateContent zodat Gemini je functies kan aanroepen en gestructureerde tool calls kan teruggeven binnen hetzelfde generatieverzoek.

Gestructureerde output

_CreateContentJSON past een JSON-schema toe op het verzoek, zodat het model gestructureerde JSON teruggeeft die overeenkomt met je verwachte uitvoerformaat.

Token-telling

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.

Embeddings

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.

Models

_GetModels toont elk beschikbaar Gemini-model en _GetModel haalt details op voor een specifieke model-identifier, zodat je mogelijkheden tijdens runtime kunt ontdekken.

Betrouwbaarheid & diagnostiek

CircuitBreaker kortsluit verzoeken na herhaalde fouten; ReadTimeout en TLSOptions stellen de HTTPS-laag af; OnHTTPAPIException toont fouten; OnHTTPAPISSE streamt server-sent events.

Specificaties & referenties

Gezaghebbende bronnen voor de protocollen die dit component implementeert.

Documentatie & demo's

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.
Demoproject — Demos\AI\Gemini Kant-en-klaar voorbeeldproject. Inbegrepen in het sgcWebSockets-package — download de proefversie hieronder.
Gebruikershandleiding (PDF) Uitgebreide handleiding die alle componenten in de bibliotheek behandelt.

Klaar om Google Gemini te integreren?

Download de gratis proefversie en begin binnen enkele minuten te bouwen.