Google Gemini AI
Integra i modelli IA multimodali Google Gemini nelle tue applicazioni Delphi, C++ Builder e .NET, con generazione di contenuti, vision, output strutturati, embeddings e streaming.
Integra i modelli IA multimodali Google Gemini nelle tue applicazioni Delphi, C++ Builder e .NET, con generazione di contenuti, vision, output strutturati, embeddings e streaming.
Client REST API Google Gemini per generazione di contenuti, vision, output strutturati, conteggio dei token ed embeddings.
TsgcHTTP_API_Gemini
API REST Gemini su HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (add-on IA)
Imposta l'API key in GeminiOptions, poi costruisci un TsgcGeminiClass_Request_GenerateContent e chiama CreateContent, oppure usa l'helper basato su stringhe _CreateContent per un prompt one-shot veloce.
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';
// Richiesta tipizzata di generazione contenuti
Request := TsgcGeminiClass_Request_GenerateContent.Create;
Request.Model := 'gemini-2.0-flash';
Request.AddUserContent('What are the benefits of WebSockets?');
Response := Gemini.CreateContent(Request);
// Prompt one-shot semplice tramite helper basato su stringhe
Memo1.Lines.Text := Gemini._CreateContent(
'gemini-2.0-flash',
'Summarise RFC 6455',
4096);
// Streaming — gestisci OnHTTPAPISSE per ogni 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";
// Richiesta tipizzata di generazione contenuti
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);
// Prompt one-shot semplice tramite helper basato su stringhe
Memo1->Lines->Text = Gemini->_CreateContent(
"gemini-2.0-flash",
"Summarise RFC 6455",
4096);
// Streaming — OnHTTPAPISSE viene chiamato per ogni 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";
// Richiesta tipizzata di generazione contenuti
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);
// Prompt one-shot semplice tramite helper basato su stringhe
Console.WriteLine(gemini._CreateContent(
"gemini-2.0-flash",
"Summarise RFC 6455",
4096));
// Streaming tramite Server-Sent Events
gemini.OnHTTPAPISSE += (sender, ev, data, cancel) => Console.Write(data);
gemini._CreateContentStream(
"gemini-2.0-flash",
"Explain quantum entanglement",
1024);
Classi tipizzate di request / response per generazione di contenuti, vision, output strutturati, conteggio dei token ed embeddings, oltre a controlli di streaming e affidabilità.
CreateContent invia un TsgcGeminiClass_Request_GenerateContent tipizzato e restituisce una risposta parsata. _CreateContent, _CreateContentWithSystem e _CreateContentStream sono shortcut basati su stringhe JSON per prompt rapidi e streaming.
_CreateVisionContent invia un'immagine codificata in base64 con un prompt testuale, supportando i media type image/jpeg, image/png, image/gif e image/webp per la comprensione multimodale.
Aggiungi function declaration e tool a TsgcGeminiClass_Request_GenerateContent in modo che Gemini possa invocare le tue funzioni e restituire tool call strutturate all'interno della stessa richiesta di generazione.
_CreateContentJSON applica uno schema JSON alla richiesta in modo che il modello restituisca JSON strutturato conforme al formato di output che ti aspetti.
CountTokens invia un TsgcGeminiClass_Request_CountTokens per stimare l'uso della quota e troncare i prompt prima della generazione. Questa chiamata non produce alcun testo.
EmbedContent genera un vettore denso di valori in virgola mobile per un testo usando un modello di embedding come text-embedding-004, per pipeline di ricerca semantica e retrieval.
_GetModels elenca tutti i modelli Gemini disponibili e _GetModel recupera i dettagli di uno specifico identificatore di modello, così puoi scoprire le funzionalità a runtime.
CircuitBreaker interrompe le richieste dopo ripetuti fallimenti; ReadTimeout e TLSOptions regolano il layer HTTPS; OnHTTPAPIException emerge in caso di errori; OnHTTPAPISSE trasmette i server-sent event.
Fonti autorevoli per i protocolli implementati da questo componente.
Vai al riferimento del componente, scarica il progetto demo pronto all'uso e prova la versione trial.
| Guida online — Gemini Riferimento completo di proprietà, metodi ed eventi per questo componente. | Apri | |
| Progetto demo — Demos\AI\Gemini Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Manuale utente (PDF) Manuale completo che copre tutti i componenti della libreria. | Apri |