Как использовать Google AutoML в веб-приложении?
У меня есть готовая к использованию модель Google Cloud AutoML NL. Я хочу связать это с моим веб-приложением с бэкэндом Firebase. Ниже приведен мой код для вызова. Существует проблема авторизации. Я хочу понять, как авторизовать приложение, чтобы помочь клиентским приложениям получить доступ к модели AutoML.
async add(data){
var headers = new Headers();
headers.append('Content-Type:application/json')
var options = {
method: 'POST',
headers,
body: JSON.stringify(data)
}
var request = new Request('https://automl.googleapis.com/v1beta1/projects/project1/locations/us-central1/models/TCN5678:predict', options )
var response = await fetch(request)
var status = await response.status
console.log(status)}
2 ответа
После нескольких часов борьбы, наконец-то я смог решить эту проблему. Я не уверен, как это может работать, кроме Firebase (и NL AutoML). Я использовал Firebase Cloud Function для обхода и использовал скрытый документ, который дает доступ к AutoML npm. Данный код требует некоторых изменений. Firebase CF может проходить аутентификацию без явной авторизации. Ниже приведен предлагаемый код, и я могу получить классификацию прогноза с помощью AutoML. Надеюсь, что это помогает другим. Наконец, кажется, что Google docs - это способ проверить навыки поиска и терпение, не зная, как это им помогает:
const automl = require('@google-cloud/automl');
exports.sendToAML = functions.database.ref('/path/to/text').onWrite((snapshot, context) =>{
var client = new automl.PredictionServiceClient({
// optional auth parameters.
});
var formattedName = client.modelPath('bucketId', 'us-central1', 'TCN****3567595');
var payload = {
"textSnippet": {
"content": snapshot.after._data.text,
"mime_type": "text/plain"
},
};
var request = {
name: formattedName,
payload: payload,
};
client.predict(request)
.then(responses => {
var response = responses[0];
return console.log(response.payload[0].classification.score)
})
.catch(err => {
console.error(err);
});
});
`
Вы должны использовать сервисные учетные записи или OAuth 2.0 в качестве метода аутентификации. Старайтесь избегать использования ключей API, поскольку ваши учетные данные могут быть раскрыты и использованы неправильно, что приводит к нежелательным сборам.