最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - Google Cloud SDK request to vertex ai, return error 503 - Stack Overflow

programmeradmin1浏览0评论

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\/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\/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\/images\/branding\/googlelogo\/2x\/googlelogo_color_150x54dp.png) no-repeat 0% 0%\/100% 100%;-moz-border-image:url(\/\/www.google\/images\/branding\/googlelogo\/2x\/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(\/\/www.google\/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\/><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

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

Share Improve this question edited Jan 21 at 8:23 Jordi Tomàs Molina asked Jan 20 at 16:57 Jordi Tomàs Molina Jordi Tomàs Molina 135 bronze badges 5
  • Please document a minimal repro of your code not a code snippet. A good goal is to minimize the effort required by others to reproduce your issue. You don't include imports, describe which libraries you're using and you don't provide the curl example that you used that works. – DazWilkin Commented Jan 20 at 17:39
  • I'm not a PHP developer but, per the documentation for PredictionServiceClient you need to provide a specific endpoint (see the code example). Your code appears to not do this and this likely explains the 503. – DazWilkin Commented Jan 20 at 17:39
  • I provided more info, srry about that – Jordi Tomàs Molina Commented Jan 21 at 8:24
  • 503 error typically indicates model serving backend is temporarily unavailable. The unavailable status might be temporary. However, if the error persists, contact Vertex AI support. also, are you serving your own model or Google pre-build models? if your own model, try to adjust the serving replica size. – Gang Chen Commented Jan 21 at 15:06
  • I try with different models that are pre-build, but the strange of that, if I use the curl example that google generate, works like a charm, i thing that the error is related with some problem in sdk – Jordi Tomàs Molina Commented Jan 21 at 15:15
Add a comment  | 

2 Answers 2

Reset to default 0

According to @Nils Adermann, Shutting down Packagist.org support for Composer 1.x. We need to upgrade to Composer 2.x before the February 1st, 2025, the read-only deadline. The upgrade is simple—most projects will work with 2.x without any issues. You can review the instructions on our original 2.0 blog post and notes on BC breaks.

To upgrade, use this command:

composer self-update --2

Based on this public documentation for Google Cloud Vertex AI for PHP.

NOTE: This repository is part of Google Cloud PHP. Any support requests, bug reports, or development contributions should be directed to that project.

Installation

To begin, install the preferred dependency manager for PHP, Composer.

Now install this component:

$ composer require google/cloud-ai-platform

This component supports both REST over HTTP/1.1 and gRPC. In order to take advantage of the benefits offered by gRPC (such as streaming methods) please see our gRPC installation guide.

Authentication

Please see our Authentication guide for more information on authenticating your client. Once authenticated, you'll be ready to start making requests.

Debugging

Please see our Debugging guide for more information about the debugging tools.

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

发布评论

评论列表(0)

  1. 暂无评论