Quickstart: Criar um recurso de Serviços Cognitivos utilizando a biblioteca de clientes da Azure Management

Utilize este quickstart para criar e gerir os recursos dos Serviços Cognitivos Azure utilizando a biblioteca de clientes da Azure Management.

Azure Cognitive Services é uma família de serviços de base na nuvem com APIs REST e bibliotecas de clientes disponíveis para ajudar os desenvolvedores a criar inteligência cognitiva nas suas aplicações. Os desenvolvedores não precisam de inteligência artificial direta (IA) ou habilidades de ciência de dados ou conhecimentos para alcançar o sucesso. O Azure Cognitive Services permite que os desenvolvedores adicionem facilmente funcionalidades cognitivas nas suas aplicações com soluções cognitivas que podem ver, ouvir, falar, entender e até começar a raciocinar.

Os serviços individuais de IA são representados pelos recursos Azure que cria sob a sua subscrição Azure. Depois de criar um recurso, pode utilizar as teclas e o ponto final gerados para autenticar as suas aplicações.

Documentação de referência | Código fonte da biblioteca | Pacote (NuGet) | Amostras

C# pré-requisitos

  • Uma subscrição válida da Azure - Crie uma gratuitamente.
  • A versão atual de .NET Core.
  • Tem de criar os seus primeiros recursos face, Text Analytics ou Computer Vision a partir do portal Azure para rever e reconhecer os termos e condições. Pode fazê-lo aqui: Face, Text Analytics, Computer Vision. Depois disso, pode criar recursos subsequentes utilizando qualquer ferramenta de implantação (SDK, CLI ou ARM, etc. ) sob a mesma assinatura Azure.

Criar um diretor de serviço Azure

Para que a sua aplicação interaja com a sua conta Azure, precisa de um responsável de serviço da Azure para gerir permissões. Siga as instruções na Criar um chefe de serviço Azure.

Quando criar um diretor de serviço, verá que tem um valor secreto, uma identificação e uma identificação de aplicação. Guarde o ID da aplicação e o segredo para um local temporário para etapas posteriores.

Criar um grupo de recursos

Antes de criar um recurso de Serviços Cognitivos, a sua conta deve ter um grupo de recursos Azure para conter o recurso. Se ainda não tiver um grupo de recursos, crie um no portal Azure antes de continuar.

Criar uma nova aplicação C#

Criar uma nova aplicação .NET Core. Numa janela de consola (como cmd, PowerShell ou Bash), utilize o dotnet new comando para criar uma nova aplicação de consola com o nome azure-management-quickstart . Este comando cria um projeto "Hello World" C# simples com um único ficheiro de origem: programa.cs.

dotnet new console -n azure-management-quickstart

Mude o seu diretório para a pasta de aplicações recém-criada. Pode construir a aplicação com:

dotnet build

A saída de construção não deve conter avisos ou erros.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Instalar a biblioteca do cliente

No diretório de aplicações, instale a biblioteca de clientes da Azure Management para .NET com o seguinte comando:

dotnet add package Microsoft.Azure.Management.CognitiveServices
dotnet add package Microsoft.Azure.Management.Fluent
dotnet add package Microsoft.Azure.Management.ResourceManager.Fluent

Se estiver a utilizar o Visual Studio IDE, a biblioteca do cliente está disponível como um pacote NuGet transferível.

Importar bibliotecas

Abra o programa.cs e adicione as using seguintes declarações ao topo do ficheiro:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Authentication;
using Microsoft.Azure.Management.CognitiveServices;
using Microsoft.Azure.Management.CognitiveServices.Models;

Autenticar o cliente

Adicione os seguintes campos à raiz do programa.cs e povoe os seus valores, utilizando o principal serviço que criou e as informações da sua conta Azure.

const string  service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const string  service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const string  subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const string  tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const string  resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
const string subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

Em seguida, no seu método principal, use estes valores para construir um objeto CognitiveServicesManagementClient. Este objeto é necessário para todas as suas operações de gestão Azure.

var service_principal_credentials = new ServicePrincipalLoginInformation ();
service_principal_credentials.ClientId = service_principal_application_id;
service_principal_credentials.ClientSecret = service_principal_secret;

var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(service_principal_application_id, service_principal_secret, tenant_id, AzureEnvironment.AzureGlobalCloud);
var client = new CognitiveServicesManagementClient(credentials);
client.SubscriptionId = subscription_id;

Métodos de gestão de chamadas

Adicione o seguinte código ao seu método Principal para listar os recursos disponíveis, criar um recurso de amostra, listar os seus recursos próprios e, em seguida, eliminar o recurso da amostra. Definirá estes métodos nos próximos passos.

    // Uncomment to list all available resource kinds, SKUs, and locations for your Azure account:
    //list_available_kinds_skus_locations(client);

    // Create a resource with kind TextTranslation, F0 (free tier), location global.
    create_resource(client, "test_resource", "TextTranslation", "F0", "Global");

    // List all resources for your Azure account and resource group:
    list_resources(client);

    // Delete the resource.
    delete_resource(client, "test_resource");

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();

Criar um recurso de Serviços Cognitivos (C#)

Para criar e subscrever um novo recurso de Serviços Cognitivos, utilize o método Criar. Este método adiciona um novo recurso faturado ao grupo de recursos em que passa. Ao criar o seu novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o seu nível de preços (ou SKU) e uma localização Azure. O seguinte método toma todos estes como argumentos e cria um recurso.

static void create_resource(CognitiveServicesManagementClient client, string resource_name, string kind, string account_tier, string location)
{
    Console.WriteLine("Creating resource: " + resource_name + "...");
    /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
    property from CognitiveServicesAccountProperties. */
    CognitiveServicesAccount parameters = 
        new CognitiveServicesAccount(null, null, kind, location, resource_name, new CognitiveServicesAccountProperties(customSubDomainName : subdomain_name), new Sku(account_tier));
    var result = client.Accounts.Create(resource_group_name, account_tier, parameters);
    Console.WriteLine("Resource created.");
    Console.WriteLine("ID: " + result.Id);
    Console.WriteLine("Kind: " + result.Kind);
    Console.WriteLine();
}

Escolha um nível de serviço e preços

Quando criar um novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o nível de preços (ou SKU) que pretende. Usará esta e outras informações como parâmetros ao criar o recurso. Pode encontrar uma lista de "tipos" disponíveis do Serviço Cognitivo, chamando o seguinte método no seu script:

static void list_available_kinds_skus_locations(CognitiveServicesManagementClient client)
{

    Console.WriteLine("Available SKUs:");
    var result = client.ResourceSkus.List();
    Console.WriteLine("Kind\tSKU Name\tSKU Tier\tLocations");
    foreach (var x in result) {
        var locations = "";
        foreach (var region in x.Locations)
        {
            locations += region;
        }
        Console.WriteLine(x.Kind + "\t" + x.Name + "\t" + x.Tier + "\t" + locations);
    };
}

Você pode aceder aos Serviços Cognitivos Azure através de dois recursos diferentes: um recurso multi-serviço, ou um único serviço.

  • Recurso multi-serviço:
    • Aceda a vários Serviços Cognitivos Azure com uma única chave e ponto final.
    • Consolida a faturação dos serviços que utiliza.
  • Recurso de serviço único:
    • Aceda a um único Serviço Cognitivo Azure com uma chave e ponto final únicos para cada serviço criado.
    • Utilize o nível gratuito para experimentar o serviço.

Consulte a lista de SKUs e informações sobre preços abaixo.

Multi-serviço

Serviço Tipo
Vários serviços. Para mais informações, consulte a página de preços. CognitiveServices

Visão

Serviço Tipo
Imagem Digitalizada ComputerVision
Visão Personalizada - Previsão CustomVision.Prediction
Visão Personalizada - Treino CustomVision.Training
Rostos Face
Reconhecedor de Formato FormRecognizer

Voz

Serviço Tipo
Serviços de Voz SpeechServices
Reconhecimento de Voz SpeakerRecognition

Linguagem

Serviço Tipo
LUIS LUIS
QnA Maker QnAMaker
Análise de Texto TextAnalytics
Tradução de Texto TextTranslation

Decisão

Serviço Tipo
Detetor de Anomalias AnomalyDetector
Content Moderator ContentModerator
Personalizador Personalizer

Níveis de preços e faturação

Os níveis de preços (e o valor que recebe faturado) baseiam-se no número de transações que envia usando as suas informações de autenticação. Cada nível de preços especifica:

  • número máximo de transações permitidas por segundo (TPS).
  • funcionalidades de serviço ativadas dentro do nível de preços.
  • custo para um número pré-refinado de transações. Ir acima deste número irá causar uma taxa extra, conforme especificado nos detalhes de preços do seu serviço.

Nota

Muitos dos Serviços Cognitivos têm um nível gratuito que pode usar para experimentar o serviço. Para utilizar o nível livre, utilize F0 como SKU para o seu recurso.

Ver os seus recursos

Para visualizar todos os recursos na sua conta Azure (em todos os grupos de recursos), utilize o seguinte método:

static void list_resources(CognitiveServicesManagementClient client)
{
    Console.WriteLine("Resources in resource group: " + resource_group_name);
    var result = client.Accounts.ListByResourceGroup(resource_group_name);
    foreach (var x in result)
    {
        Console.WriteLine("ID: " + x.Id);
        Console.WriteLine("Name: " + x.Name);
        Console.WriteLine("Type: " + x.Type);
        Console.WriteLine("Kind: " + x.Kind);
        Console.WriteLine();
    }
}

Eliminar um recurso

O seguinte método elimina o recurso especificado do grupo de recursos dado.

static void delete_resource(CognitiveServicesManagementClient client, string resource_name)
{
    Console.WriteLine("Deleting resource: " + resource_name + "...");
    client.Accounts.Delete (resource_group_name, resource_name);

    Console.WriteLine("Resource deleted.");
    Console.WriteLine();
}

Se precisar de recuperar um recurso eliminado, consulte recuperar os recursos dos Serviços Cognitivos eliminados.

Executar a aplicação

Executar o pedido do seu diretório de candidaturas com o dotnet run comando.

dotnet run

Ver também

Documentação de referência | Código fonte da biblioteca | Pacote (Maven)

Pré-requisitos de Java

Criar um diretor de serviço Azure

Para que a sua aplicação interaja com a sua conta Azure, precisa de um responsável de serviço da Azure para gerir permissões. Siga as instruções na Criar um chefe de serviço Azure.

Quando criar um diretor de serviço, verá que tem um valor secreto, uma identificação e uma identificação de aplicação. Guarde o ID da aplicação e o segredo para um local temporário para etapas posteriores.

Criar um grupo de recursos

Antes de criar um recurso de Serviços Cognitivos, a sua conta deve ter um grupo de recursos Azure para conter o recurso. Se ainda não tiver um grupo de recursos, crie um no portal Azure antes de continuar.

Criar uma nova aplicação Java

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue até ela.

mkdir myapp && cd myapp

Executar o comando do seu diretório de gradle init trabalho. Este comando criará ficheiros de construção essenciais para Gradle, incluindo build.gradle.kts que é usado em tempo de execução para criar e configurar a sua aplicação.

gradle init --type basic

Quando solicitado para escolher um DSL, selecione Kotlin.

Do seu diretório de trabalho, executar o seguinte comando:

mkdir -p src/main/java

Instalar a biblioteca do cliente

Este quickstart usa o gestor de dependência gradle. Pode encontrar a biblioteca do cliente e informações para outros gestores de dependência no Repositório Central de Maven.

No ficheiro build.gradle.kts do seu projeto, inclua a biblioteca do cliente como implementation declaração, juntamente com os plugins e configurações necessários.

plugins {
    java
    application
}
application {
    mainClass.set("FormRecognizer")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.microsoft.azure", name = "azure-mgmt-cognitiveservices", version = "1.10.0-beta")
}

Importar bibliotecas

Navegue na nova pasta src/main/java e crie um ficheiro chamado Management.java. Abra-o no seu editor preferido ou IDE e adicione as import seguintes declarações:

import com.microsoft.azure.*;
import com.microsoft.azure.arm.resources.Region;
import com.microsoft.azure.credentials.*;
import com.microsoft.azure.management.cognitiveservices.v2017_04_18.*;
import com.microsoft.azure.management.cognitiveservices.v2017_04_18.implementation.*;

import java.io.*;
import java.lang.Object.*;
import java.util.*;
import java.net.*;

Autenticar o cliente

Adicione uma classe em Gestão.java, e adicione os seguintes campos e os seus valores dentro dela. Povoar os seus valores, utilizando o principal serviço que criou e as suas outras informações da conta Azure.

/*
Be sure to use the service pricipal application ID, not simply the ID. 
*/
private static String applicationId = "INSERT APPLICATION ID HERE";
private static String applicationSecret = "INSERT APPLICATION SECRET HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
private static String subscriptionId = "INSERT SUBSCRIPTION ID HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
private static String tenantId = "INSERT TENANT ID HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
private static String resourceGroupName = "INSERT RESOURCE GROUP NAME HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
private static String subDomainName = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

Em seguida, no seu método principal, use estes valores para construir um objeto CognitiveServicesManager. Este objeto é necessário para todas as suas operações de gestão Azure.

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(applicationId, tenantId, applicationSecret, AzureEnvironment.AZURE);

CognitiveServicesManager client = CognitiveServicesManager.authenticate(credentials, subscriptionId);

Métodos de gestão de chamadas

Adicione o seguinte código ao seu método Principal para listar os recursos disponíveis, criar um recurso de amostra, listar os seus recursos próprios e, em seguida, eliminar o recurso da amostra. Definirá estes métodos nos próximos passos.

// Uncomment to list all available resource kinds, SKUs, and locations for your Azure account.
// list_available_kinds_skus_locations (client);

// Create a resource with kind Text Translation, SKU F0 (free tier), location global.
String resourceId = create_resource (client, "test_resource", resourceGroupName, "TextAnalytics", "F0", Region.US_WEST);

// list all resources for your Azure account.
list_resources (client);

// Delete the resource.
delete_resource (client, resourceId);

Criar um recurso de Serviços Cognitivos (Java)

Para criar e subscrever um novo recurso de Serviços Cognitivos, utilize o método de criação. Este método adiciona um novo recurso faturado ao grupo de recursos em que passa. Ao criar o seu novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o seu nível de preços (ou SKU) e uma localização Azure. O seguinte método toma todos estes como argumentos e cria um recurso.

    public static String create_resource (CognitiveServicesManager client, String resourceName, String resourceGroupName, String kind, String skuName, Region region) {
        System.out.println ("Creating resource: " + resourceName + "...");

/* NOTE If you do not want to use a custom subdomain name, remove the withCustomSubDomainName
setter from the CognitiveServicesAccountProperties object. */
        CognitiveServicesAccount result = client.accounts().define(resourceName)
            .withRegion(region)
            .withExistingResourceGroup(resourceGroupName)
            .withKind(kind)
            .withSku(new Sku().withName(skuName))
            .withProperties(new CognitiveServicesAccountProperties().withCustomSubDomainName(subDomainName))
            .create();

        System.out.println ("Resource created.");
        System.out.println ("ID: " + result.id());
        System.out.println ("Provisioning state: " + result.properties().provisioningState().toString());
        System.out.println ();

        return result.id();
    }

Escolha um nível de serviço e preços

Quando criar um novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o nível de preços (ou SKU) que pretende. Usará esta e outras informações como parâmetros ao criar o recurso. Pode encontrar uma lista de "tipos" disponíveis do Serviço Cognitivo, chamando o seguinte método:

public static void list_available_kinds_skus_locations (CognitiveServicesManager client) {
    System.out.println ("Available SKUs:");
    System.out.println("Kind\tSKU Name\tSKU Tier\tLocations");
    ResourceSkus skus = client.resourceSkus();
    // See https://github.com/ReactiveX/RxJava/wiki/Blocking-Observable-Operators
    for (ResourceSku sku : skus.listAsync().toBlocking().toIterable()) {
        String locations = String.join (",", sku.locations());
        System.out.println (sku.kind() + "\t" + sku.name() + "\t" + sku.tier() + "\t" + locations);
    }
}

Você pode aceder aos Serviços Cognitivos Azure através de dois recursos diferentes: um recurso multi-serviço, ou um único serviço.

  • Recurso multi-serviço:
    • Aceda a vários Serviços Cognitivos Azure com uma única chave e ponto final.
    • Consolida a faturação dos serviços que utiliza.
  • Recurso de serviço único:
    • Aceda a um único Serviço Cognitivo Azure com uma chave e ponto final únicos para cada serviço criado.
    • Utilize o nível gratuito para experimentar o serviço.

Consulte a lista de SKUs e informações sobre preços abaixo.

Multi-serviço

Serviço Tipo
Vários serviços. Para mais informações, consulte a página de preços. CognitiveServices

Visão

Serviço Tipo
Imagem Digitalizada ComputerVision
Visão Personalizada - Previsão CustomVision.Prediction
Visão Personalizada - Treino CustomVision.Training
Rostos Face
Reconhecedor de Formato FormRecognizer

Voz

Serviço Tipo
Serviços de Voz SpeechServices
Reconhecimento de Voz SpeakerRecognition

Linguagem

Serviço Tipo
LUIS LUIS
QnA Maker QnAMaker
Análise de Texto TextAnalytics
Tradução de Texto TextTranslation

Decisão

Serviço Tipo
Detetor de Anomalias AnomalyDetector
Content Moderator ContentModerator
Personalizador Personalizer

Níveis de preços e faturação

Os níveis de preços (e o valor que recebe faturado) baseiam-se no número de transações que envia usando as suas informações de autenticação. Cada nível de preços especifica:

  • número máximo de transações permitidas por segundo (TPS).
  • funcionalidades de serviço ativadas dentro do nível de preços.
  • custo para um número pré-refinado de transações. Ir acima deste número irá causar uma taxa extra, conforme especificado nos detalhes de preços do seu serviço.

Nota

Muitos dos Serviços Cognitivos têm um nível gratuito que pode usar para experimentar o serviço. Para utilizar o nível livre, utilize F0 como SKU para o seu recurso.

Ver os seus recursos

Para visualizar todos os recursos na sua conta Azure (em todos os grupos de recursos), utilize o seguinte método:

public static void list_resources (CognitiveServicesManager client) {
    System.out.println ("Resources in resource group: " + resourceGroupName);
    // Note Azure resources are also sometimes referred to as accounts.
    Accounts accounts = client.accounts();
    for (CognitiveServicesAccount account : accounts.listByResourceGroupAsync(resourceGroupName).toBlocking().toIterable()) {
        System.out.println ("Kind: " + account.kind ());
        System.out.println ("SKU Name: " + account.sku().name());
        System.out.println ();
    }
}

Eliminar um recurso

O seguinte método elimina o recurso especificado do grupo de recursos dado.

public static void delete_resource (CognitiveServicesManager client, String resourceId) {
    System.out.println ("Deleting resource: " + resourceId + "...");
    client.accounts().deleteByIds (resourceId);
    System.out.println ("Resource deleted.");
    System.out.println ();
}

Se precisar de recuperar um recurso eliminado, consulte recuperar os recursos dos Serviços Cognitivos eliminados.

Ver também

Documentação de referência | Código fonte da biblioteca | Pacote (NPM) | Amostras

JavaScript pré-requisitos

  • Uma subscrição válida da Azure - Crie uma gratuitamente.
  • A versão atual de Node.js
  • Tem de criar os seus primeiros recursos face, Text Analytics ou Computer Vision a partir do portal Azure para rever e reconhecer os termos e condições. Pode fazê-lo aqui: Face, Text Analytics, Computer Vision. Depois disso, pode criar recursos subsequentes utilizando qualquer ferramenta de implantação (SDK, CLI ou ARM, etc. ) sob a mesma assinatura Azure.

Criar um diretor de serviço Azure

Para que a sua aplicação interaja com a sua conta Azure, precisa de um responsável de serviço da Azure para gerir permissões. Siga as instruções na Criar um chefe de serviço Azure.

Quando criar um diretor de serviço, verá que tem um valor secreto, uma identificação e uma identificação de aplicação. Guarde o ID da aplicação e o segredo para um local temporário para etapas posteriores.

Criar um grupo de recursos

Antes de criar um recurso de Serviços Cognitivos, a sua conta deve ter um grupo de recursos Azure para conter o recurso. Se ainda não tiver um grupo de recursos, crie um no portal Azure antes de continuar.

Criar uma nova aplicação Node.js

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue até ela.

mkdir myapp && cd myapp

Executar o npm init comando para criar uma aplicação de nó com um package.json ficheiro.

npm init

Crie um ficheiro chamado index.js antes de continuar.

Instalar a biblioteca do cliente

Instale os seguintes pacotes NPM:

npm install @azure/arm-cognitiveservices
npm install @azure/ms-rest-js
npm install @azure/ms-rest-nodeauth

O ficheiro da sua aplicação package.json será atualizado com as dependências.

Importar bibliotecas

Abra o seu script index.js e importe as seguintes bibliotecas.

"use strict";

/* To run this sample, install the following modules.
 * npm install @azure/arm-cognitiveservices
 * npm install @azure/ms-rest-js
 * npm install @azure/ms-rest-nodeauth
 */
var Arm = require("@azure/arm-cognitiveservices");
var msRestNodeAuth = require("@azure/ms-rest-nodeauth");

Autenticar o cliente

Adicione os seguintes campos à raiz do seu script e preencha os seus valores, utilizando o principal serviço que criou e as informações da sua conta Azure.

const service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names.
*/
const subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

Em seguida, adicione a seguinte quickstart função para lidar com o trabalho principal do seu programa. O primeiro bloco de código constrói um objeto CognitiveServicesManagementClient usando as variáveis credenciais que inseriu acima. Este objeto é necessário para todas as suas operações de gestão Azure.

async function quickstart() {
    const credentials = await msRestNodeAuth.loginWithServicePrincipalSecret (service_principal_application_id, service_principal_secret, tenant_id);
    const client = new Arm.CognitiveServicesManagementClient (credentials, subscription_id);
    // Note Azure resources are also sometimes referred to as accounts.
    const accounts_client = new Arm.Accounts (client);
    const resource_skus_client = new Arm.ResourceSkus (client);

Funções de gestão de chamadas

Adicione o seguinte código ao fim da sua quickstart função para listar os recursos disponíveis, criar um recurso de amostra, listar os seus recursos próprios e, em seguida, eliminar o recurso da amostra. Definirá estas funções nos próximos passos.

Criar um recurso de Serviços Cognitivos (Node.js)

Para criar e subscrever um novo recurso de Serviços Cognitivos, utilize a função Criar. Esta função adiciona um novo recurso faturado ao grupo de recursos em que passa. Quando criar o seu novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o seu nível de preços (ou SKU) e uma localização Azure. A seguinte função pega em todos estes argumentos e cria um recurso.

async function create_resource (client, resource_name, kind, sku_name, location) {
    console.log ("Creating resource: " + resource_name + "...");
/* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
property from the properties object. */
    var parameters = { sku : { name: sku_name }, kind : kind, location : location, properties : { customSubDomainName : subdomain_name } };
    return client.create(resource_group_name, resource_name, parameters)
        .then((result) => {
            console.log("Resource created.");
            console.log();
            console.log("ID: " + result.id);
            console.log("Kind: " + result.kind);
            console.log();
        })
        .catch((err) =>{ 
                console.log(err)
        })
}

Escolha um nível de serviço e preços

Quando criar um novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o nível de preços (ou SKU) que pretende. Usará esta e outras informações como parâmetros ao criar o recurso. A seguinte função lista os "tipos" do Serviço Cognitivo disponível.

async function list_available_kinds_skus_locations (client) {
    console.log ("Available SKUs:");
    var result = await client.list ();
    console.log("Kind\tSKU Name\tSKU Tier\tLocations");
    result.forEach (function (x) {
        var locations = x.locations.join(",");
        console.log(x.kind + "\t" + x.name + "\t" + x.tier + "\t" + locations);
    });
}

Você pode aceder aos Serviços Cognitivos Azure através de dois recursos diferentes: um recurso multi-serviço, ou um único serviço.

  • Recurso multi-serviço:
    • Aceda a vários Serviços Cognitivos Azure com uma única chave e ponto final.
    • Consolida a faturação dos serviços que utiliza.
  • Recurso de serviço único:
    • Aceda a um único Serviço Cognitivo Azure com uma chave e ponto final únicos para cada serviço criado.
    • Utilize o nível gratuito para experimentar o serviço.

Consulte a lista de SKUs e informações sobre preços abaixo.

Multi-serviço

Serviço Tipo
Vários serviços. Para mais informações, consulte a página de preços. CognitiveServices

Visão

Serviço Tipo
Imagem Digitalizada ComputerVision
Visão Personalizada - Previsão CustomVision.Prediction
Visão Personalizada - Treino CustomVision.Training
Rostos Face
Reconhecedor de Formato FormRecognizer

Voz

Serviço Tipo
Serviços de Voz SpeechServices
Reconhecimento de Voz SpeakerRecognition

Linguagem

Serviço Tipo
LUIS LUIS
QnA Maker QnAMaker
Análise de Texto TextAnalytics
Tradução de Texto TextTranslation

Decisão

Serviço Tipo
Detetor de Anomalias AnomalyDetector
Content Moderator ContentModerator
Personalizador Personalizer

Níveis de preços e faturação

Os níveis de preços (e o valor que recebe faturado) baseiam-se no número de transações que envia usando as suas informações de autenticação. Cada nível de preços especifica:

  • número máximo de transações permitidas por segundo (TPS).
  • funcionalidades de serviço ativadas dentro do nível de preços.
  • custo para um número pré-refinado de transações. Ir acima deste número irá causar uma taxa extra, conforme especificado nos detalhes de preços do seu serviço.

Nota

Muitos dos Serviços Cognitivos têm um nível gratuito que pode usar para experimentar o serviço. Para utilizar o nível livre, utilize F0 como SKU para o seu recurso.

Ver os seus recursos

Para visualizar todos os recursos na sua conta Azure (em todos os grupos de recursos), utilize a seguinte função:

async function list_resources (client) {
    console.log ("Resources in resource group: " + resource_group_name);
    var result = await client.listByResourceGroup (resource_group_name);
    result.forEach (function (x) {
        console.log(x);
        console.log();
    });
}

Eliminar um recurso

A seguinte função elimina o recurso especificado do grupo de recursos dado.

async function delete_resource (client, resource_name) {
    console.log ("Deleting resource: " + resource_name + "...");
    await client.deleteMethod (resource_group_name, resource_name)
    console.log ("Resource deleted.");
    console.log ();
}

Se precisar de recuperar um recurso eliminado, consulte recuperar os recursos dos Serviços Cognitivos eliminados.

Executar a aplicação

Adicione o seguinte código na parte inferior do seu script para ligar para a sua função principal quickstart com o manuseamento de erros.

try {
    quickstart();
}
catch (error) {
    console.log(error);
}

Em seguida, na janela da consola, execute a aplicação com o node comando.

node index.js

Ver também

Documentação de referência | Código fonte da biblioteca | Pacote (PyPi) | Amostras

Pré-requisitos de Python

  • Uma subscrição válida da Azure - Crie uma gratuitamente.
  • Python 3.x
  • Tem de criar os seus primeiros recursos face, Text Analytics ou Computer Vision a partir do portal Azure para rever e reconhecer os termos e condições. Pode fazê-lo aqui: Face, Text Analytics, Computer Vision. Depois disso, pode criar recursos subsequentes utilizando qualquer ferramenta de implantação (SDK, CLI ou ARM, etc. ) sob a mesma assinatura Azure.

Criar um diretor de serviço Azure

Para que a sua aplicação interaja com a sua conta Azure, precisa de um responsável de serviço da Azure para gerir permissões. Siga as instruções na Criar um chefe de serviço Azure.

Quando criar um diretor de serviço, verá que tem um valor secreto, uma identificação e uma identificação de aplicação. Guarde o ID da aplicação e o segredo para um local temporário para etapas posteriores.

Criar um grupo de recursos

Antes de criar um recurso de Serviços Cognitivos, a sua conta deve ter um grupo de recursos Azure para conter o recurso. Se ainda não tiver um grupo de recursos, crie um no portal Azure antes de continuar.

Criar uma aplicação Python nova

Crie uma nova aplicação Python no seu editor preferido ou IDE e navegue para o seu projeto numa janela de consola.

Instalar a biblioteca do cliente

Pode instalar a biblioteca do cliente com:

pip install azure-mgmt-cognitiveservices

Se estiver a utilizar o Visual Studio IDE, a biblioteca do cliente está disponível como um pacote NuGet transferível.

Importar bibliotecas

Abra o seu script Python e importe as seguintes bibliotecas.

from azure.identity import ClientSecretCredential
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient
from azure.mgmt.cognitiveservices.models import CognitiveServicesAccount, Sku

Autenticar o cliente

Adicione os seguintes campos à raiz do seu script e preencha os seus valores, utilizando o principal serviço que criou e as informações da sua conta Azure.

# Be sure to use the service pricipal application ID, not simply the ID. 
service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE"
service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE"

# The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions.
subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE"

# The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory.
tenant_id = "PASTE_YOUR_TENANT_ID_HERE"

# The name of the Azure resource group in which you want to create the resource.
# You can find resource groups in the Azure Dashboard under Home > Resource groups.
resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE"

# The name of the custom subdomain to use when you create the resource. This is optional.
# For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
# your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
# Note not all Cognitive Services allow custom subdomain names.
subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE"

Em seguida, adicione o seguinte código para construir um objeto CognitiveServicesManagementClient. Este objeto é necessário para todas as suas operações de gestão Azure.

credential = ClientSecretCredential(tenant_id, service_principal_application_id, service_principal_secret)
client = CognitiveServicesManagementClient(credential, subscription_id)

Criar um recurso de Serviços Cognitivos (Python)

Para criar e subscrever um novo recurso de Serviços Cognitivos, utilize a função Criar. Esta função adiciona um novo recurso faturado ao grupo de recursos em que passa. Quando criar o seu novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o seu nível de preços (ou SKU) e uma localização Azure. A seguinte função pega em todos estes argumentos e cria um recurso.

def create_resource (resource_name, kind, sku_name, location) :
    print("Creating resource: " + resource_name + "...")
# NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
# property from the properties object.
    parameters = CognitiveServicesAccount(sku=Sku(name=sku_name), kind=kind, location=location, properties={ 'custom_sub_domain_name' : subdomain_name })
    result = client.accounts.create(resource_group_name, resource_name, parameters)
    print("Resource created.")
    print()
    print("ID: " + result.id)
    print("Name: " + result.name)
    print("Type: " + result.type)
    print()

Escolha um nível de serviço e preços

Quando criar um novo recurso, terá de conhecer o "tipo" de serviço que pretende utilizar, juntamente com o nível de preços (ou SKU) que pretende. Usará esta e outras informações como parâmetros ao criar o recurso. A seguinte função lista os "tipos" do Serviço Cognitivo disponível.

def list_available_kinds_skus_locations():
    print("Available SKUs:")
    result = client.resource_skus.list()
    print("Kind\tSKU Name\tSKU Tier\tLocations")
    for x in result:
        locations = ",".join(x.locations)
        print(x.kind + "\t" + x.name + "\t" + x.tier + "\t" + locations)

Você pode aceder aos Serviços Cognitivos Azure através de dois recursos diferentes: um recurso multi-serviço, ou um único serviço.

  • Recurso multi-serviço:
    • Aceda a vários Serviços Cognitivos Azure com uma única chave e ponto final.
    • Consolida a faturação dos serviços que utiliza.
  • Recurso de serviço único:
    • Aceda a um único Serviço Cognitivo Azure com uma chave e ponto final únicos para cada serviço criado.
    • Utilize o nível gratuito para experimentar o serviço.

Consulte a lista de SKUs e informações sobre preços abaixo.

Multi-serviço

Serviço Tipo
Vários serviços. Para mais informações, consulte a página de preços. CognitiveServices

Visão

Serviço Tipo
Imagem Digitalizada ComputerVision
Visão Personalizada - Previsão CustomVision.Prediction
Visão Personalizada - Treino CustomVision.Training
Rostos Face
Reconhecedor de Formato FormRecognizer

Voz

Serviço Tipo
Serviços de Voz SpeechServices
Reconhecimento de Voz SpeakerRecognition

Linguagem

Serviço Tipo
LUIS LUIS
QnA Maker QnAMaker
Análise de Texto TextAnalytics
Tradução de Texto TextTranslation

Decisão

Serviço Tipo
Detetor de Anomalias AnomalyDetector
Content Moderator ContentModerator
Personalizador Personalizer

Níveis de preços e faturação

Os níveis de preços (e o valor que recebe faturado) baseiam-se no número de transações que envia usando as suas informações de autenticação. Cada nível de preços especifica:

  • número máximo de transações permitidas por segundo (TPS).
  • funcionalidades de serviço ativadas dentro do nível de preços.
  • custo para um número pré-refinado de transações. Ir acima deste número irá causar uma taxa extra, conforme especificado nos detalhes de preços do seu serviço.

Nota

Muitos dos Serviços Cognitivos têm um nível gratuito que pode usar para experimentar o serviço. Para utilizar o nível livre, utilize F0 como SKU para o seu recurso.

Ver os seus recursos

Para visualizar todos os recursos na sua conta Azure (em todos os grupos de recursos), utilize a seguinte função:

def list_resources():
    print("Resources in resource group: " + resource_group_name)
    result = client.accounts.list_by_resource_group(resource_group_name)
    for x in result:
        print(x.name)
        print(x)
        print()

Eliminar um recurso

A seguinte função elimina o recurso especificado do grupo de recursos dado.

def delete_resource(resource_name) :
    print("Deleting resource: " + resource_name + "...")
    client.accounts.delete(resource_group_name, resource_name)
    print("Resource deleted.")

Se precisar de recuperar um recurso eliminado, consulte recuperar os recursos dos Serviços Cognitivos eliminados.

Funções de gestão de chamadas

Adicione o seguinte código na parte inferior do seu script para ligar para as funções acima. Este código lista os recursos disponíveis, cria um recurso de amostra, lista os seus recursos próprios e, em seguida, elimina o recurso da amostra.

# Uncomment this to list all available resource kinds, SKUs, and locations for your Azure account.
#list_available_kinds_skus_locations ()

# Create a resource with kind Text Translation, SKU F0 (free tier), location global.
create_resource("test_resource", "TextTranslation", "F0", "Global")

# List all resources for your Azure account.
list_resources()

# Delete the resource.
delete_resource("test_resource")

Executar a aplicação

Executar a sua aplicação a partir da linha de comando com o python comando.

python <your-script-name>.py

Ver também