Google Gemini AI
Integre os modelos de IA multimodal Google Gemini em aplicativos Delphi, C++ Builder e .NET, com geração de conteúdo, visão, saídas estruturadas, embeddings e streaming.
Integre os modelos de IA multimodal Google Gemini em aplicativos Delphi, C++ Builder e .NET, com geração de conteúdo, visão, saídas estruturadas, embeddings e streaming.
Cliente da API REST do Google Gemini para geração de conteúdo, visão, saídas estruturadas, contagem de tokens e embeddings.
TsgcHTTP_API_Gemini
Gemini REST API over HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (add-on de IA)
Defina a chave de API em GeminiOptions, então construa uma TsgcGeminiClass_Request_GenerateContent e chame CreateContent, ou use o auxiliar de string _CreateContent para um prompt rápido e único.
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 tipadas de requisição / resposta para geração de conteúdo, visão, saídas estruturadas, contagem de tokens e embeddings, além de controles de streaming e confiabilidade.
CreateContent envia uma TsgcGeminiClass_Request_GenerateContent tipada e retorna uma resposta já parseada. _CreateContent, _CreateContentWithSystem e _CreateContentStream são atalhos em string JSON para prompts rápidos e streaming.
_CreateVisionContent envia uma imagem em base64 com um prompt de texto, com suporte aos tipos de mídia image/jpeg, image/png, image/gif e image/webp para compreensão multimodal.
Adicione declarações de função e ferramentas à TsgcGeminiClass_Request_GenerateContent para que o Gemini possa invocar suas funções e retornar chamadas de ferramenta estruturadas dentro da mesma requisição de geração.
_CreateContentJSON aplica um JSON schema à requisição para que o modelo retorne JSON estruturado correspondente ao formato de saída esperado.
CountTokens envia uma TsgcGeminiClass_Request_CountTokens para estimar o uso da cota e truncar prompts antes da geração. Nenhum texto é produzido por esta chamada.
EmbedContent gera um vetor denso de ponto flutuante para um trecho de texto usando um modelo de embedding como text-embedding-004, para pipelines de busca semântica e recuperação.
_GetModels lista todos os modelos Gemini disponíveis e _GetModel recupera os detalhes de um identificador de modelo específico, para que você descubra os recursos em tempo de execução.
CircuitBreaker interrompe requisições após falhas repetidas; ReadTimeout e TLSOptions ajustam a camada HTTPS; OnHTTPAPIException expõe falhas; OnHTTPAPISSE transmite server-sent events.
Fontes autoritativas dos protocolos que este componente implementa.
Acesse direto a referência do componente, baixe o projeto de demonstração pronto para rodar e baixe a versão de avaliação.
| Ajuda online — Gemini Referência completa de propriedades, métodos e eventos deste componente. | Abrir | |
| Projeto de demonstração — Demos\AI\Gemini Projeto de exemplo pronto para rodar. Acompanha o pacote sgcWebSockets — baixe a versão de avaliação abaixo. | Abrir | |
| Manual do usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca. | Abrir |