Google Gemini AI

Google Gemini のマルチモーダル AI モデルを Delphi、C++ Builder、.NET アプリケーションに統合します。コンテンツ生成、ビジョン、構造化出力、Embeddings、ストリーミングに対応します。

TsgcHTTP_API_Gemini

コンテンツ生成、ビジョン、構造化出力、トークンカウント、Embeddings に対応した Google Gemini REST API クライアント。

コンポーネントクラス

TsgcHTTP_API_Gemini

プロトコル

HTTPS 経由のGemini REST API

プラットフォーム

Windows、macOS、Linux、iOS、Android

エディション

Enterprise (AI アドオン)

コンポーネントを配置し、いくつかのプロパティを設定するだけ

GeminiOptions に API キーを設定し、TsgcGeminiClass_Request_GenerateContent を構築してCreateContentを呼び出すか、簡単な単発プロンプトには_CreateContent文字列ヘルパーを使用します。

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

  // 型付きのコンテンツ生成リクエスト
  Request := TsgcGeminiClass_Request_GenerateContent.Create;
  Request.Model := 'gemini-2.0-flash';
  Request.AddUserContent('What are the benefits of WebSockets?');
  Response := Gemini.CreateContent(Request);

  // 文字列ヘルパーによるシンプルな単発プロンプト
  Memo1.Lines.Text := Gemini._CreateContent(
    'gemini-2.0-flash',
    'Summarise RFC 6455',
    4096);

  // ストリーミング — デルタごとに OnHTTPAPISSE を処理
  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";

// 型付きのコンテンツ生成リクエスト
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);

// 文字列ヘルパーによるシンプルな単発プロンプト
Memo1->Lines->Text = Gemini->_CreateContent(
  "gemini-2.0-flash",
  "Summarise RFC 6455",
  4096);

// ストリーミング — OnHTTPAPISSE がデルタごとに発火
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";

// 型付きのコンテンツ生成リクエスト
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);

// 文字列ヘルパーによるシンプルな単発プロンプト
Console.WriteLine(gemini._CreateContent(
  "gemini-2.0-flash",
  "Summarise RFC 6455",
  4096));

// Server-Sent Events 経由のストリーミング
gemini.OnHTTPAPISSE += (sender, ev, data, cancel) => Console.Write(data);
gemini._CreateContentStream(
  "gemini-2.0-flash",
  "Explain quantum entanglement",
  1024);

主な機能

コンテンツ生成、ビジョン、構造化出力、トークンカウント、Embeddings の型付きリクエスト/レスポンスクラスに加え、ストリーミングと信頼性の制御を提供します。

Messages

CreateContentは型付きのTsgcGeminiClass_Request_GenerateContentを送信し、解析済みのレスポンスを返します。_CreateContent_CreateContentWithSystem_CreateContentStreamは、簡単なプロンプトとストリーミング向けの JSON 文字列ショートカットです。

ビジョン

_CreateVisionContentは base64 エンコードされた画像をテキストプロンプトとともに送信し、image/jpeg、image/png、image/gif、image/webp のメディアタイプに対応してマルチモーダルな理解を実現します。

ツール利用と関数呼び出し

関数宣言やツールをTsgcGeminiClass_Request_GenerateContentに追加すると、Gemini は同一の生成リクエスト内で関数を呼び出し、構造化されたツール呼び出しを返すことができます。

構造化出力

_CreateContentJSONはリクエストに JSON スキーマを適用し、想定する出力形式に一致する構造化された JSON をモデルが返すようにします。

トークンカウント

CountTokensTsgcGeminiClass_Request_CountTokensを送信し、クォータ使用量を見積もって生成前にプロンプトを切り詰めます。この呼び出しではテキストは生成されません。

Embeddings

EmbedContentは、text-embedding-004などの埋め込みモデルを使用してテキストの密な浮動小数点ベクトルを生成し、セマンティック検索や検索パイプラインに利用できます。

Models

_GetModelsは利用可能なすべての Gemini モデルを一覧表示し、_GetModelは特定のモデル識別子の詳細を取得するため、実行時に機能を確認できます。

信頼性と診断

CircuitBreakerは障害が繰り返されるとリクエストを短絡させます。ReadTimeoutTLSOptionsは HTTPS レイヤーを調整します。OnHTTPAPIExceptionは障害を通知し、OnHTTPAPISSEは Server-Sent Events をストリーミングします。

仕様とリファレンス

本コンポーネントが実装するプロトコルの正式な情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。

オンラインヘルプ — Gemini 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\AI\Gemini すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています — 下のリンクから体験版をダウンロードしてください。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。

Google Gemini を統合する準備はできましたか?

体験版をダウンロードして、数分で構築を開始できます。