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.

Bereit, Google Gemini zu integrieren?

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