Google Gemini AI
Zintegruj multimodalne modele AI Google Gemini z aplikacjami Delphi, C++ Builder i .NET, z generowaniem treści, wizją, wyjściami strukturalnymi, embeddingami i strumieniowaniem.
Zintegruj multimodalne modele AI Google Gemini z aplikacjami Delphi, C++ Builder i .NET, z generowaniem treści, wizją, wyjściami strukturalnymi, embeddingami i strumieniowaniem.
Klient REST API Google Gemini do generowania treści, wizji, wyjść strukturalnych, zliczania tokenów i embeddingów.
TsgcHTTP_API_Gemini
Gemini REST API przez HTTPS
Windows, macOS, Linux, iOS, Android
Enterprise (dodatek AI)
Ustaw klucz API w GeminiOptions, a następnie zbuduj TsgcGeminiClass_Request_GenerateContent i wywołaj CreateContent, albo użyj skrótu na łańcuchu _CreateContent dla szybkiego, jednorazowego promptu.
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);
Typowane klasy żądania / odpowiedzi dla generowania treści, wizji, wyjść strukturalnych, zliczania tokenów i embeddingów, a także sterowanie strumieniowaniem i niezawodnością.
CreateContent wysyła typowane TsgcGeminiClass_Request_GenerateContent i zwraca sparsowaną odpowiedź. _CreateContent, _CreateContentWithSystem i _CreateContentStream to skróty operujące na łańcuchach JSON do szybkich promptów i strumieniowania.
_CreateVisionContent wysyła obraz zakodowany w base64 wraz z promptem tekstowym, obsługując typy mediów image/jpeg, image/png, image/gif i image/webp dla rozumienia multimodalnego.
Dodaj deklaracje funkcji i narzędzia do TsgcGeminiClass_Request_GenerateContent, aby Gemini mógł wywoływać Twoje funkcje i zwracać strukturalne wywołania narzędzi w ramach tego samego żądania generowania.
_CreateContentJSON stosuje schemat JSON do żądania, dzięki czemu model zwraca strukturalny JSON zgodny z oczekiwanym formatem wyjścia.
CountTokens wysyła TsgcGeminiClass_Request_CountTokens, aby oszacować zużycie limitu i przyciąć prompty przed generowaniem. To wywołanie nie produkuje żadnego tekstu.
EmbedContent generuje gęsty wektor zmiennoprzecinkowy dla fragmentu tekstu przy użyciu modelu embeddingowego, takiego jak text-embedding-004, na potrzeby wyszukiwania semantycznego i pipeline'ów wyszukiwania.
_GetModels wymienia każdy dostępny model Gemini, a _GetModel pobiera szczegóły dla konkretnego identyfikatora modelu, dzięki czemu możesz wykrywać możliwości w czasie działania.
CircuitBreaker krótkozwiera żądania po powtarzających się niepowodzeniach; ReadTimeout i TLSOptions dostrajają warstwę HTTPS; OnHTTPAPIException ujawnia błędy; OnHTTPAPISSE strumieniuje zdarzenia Server-Sent Events.
Autorytatywne źródła protokołów implementowanych przez ten komponent.
Deep-link do dokumentacji komponentu, gotowy do uruchomienia projekt demonstracyjny i pobranie wersji próbnej.
| Pomoc online — Gemini Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\AI\Gemini Gotowy do uruchomienia projekt przykładowy. Dostarczany wewnątrz pakietu sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |