Текстовая аналитика — тема очень интересная и не такая очевидная.

Oracle недавно объявила об услугах машинного обучения Oracle в своем общедоступном облаке. Вместе с этим поставляется набор REST API для доступа к доступным возможностям.

Подводя итог, можно выделить 3 семейства API:

  • Рынок моделей машинного обучения: список, обнаружение и хранение моделей (даже созданных с использованием сред с открытым исходным кодом: Tensorflow, Keras… благодаря формату ONNX)
  • Развертывание моделей машинного обучения: разверните модели внутри баз данных Oracle для оценки в реальном времени… очень полезно для MLOps!
  • Познавательный текст: тема этого поста!

Доступ к этим API можно получить из PL/SQL с помощью пакета APEX_WEB_SERVICE (например, из автономных баз данных).

OAuth2-аутентификация

Самым первым шагом является аутентификация, чтобы получить токен для всех следующих вызовов REST API (этот токен будет действовать один час, а затем его нужно будет обновить).

Для этого самого первого шага вам необходимо собрать следующую информацию:

  • имя пользователя базы данных: легко
  • пароль базы данных: my_super_password2021
  • URL-адрес экземпляра облачной службы автономной базы данных: adb.‹region›.oraclecloud.com (список доступных регионов см. здесь)
  • Арендатор OCI OCID: см. документацию
  • имя базы данных: это имя вашей базы данных (пример с лоиком на скриншоте, регистр не важен)

С помощью этой информации вы теперь можете создать вызов REST API следующим образом:

Тело будет документом JSON:

{"grant_type":"password","username":"easy","password":"my_super_password2021"}

URL будет:

https://adb.eu-frankfurt-1.oraclecloud.com/omlusers/tenants/ocid1.tenancy.oc1..../databases/loic/api/oauth2/v1/token

Два заголовка:

Content-Type: application/json
Accept: application/json

Теперь вы можете выполнить вызов и получить свой токен OAuth 2.0:

curl -i -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json'\ 
-d '{"grant_type":"password", "username":"easy", "password":"my_super_password2021"}'\
 "<autonomous-database-cloud-service-instance-url>/omlusers/tenants/${tenant_name}/databases/${database_name}/api/oauth2/v1/token"

Пример ответа:

{
  "accessToken": "eyJhb...==",  
  "expiresIn": 3600,
  "tokenType": "Bearer"
}

Поле accessToken содержит токен, который необходимо сохранить. На этот раз вы будете использовать его для своих следующих вызовов REST API для аутентификации Bearer.

Когнитивный текст APIS

А теперь самое интересное: теперь у вас есть доступ к следующим REST API:

Обратите внимание, что поддерживаются несколько языков, таких как АМЕРИКАНСКИЙ, ФРАНЦУЗСКИЙ и ИСПАНСКИЙ.