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.
Integriere multimodale Google-Gemini-KI-Modelle in deine Delphi-, C++ Builder- und .NET-Anwendungen, mit Content-Generierung, Vision, strukturierten Ausgaben, Embeddings und Streaming.
Google-Gemini-REST-API-Client für Content-Generierung, Vision, strukturierte Ausgaben, Token-Zählung und Embeddings.
TsgcHTTP_API_Gemini
Gemini REST API über HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (KI-Add-on)
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);
Typisierte Request-/Response-Klassen für Content-Generierung, Vision, strukturierte Ausgaben, Token-Zählung und Embeddings, dazu Streaming- und Zuverlässigkeitssteuerung.
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.
_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.
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.
_CreateContentJSON wendet ein JSON-Schema auf die Anfrage an, sodass das Modell strukturiertes JSON zurückgibt, das deinem erwarteten Ausgabeformat entspricht.
CountTokens sendet eine TsgcGeminiClass_Request_CountTokens, um den Kontingentverbrauch abzuschätzen und Prompts vor der Generierung zu kürzen. Dieser Aufruf erzeugt keinen Text.
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.
_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.
CircuitBreaker kürzt Anfragen nach wiederholten Fehlern ab; ReadTimeout und TLSOptions justieren die HTTPS-Schicht; OnHTTPAPIException meldet Fehler; OnHTTPAPISSE streamt Server-Sent Events.
Maßgebliche Quellen für die Protokolle, die diese Komponente implementiert.
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. | Öffnen | |
| Demo-Projekt — Demos\AI\Gemini Sofort lauffähiges Beispielprojekt. Wird im sgcWebSockets-Paket mitgeliefert — lade unten die Testversion herunter. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch, das jede Komponente der Bibliothek abdeckt. | Öffnen |