- Framework Laravel 11.x
- google/apiclient: ^2.0,
- google/cloud-ai- платформа: ^1.13,
- google/cloud-document-ai: ^2.1,
Статус конечной точки активен, настройки доступа стандартные, они неактивны.
Статус моделей включен. развернутая конечная точка готова
У учетной записи службы есть разрешения
- Разработчик платформы AI
- Агент по обслуживанию ноутбуков AI Platform
- Агент по обслуживанию AI Platform
- Администратор среды выполнения ноутбуков
- Администратор ноутбуков
- Администратор ноутбуков
- Администратор Vertex AI li>
- Агент службы пакетного прогнозирования Vertex AI
- Агент службы онлайн-прогнозирования Vertex AI
- Пользователь Vertex AI
Измененная конечная точка
// results { "message": "Эта конечная точка является выделенной конечной точкой через CloudESF и не может быть доступ осуществляется через API Vertex AI. Получите доступ к конечной точке, используя ее выделенное DNS-имя «{ENDPOINT_ID}.us-central1-{PROJECT_NUMBER}.prediction.vertexai.goog», «code»: 9, «status»: «FAILED_PRECONDITION», «details»: [] 'apiEndpoint' => 'us-central1-aiplatform.googleapis.com:443',
Код: Выделить всё
// results cURL error 6: Could not resolve host: for https://{ENDPOINT_ID}.us-central1-{PROJECT_NUMBER}.prediction.vertexai.goog/v1/projects/emplo-ocr/locations/us-central1/endpoints/{ENDPOINT_ID}:generateContent?%24alt=json%3Benum-encoding%3Dint
// 'apiEndpoint' => '{ENDPOINT_ID}.us-central1-{PROJECT_NUMBER}.prediction.vertexai.goog',
// results cURL error 60: SSL: no alternative certificate subject name matches target host name https://{ENDPOINT_ID}.us-central1-aiplatform.googleapis.com/v1/projects/emplo-ocr/locations/us-central1/endpoints/{ENDPOINT_ID}:generateContent?%24alt=json%3Benum-encoding%3Dint
// 'apiEndpoint' => '{ENDPOINT_ID}.us-central1-aiplatform.googleapis.com',
и получил список правильных моделей
Код: Выделить всё
$clientOptions = [
'apiEndpoint' => 'us-central1-aiplatform.googleapis.com:443',
'credentials' => Storage::path($credentialsPath),
];
$client = new ModelServiceClient($clientOptions);
putenv('GOOGLE_APPLICATION_CREDENTIALS=Storage::path($credentialsPath)');
$request = new ListModelsRequest();
$request->setParent('projects/{PROJECT_NUMBER}/locations/us-central1');
$response = $client->listModels($request);
Код: Выделить всё
$clientOptions = [
// 'apiEndpoint' => 'us-central1-aiplatform.googleapis.com:443',
// 'apiEndpoint' => '{ENDPOINT_ID}.us-central1-{PROJECT_NUMBER}.prediction.vertexai.goog',
// 'apiEndpoint' => '{ENDPOINT_ID}.us-central1-aiplatform.googleapis.com',
'credentials' => Storage::path($credentialsPath),
];
$client = new PredictionServiceClient($clientOptions);
putenv('GOOGLE_APPLICATION_CREDENTIALS=Storage::path($credentialsPath)');
$content = new Content();
$content->setRole('string');
$content->setParts([
new Part([
'text' => json_encode([
'data' => 'data'
])
]);
$systemInstruction = new Content();
$systemInstruction->setRole('string');
$systemInstruction->setParts([
new Part([
'text' => "inst..."
])
]);
$request = new GenerateContentRequest();
$request->setModel('projects/{PROJECT_NUMBER}/locations/us-central1/endpoints/{ENDPOINT_ID}');
$request->setContents([$content]);
$request->setSystemInstruction($systemInstruction);
$response = $client->generateContent($request);
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... 4-on-defau