在 php 中,使用 google cloud platform (gcp) php 客户库访问 ai 模型:安装 php 7.1 及以上版本。设置 google cloud sdk。通过 gcp 控制台启用 ai platform predictions api。使用 composer 安装 php 库。发送预测请求,包括项目 id、地区、端点 id 和 json 编码的预测实例。解析响应,获取预测结果和置信度分数。

在 PHP 中,可以使用 Google Cloud Platform(GCP)提供的 PHP 客户库来访问 AI Platform Predictions 服务。该服务允许您向事先训练好的 AI 模型发送预测请求。
composer require google/cloud-aiplatform
以下是一个用 PHP 向已部署的 AI 模型发送预测请求的示例:
<?php
use Google\Cloud\AIPlatform\V1\EndpointName;
use Google\Cloud\AIPlatform\V1\PredictSchemata\Prediction;
use Google\Cloud\AIPlatform\V1\PredictionServiceClient;
use Google\Protobuf\Any;
/**
* Deploys the Prediction service using the AI Platform endpoint.
*
* @param string $projectId Your GCP project ID.
* @param string $location Your GCP region (e.g. 'us-central1').
* @param string $endpointId The ID of your AI Platform Endpoint (e.g. '12345').
* @param array $instance Your JSON-encoded prediction instance array or array of arrays.
*/
function predict(
string $projectId,
string $location,
string $endpointId,
array $instance
): void {
$endpoint = new EndpointName($projectId, $location, $endpointId);
// Convert JSON-encoded instance array(s) to PHP array(s).
$convertedInstance = [];
foreach ($instance as $instanceRow) {
$convertedInstanceRow = json_decode($instanceRow);
if ($convertedInstanceRow === null) {
throw new \Exception('Invalid JSON in $instance.');
}
$convertedInstance[] = $convertedInstanceRow;
}
// Instantiation of a client.
$clientOptions = ['apiEndpoint' => 'us-central1-aiplatform.googleapis.com:443'];
$client = new PredictionServiceClient($clientOptions);
// Set the parameters for the predict call.
$parameters = [];
$encodedInstance = new Any();
$encodedInstance->pack(
(new Prediction())
->setInstances($convertedInstance)
->setSerialize()
);
$parameters['instances'] = $encodedInstance;
// Send the prediction request.
$response = $client->predict($endpoint, $parameters);
printf('Raw response: %s' . PHP_EOL, $response->serializeToJsonString());
$predictionsResult = $response->getPredictions();
printf(
'Predicted class name(s): %s' . PHP_EOL,
implode(', ', $predictionsResult[0]->getDisplayNames())
);
printf(
'Predicted class score(s): %s' . PHP_EOL,
implode(', ', $predictionsResult[0]->getConfidences())
);
}要运行此示例,请将以下信息作为参数传递给 predict() 函数:
立即学习“PHP免费学习笔记(深入)”;
$projectId: 你的 GCP 项目 ID$location: 你的 GCP 地区(例如“us-central1”)$endpointId: 你的 AI Platform 端点的 ID(例如“12345”)$instance: 一个包含一个或多个 JSON-编码预测实例的 PHP 数组例如,以下命令将向部署在“us-central1”的“my-endpoint”中名为“my-model”的模型发送预测请求:
php predict my-project us-central1 my-endpoint '[{ "petal_length": 5.1, "petal_width": 3.5, "sepal_length": 1.4, "sepal_width": 0.2 }]'此命令将打印出模型对给定实例的预测结果,包括预测的类别名称和置信度分数。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号