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.

TsgcHTTP_API_Gemini

Cliente REST de Google Gemini para generación de contenido, visión, salidas estructuradas, conteo de tokens y embeddings.

Clase del componente

TsgcHTTP_API_Gemini

Protocolo

Gemini REST API sobre HTTPS

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Enterprise (add-on de IA)

Coloca el componente, configura unas propiedades, listo

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);

Qué incluye

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.

Messages

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.

Visión

_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.

Uso de herramientas y function calling

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.

Salidas estructuradas

_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.

Conteo de tokens

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.

Embeddings

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.

Modelos

_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.

Fiabilidad y diagnóstico

CircuitBreaker cortocircuita las peticiones tras fallos repetidos; ReadTimeout y TLSOptions ajustan la capa HTTPS; OnHTTPAPIException notifica fallos; OnHTTPAPISSE hace streaming de Server-Sent Events.

Especificaciones y referencias

Fuentes autorizadas de los protocolos que implementa este componente.

Documentación y demos

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.
Proyecto demo — Demos\AI\Gemini Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo.
Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca.

¿Listo para integrar Google Gemini?

Descarga la prueba gratuita y empieza a construir en minutos.