Google Gemini AI
Integra los modelos de IA multimodal Google Gemini en tus aplicaciones Delphi, C++ Builder y .NET, con generación de contenido, visión, salidas estructuradas, embeddings y streaming.
Integra los modelos de IA multimodal Google Gemini en tus aplicaciones Delphi, C++ Builder y .NET, con generación de contenido, visión, salidas estructuradas, embeddings y streaming.
Cliente REST de Google Gemini para generación de contenido, visión, salidas estructuradas, conteo de tokens y embeddings.
TsgcHTTP_API_Gemini
Gemini REST API sobre HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (add-on de IA)
Configura la clave de API en GeminiOptions, luego construye un TsgcGeminiClass_Request_GenerateContent y llama a CreateContent, o usa el auxiliar de string _CreateContent para un prompt rápido de un solo turno.
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);
Clases tipadas de petición/respuesta para generación de contenido, visión, salidas estructuradas, conteo de tokens y embeddings, además de controles de streaming y fiabilidad.
CreateContent envía un TsgcGeminiClass_Request_GenerateContent tipado y devuelve una respuesta parseada. _CreateContent, _CreateContentWithSystem y _CreateContentStream son atajos en JSON-string para prompts rápidos y streaming.
_CreateVisionContent envía una imagen en base64 con un prompt de texto, admitiendo los tipos de medio image/jpeg, image/png, image/gif e image/webp para comprensión multimodal.
Añade declaraciones de funciones y herramientas a TsgcGeminiClass_Request_GenerateContent para que Gemini pueda invocar tus funciones y devolver llamadas de herramientas estructuradas dentro de la misma petición de generación.
_CreateContentJSON aplica un esquema JSON a la petición para que el modelo devuelva JSON estructurado que coincide con el formato de salida que esperas.
CountTokens envía un TsgcGeminiClass_Request_CountTokens para estimar el uso de cuota y truncar prompts antes de la generación. Esta llamada no produce texto.
EmbedContent genera un vector denso de punto flotante para un fragmento de texto usando un modelo de embedding como text-embedding-004, para búsqueda semántica y pipelines de recuperación.
_GetModels lista todos los modelos Gemini disponibles y _GetModel recupera los detalles de un identificador de modelo concreto, para que puedas descubrir capacidades en tiempo de ejecución.
CircuitBreaker cortocircuita las peticiones tras fallos repetidos; ReadTimeout y TLSOptions ajustan la capa HTTPS; OnHTTPAPIException notifica fallos; OnHTTPAPISSE hace streaming de Server-Sent Events.
Fuentes autorizadas de los protocolos que implementa este componente.
Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.
| Ayuda en línea — Gemini Referencia completa de propiedades, métodos y eventos de este componente. | Abrir | |
| Proyecto demo — Demos\AI\Gemini Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca. | Abrir |