phpgoogle-cloud-platformgoogle-cloud-vertex-ai

Google Cloud SDK request to vertex ai, return error 503


Im implementing the prediction ia services, using php sdk for google Cloud platform,but when im doing the request, service return 503 UNAVAILABLE code 14, but if i use a curl petition to the test the same thing, return ok results. Variable $model is like projects/{project}/locations/{location}/publishers/google/models/*

function generate_content_sample(string $model): void
{
    $predictionServiceClient = new PredictionServiceClient();

    $contentsParts = new Part();
    $contentsParts->setText("loremp ipsum"); 

    $contentsParts = [new Part()];
    $content = (new Content())
        ->setRole('user')
        ->setParts($contentsParts);

    $contents = [$content,];
    $request = (new GenerateContentRequest())
        ->setModel($model)
        ->setContents($contents);

    try {
        $response = $predictionServiceClient->generateContent($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

That service is used in a controller like this

public function generate(Request $request)
{
    try {
        $vertexAIService = new VertexAIService();

        $projectId = 'Lorem ipsum';
        $locationId = 'Lorem ipsum';
        $modelId = 'Lorem ipsum';

        $formattedEndpoint = sprintf(
            "projects/%s/locations/%s/publishers/google/models/%s",
            $projectId,
            $locationId,
            $modelId
        );

        // $content = WebScrapingController::scrape($request->url);
        // $prompt = $request->prompt . ': ' . $content;

        $response = $vertexAIService->generate_content_sample($formattedEndpoint, "Lorem ipsum");

        FacadesLog::debug('Response: ' . $response);

        return response()->json([
            'response' => $response
        ]);
    } catch (Exception $e) {
        return response()->json([
            'error' => $e->getMessage()
        ], 500);
    }

Result code

Call failed with message: {
"message": "<!DOCTYPE html>\n<html lang=en>\n  <meta charset=utf-8>\n  <meta name=viewport content=\"initial-scale=1, minimum-scale=1, width=device-width\">\n  <title>Error 503 (Server Error)!!1<\/title>\n  <style>\n    *{margin:0;padding:0}html,code{font:15px\/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(\/\/www.google.com\/images\/errors\/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(\/\/www.google.com\/images\/branding\/googlelogo\/1x\/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(\/\/www.google.com\/images\/branding\/googlelogo\/2x\/googlelogo_color_150x54dp.png) no-repeat 0% 0%\/100% 100%;-moz-border-image:url(\/\/www.google.com\/images\/branding\/googlelogo\/2x\/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(\/\/www.google.com\/images\/branding\/googlelogo\/2x\/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}\n  <\/style>\n  <a href=\/\/www.google.com\/><span id=logo aria-label=Google><\/span><\/a>\n  <p><b>503.<\/b> <ins>That\u2019s an error.<\/ins>\n  <p>The service you requested is not available at this time.<p>Service error -27.  <ins>That\u2019s all we know.<\/ins>\n",
"code": 14,
"status": "UNAVAILABLE",
"details": []

I use the oficial libraries "google/apiclient": "^2.18", "google/cloud-ai-platform": "^1.13",

Also, that code works perfectly like three or 4 days ago and now suddenly return that error


Solution

  • Finally found a fix for that, is posted on GitHub repo issues section of library issue 503 google cloud sdk php