Google Gemini Integration — sgcWebSockets | eSeGeCe

Google Gemini AI

Integriere multimodale Google-Gemini-KI-Modelle in deine Delphi-, C++ Builder- und .NET-Anwendungen, mit Content-Generierung, Vision, strukturierten Ausgaben, Embeddings und Streaming.

TsgcHTTP_API_Gemini

Google-Gemini-REST-API-Client für Content-Generierung, Vision, strukturierte Ausgaben, Token-Zählung und Embeddings.

Komponentenklasse

TsgcHTTP_API_Gemini

Protokoll

Gemini REST API über HTTPS

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise (KI-Add-on)

Komponente platzieren, ein paar Eigenschaften setzen, los geht's

Setze den API-Key in GeminiOptions, baue dann eine TsgcGeminiClass_Request_GenerateContent und rufe CreateContent auf, oder nutze den String-Helfer _CreateContent für einen schnellen 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';

  // Typed content-generation request
  Request := TsgcGeminiClass_Request_GenerateContent.Create;
  Request.Model := 'gemini-2.0-flash';
  Request.AddUserContent('What are the benefits of WebSockets?');
  Response := Gemini.CreateContent(Request);

  // Simple one-shot prompt via string helper
  Memo1.Lines.Text := Gemini._CreateContent(
    'gemini-2.0-flash',
    'Summarise RFC 6455',
    4096);

  // Streaming — handle 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";

// Typed content-generation request
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);

// Simple one-shot prompt via string helper
Memo1->Lines->Text = Gemini->_CreateContent(
  "gemini-2.0-flash",
  "Summarise RFC 6455",
  4096);

// Streaming — OnHTTPAPISSE fires per delta
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";

// Typed content-generation request
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);

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

Was steckt drin

Typisierte Request-/Response-Klassen für Content-Generierung, Vision, strukturierte Ausgaben, Token-Zählung und Embeddings, dazu Streaming- und Zuverlässigkeitssteuerung.

Messages

CreateContent sendet eine typisierte TsgcGeminiClass_Request_GenerateContent und gibt eine geparste Antwort zurück. _CreateContent, _CreateContentWithSystem und _CreateContentStream sind JSON-String-Kurzformen für schnelle Prompts und Streaming.

Vision

_CreateVisionContent sendet ein Base64-codiertes Bild mit einem Text-Prompt und unterstützt die Medientypen image/jpeg, image/png, image/gif und image/webp für multimodales Verständnis.

Tool Use & Function Calling

Füge der TsgcGeminiClass_Request_GenerateContent Funktionsdeklarationen und Tools hinzu, damit Gemini deine Funktionen aufrufen und strukturierte Tool-Calls innerhalb derselben Generierungsanfrage zurückgeben kann.

Strukturierte Ausgaben

_CreateContentJSON wendet ein JSON-Schema auf die Anfrage an, sodass das Modell strukturiertes JSON zurückgibt, das deinem erwarteten Ausgabeformat entspricht.

Token-Zählung

CountTokens sendet eine TsgcGeminiClass_Request_CountTokens, um den Kontingentverbrauch abzuschätzen und Prompts vor der Generierung zu kürzen. Dieser Aufruf erzeugt keinen Text.

Embeddings

EmbedContent erzeugt mit einem Embedding-Modell wie text-embedding-004 einen dichten Gleitkomma-Vektor für ein Stück Text, für semantische Suche und Retrieval-Pipelines.

Modelle

_GetModels listet jedes verfügbare Gemini-Modell auf und _GetModel ruft die Details zu einer bestimmten Modellkennung ab, sodass du die Fähigkeiten zur Laufzeit ermitteln kannst.

Zuverlässigkeit & Diagnose

CircuitBreaker kürzt Anfragen nach wiederholten Fehlern ab; ReadTimeout und TLSOptions justieren die HTTPS-Schicht; OnHTTPAPIException meldet Fehler; OnHTTPAPISSE streamt Server-Sent Events.

Spezifikationen & Referenzen

Maßgebliche Quellen für die Protokolle, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, hole dir das sofort lauffähige Demo-Projekt und lade die Testversion herunter.

Online-Hilfe — Gemini Vollständige Referenz zu Eigenschaften, Methoden und Ereignissen dieser Komponente.
Demo-Projekt — Demos\AI\Gemini Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter.
Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit, Google Gemini zu integrieren?

Lade die kostenlose Testversion herunter und beginne in wenigen Minuten zu entwickeln.