Google Gemini-integratie — sgcWebSockets | eSeGeCe

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.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om Google Gemini te integreren?

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