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 |2 Answers
Reset to default 0According 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
curl
example that you used that works. – DazWilkin Commented Jan 20 at 17:39PredictionServiceClient
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