AI – Gemini API
Plugin slúži na komunikáciu s AI modelmi od Google prostredníctvom Gemini API. Dokumentáciu k API nájdete na odkaze:
https://ai.google.dev/gemini-api/docs
V dokumentácii nájdete aj presné označenia modelov, ktoré sa používajú následne v konfigurácii pluginu.
Plugin je možné použiť aj ako cieľ pre typ akcie Data repeater (pump).
Inštalácia pluginu
Stiahnutie pluginu
Ako získať API kľúč
Prihláste sa svojím Google/Gmail kontom do AI Studio https://aistudio.google.com/ . Cez voľbu Get API key sa o

Na ďalšej obrazovke kliknite na Create API key

Pomenujte API kľúč, ak nemáte vytvorený projekt, tak vytvorte nový

Následne sa vytvorí API kľúč

Takto vytvorený API kľúč je v bezplatnom režime, ktorý má obmedzenia či už na počty requestov, alebo konkrétne modely. Napr. najnovšie modely zvyknú byť pre tento režim nedostupné. Ak budete API využívať intenzívnejšie, je možné prejsť na platený režim.
Cenotvorba
https://ai.google.dev/gemini-api/docs/pricing
Limity
Nastavenia
Po nainštalovaní pluginu, reštarte brány a získaní API kľúču, pokračujem v my.erpio.one. V menu Data sources (Zdroje) si vytvorím nový zdroj. Z dostupných zdrojov v časti Gateway Plugin vyberiem Gemini API.

Zadám názov zdroja, potvrdím. V záložke 2-Command definition hore vyberiem model Gemini API a do commandu zadám napr. none (nesmie zostať prázdny, lebo môže v niektorých prípadoch spôsobovať chybu). Potvrdím Send.

Keďže mám zaškrtnutú voľbu Get schema only, tak plugin vráti iba štruktúru tabuľky so stĺpcami. Plugin vracia stĺpce:
| Názov | Popis |
| Result | Výsledok promptu |
| Response | Kompletný JSON string, ktorý prišiel ako výsledok, pre prípadné vlastné spracovanie |
| TotalTokens | Počet použitých tokenov |
Cez tlačidlo s tromi bodkami prejdem k nastaveniu parametrov. Plugin má dostupné nasledovné parametre:
| Názov | Povinný | Typ hodnoty | Popis |
| @aiUrl | POVINNÝ | text | Url adresa podľa dokumentácie Gemini API, napr. https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent |
| @aiApiKey | POVINNÝ | text | API kľúč pre Gemini API |
| @aiContent | POVINNÝ | text/JSON | Prompt pre AI model, alebo je možné zadať aj priamo JSON reťazec podľa API dokumentácie |
| @aiGenerationConfig | VOLITELNÝ | JSON | Konfigurácia pre model, že ako má vytvárať odpoveď, napr. https://ai.google.dev/gemini-api/docs/structured-output |
| @aiDocumentFilePath | VOLITELNÝ | text | Cesta na súbor, ktorý sa má priložiť k promptu. Cesta je z pohľadu brány a musí mať na tú cestú prístup účet, pod ktorým beží brána |
| @aiDocumentFileBinary | VOLITELNÝ | byte[]/text | Binárny súbor, alebo súbor ako base64 reťazec, ktorý sa má priložiť k promptu |
| @aiDocumentFileQuery | VOLITELNÝ | text | SQL príkaz pre získanie súboru, ktorý sa má priložiť k promptu. |
| @aiYoutubeUrl | VOLITELNÝ | text | URL adresa k videu na YouTube, ktoré sa má priložiť k promptu |
| @aiAsync | VOLITELNÝ | true/false | Či sa má požiadavka vykonávať asynchrónne, čiže nečakať na jej dokončenie. Používa sa napr. pri komplexnejších požiadavkách, ktorých spracovanie trvá dlhšie než je timeout v aplikácii. Výsledok sa zapíše na pozadí, napr. pomocou parametra @aiResultCmd |
| @aiRequestIdx | VOLITELNÝ | text | Ľubovoľný identifikátor, pomocou ktorého sa sa dajú rozlíšiť jednotlivé requesty – zapisuje sa aj do logu, aby sa dalo ľahšie vyhľadať |
| @aiResultCmd | VOLITELNÝ | text | SQL príkaz, pomocou ktorého si viem uložiť výsledok promptu tam, kam potrebujem, napr. SELECT @Content AS Content, @Result AS Result, @Response AS Response, @TotalTokens AS TotalTokens |
| @aiStopWhenDocumentIsEmpty | VOLITELNÝ | true/false | Ak je true a nie je poslaný súbor, tak sa požiadavka neodošle na API (použiteľné napr. v prípadoch, keď mám viacero gettrov na iné údaje v akcii ešte predtým než potrebujem ich spracovanie pomocou AI |
| @verboseLog | VOLITELNÝ | true/false | Ak je true, tak plugin zapisuje do logu podrobnejšie hlásenia |
Logovanie
Plugin zapisuje svoje hlásenia do tabuľky pe1_ai_geminiapi_log v internej databáze brány.
Príklad použitia – Vytiahnutie hodnoty z fotografie
Editačná akcia, v ktorej si urobím fotografiu tachometra auta a AI mi z nej vytiahne stav kilometrov.
Parametre akcie:
- @aiDocumentFileBinary

Cez nastavenia parametra v Extended pridáme vlastnosť typu string EvOnChanged, ktorá spôsobí to, že po odfotení fotografie sa vykoná getter v nasledujúcich parametroch

- @aiContent

S hodnotou napr.: Nájdi mi na fotke celkový stav kilometrov, ak nenájdeš tak napíš prázdny znak, ak nájdeš viacero hodnôt, tak použi najvyššiu, napíš len hodnotu bez iných komentárov, vždy len číslo alebo prázdny znak, bez iných prídavkov
- @aiStopWhenDocumentIsEmpty – aby sa nerobil zbytočne request, ak nie je pridaná fotka
- @aiUrl – nastaviť podľa dokumentácie
- @aiApiKey – nastaviť podľa dokumentácie
- @Km – parameter, kde sa doplní najdený stav km.

Cez nastavenia parametra pridáme getter voči setu, ktorý je nasmerovaný na plugin Gemini API a do hodnoty chceme údaj zo stĺpca Result

Ostatné parametre pridáme podľa potreby.

Upozornenie na spracovanie údajov
Údaje spracovávané týmto pluginom sú odosielané na servery spoločnosti Google. Spoločnosť ERPIO nenesie zodpovednosť za ich prípadné zneužitie, neoprávnené použitie alebo porušenie ochrany údajov na strane tretích strán.