apiKey = $apiKey; $this->model = $model; } function headers() { if (isset($_POST["gemini"]) && !isset($_POST["query"])) { $prompt = "I have a " . Adminer\get_driver(Adminer\DRIVER) . " database with this structure:\n\n"; foreach (Adminer\tables_list() as $table => $type) { $prompt .= Adminer\create_sql($table, false, "CREATE") . ";\n\n"; } $prompt .= "Prefer returning relevant columns including primary key.\n\n"; $prompt .= "Give me this SQL query and nothing else:\n\n$_POST[gemini]\n\n"; //~ echo $prompt; exit; $context = stream_context_create(array("http" => array( "method" => "POST", "header" => array("User-Agent: AdminerSqlGemini", "Content-Type: application/json"), "content" => '{"contents": [{"parts":[{"text": ' . json_encode($prompt) . '}]}]}', "ignore_errors" => true, ))); $response = json_decode(file_get_contents("https://generativelanguage.googleapis.com/v1beta/models/$this->model:generateContent?key=$this->apiKey", false, $context)); if (isset($response->error)) { echo "-- " . $response->error->message; } else { $text = $response->candidates[0]->content->parts[0]->text; $text = preg_replace('~(\n|^)```sql\n(.+)\n```(\n|$)~sU', "*/\n\n\\2\n\n/*", "/*\n$text*/\n"); echo preg_replace('~/\*\s*\*/\n*~', '', $text); } exit; } } function sqlPrintAfter() { echo "
\n"; ?>
array( 'Ask Gemini' => 'Zeptat se Gemini', 'Just a sec...' => 'Chviličku...', ), ); }