Google Gemini AI
Intègre les modèles IA multimodaux Google Gemini dans tes applications Delphi, C++ Builder et .NET, avec génération de contenu, vision, sorties structurées, embeddings et streaming.
Intègre les modèles IA multimodaux Google Gemini dans tes applications Delphi, C++ Builder et .NET, avec génération de contenu, vision, sorties structurées, embeddings et streaming.
Client REST API Google Gemini pour la génération de contenu, la vision, les sorties structurées, le comptage de tokens et les embeddings.
TsgcHTTP_API_Gemini
API REST Gemini sur HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (module IA)
Configure la clé API dans GeminiOptions, puis construis un TsgcGeminiClass_Request_GenerateContent et appelle CreateContent, ou utilise le helper string _CreateContent pour un prompt rapide en une seule fois.
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);
Classes de requête / réponse typées pour la génération de contenu, la vision, les sorties structurées, le comptage de tokens et les embeddings, plus les contrôles de streaming et de fiabilité.
CreateContent envoie un TsgcGeminiClass_Request_GenerateContent typé et renvoie une réponse analysée. _CreateContent, _CreateContentWithSystem et _CreateContentStream sont des raccourcis JSON-string pour les prompts rapides et le streaming.
_CreateVisionContent envoie une image encodée en base64 avec un prompt texte, en prenant en charge les types de médias image/jpeg, image/png, image/gif et image/webp pour la compréhension multimodale.
Ajoute des déclarations de fonctions et des outils à TsgcGeminiClass_Request_GenerateContent pour que Gemini puisse invoquer tes fonctions et renvoyer des appels d'outils structurés dans la même requête de génération.
_CreateContentJSON applique un schéma JSON à la requête afin que le modèle renvoie un JSON structuré correspondant au format de sortie attendu.
CountTokens envoie un TsgcGeminiClass_Request_CountTokens pour estimer l'utilisation du quota et tronquer les prompts avant la génération. Aucun texte n'est produit par cet appel.
EmbedContent génère un vecteur dense en virgule flottante pour un fragment de texte à l'aide d'un modèle d'embedding tel que text-embedding-004, pour la recherche sémantique et les pipelines de récupération.
_GetModels liste tous les modèles Gemini disponibles et _GetModel récupère les détails d'un identifiant de modèle spécifique, ce qui te permet de découvrir les capacités à l'exécution.
CircuitBreaker court-circuite les requêtes après des échecs répétés ; ReadTimeout et TLSOptions ajustent la couche HTTPS ; OnHTTPAPIException remonte les échecs ; OnHTTPAPISSE diffuse les server-sent events.
Sources de référence pour les protocoles implémentés par ce composant.
Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.
| Aide en ligne — Gemini Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — Demos\AI\Gemini Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque. | Ouvrir |