Google Gemini: API
Odborník na umělou inteligenci a vynikající PHP programátor David Grudl před časem zveřejnil sneak peek pluginu do Admineru, který dovoluje sestavovat SQL dotazy pomocí AI. Navázal tak na svůj SQL Wizard. Plugin ale nikdy nepublikoval, tak si možná část lidí myslela, že to je fake. Řekl jsem si, jak by asi bylo složité to doopravdy udělat, a ukázalo se, že úplně triviální! Použil jsem Google Gemini a z jednoduchosti jeho nasazení jsem byl velmi mile překvapen. Nemusíte chodit do žádné Google Cloud Console (která je neuvěřitelně nepřehledná), ale prostě přímo v AI Studiu vygenerujete klíč a hned vidíte URL, na kterém ho můžete použít. Implementace v PHP je pak už jednoduchá:
<?php /** Položení dotazu Google Gemini * @param string Dotaz v přirozeném jazyce * @param string Klíč získáte na https://aistudio.google.com/apikey * @param string Dostupné modely: https://ai.google.dev/gemini-api/docs/models#available-models * @return string Odpověď umělé inteligence * @copyright Jakub Vrána, https://php.vrana.cz/ */ function gemini($prompt, $apiKey, $model = "gemini-2.0-flash") { $context = stream_context_create(array("http" => array( "method" => "POST", "header" => array("User-Agent: PHP", "Content-Type: application/json"), "content" => '{"contents": [{"parts":[{"text": ' . json_encode($prompt) . '}]}]}', ))); $response = json_decode(file_get_contents("https://generativelanguage.googleapis.com/v1beta/models/$model:generateContent?key=$apiKey", false, $context)); return $response->candidates[0]->content->parts[0]->text; } ?>
V pluginu pak dotazu od uživatele předřadím schéma databáze a přidám nějakou omáčku, aby to vracelo skutečně jen SQL dotaz, který pak prostě zobrazím. Funguje to naprosto neskutečně:
Poradí si to dokonce i s češtinou, umí to vytvářet i INSERT
, přidávat indexy a já nevím, co ještě:
Plugin vyžaduje Adminer 5.1.0, kam jsem přidal hook pro zobrazení promptu na tom správném místě, jinak si to žádnou změnu nevyžádalo.
Vložit komentář

