Szybki start: zamiana mowy na tekst za pomocą modelu szeptu platformy Azure OpenAI

W tym przewodniku Szybki start wyjaśniono, jak używać modelu Szeptu Usługi Azure OpenAI na potrzeby konwersji mowy na tekst. Model Szeptu może transkrybować mowę ludzką w wielu językach i może również tłumaczyć inne języki na język angielski.

Limit rozmiaru pliku dla modelu Whisper wynosi 25 MB. Jeśli musisz przetranskrybować plik większy niż 25 MB, możesz użyć interfejsu API transkrypcji wsadowej usługi Azure AI Speech.

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
AZURE_OPENAI_ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://aoai-docs.openai.azure.com/.
AZURE_OPENAI_API_KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie żądania i odpowiedzi interfejsu API REST

W powłoce bash uruchom następujące polecenie. Musisz zastąpić YourDeploymentName ciąg nazwą wdrożenia wybraną podczas wdrażania modelu Whisper. Nazwa wdrożenia nie musi być taka sama jak nazwa modelu. Wprowadzenie nazwy modelu powoduje błąd, chyba że wybrano nazwę wdrożenia identyczną z bazową nazwą modelu.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/YourDeploymentName/audio/transcriptions?api-version=2024-02-01 \
 -H "api-key: $AZURE_OPENAI_API_KEY" \
 -H "Content-Type: multipart/form-data" \
 -F file="@./wikipediaOcelot.wav"

Pierwszy wiersz poprzedniego polecenia z przykładowym punktem końcowym wygląda następująco:

curl https://aoai-docs.openai.azure.com/openai/deployments/{YourDeploymentName}/audio/transcriptions?api-version=2024-02-01 \

Przykładowe pliki audio, takie jak wikipediaOcelot.wav, można pobrać z repozytorium zestawu SDK usługi Mowa usługi Azure AI w witrynie GitHub.

Ważne

W przypadku środowiska produkcyjnego przechowywanie poświadczeń i uzyskiwanie do nich dostępu przy użyciu bezpiecznej metody, takiej jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz Zabezpieczenia usług Azure AI.

Wyjście

{"text":"The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States, Mexico, and Central and South America. This medium-sized cat is characterized by solid black spots and streaks on its coat, round ears, and white neck and undersides. It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters 16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758. Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing, leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum, and lagomorphs."}

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
AZURE_OPENAI_ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://aoai-docs.openai.azure.com/.
AZURE_OPENAI_API_KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

W przypadku uwierzytelniania bez hasła należy wykonać następujące kroki:

  1. @azure/identity Użyj pakietu.
  2. Cognitive Services User Przypisz rolę do konta użytkownika. Można to zrobić w witrynie Azure Portal w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.
  3. Zaloguj się przy użyciu interfejsu wiersza polecenia platformy Azure, takiego jak az login.

Tworzenie środowiska języka Python

Zainstaluj bibliotekę klienta języka Python openAI za pomocą następujących elementów:

pip install openai

Tworzenie aplikacji w języku Python

  1. Utwórz nowy plik w języku Python o nazwie quickstart.py. Następnie otwórz go w preferowanym edytorze lub środowisku IDE.

  2. Zastąp zawartość quickstart.py poniższym kodem. Zmodyfikuj kod, aby dodać nazwę wdrożenia:

    import os
    from openai import AzureOpenAI
        
    client = AzureOpenAI(
        api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
        api_version="2024-02-01",
        azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )
    
    deployment_id = "YOUR-DEPLOYMENT-NAME-HERE" #This will correspond to the custom name you chose for your deployment when you deployed a model."
    audio_test_file = "./wikipediaOcelot.wav"
    
    result = client.audio.transcriptions.create(
        file=open(audio_test_file, "rb"),            
        model=deployment_id
    )
    
    print(result)

Uruchom aplikację przy użyciu python polecenia w pliku Szybki start:

python quickstart.py

Przykładowe pliki audio, takie jak wikipediaOcelot.wav, można pobrać z repozytorium zestawu SDK usługi Mowa usługi Azure AI w witrynie GitHub.

Ważne

W przypadku środowiska produkcyjnego przechowywanie poświadczeń i uzyskiwanie do nich dostępu przy użyciu bezpiecznej metody, takiej jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz Zabezpieczenia usług Azure AI.

Wyjście

{"text":"The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States, Mexico, and Central and South America. This medium-sized cat is characterized by solid black spots and streaks on its coat, round ears, and white neck and undersides. It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters 16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758. Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing, leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum, and lagomorphs."}

Przykłady pakietu kodu źródłowego | (npm)Samples |

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
AZURE_OPENAI_ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://aoai-docs.openai.azure.com/.
AZURE_OPENAI_API_KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

W przypadku uwierzytelniania bez hasła należy wykonać następujące kroki:

  1. @azure/identity Użyj pakietu.
  2. Cognitive Services User Przypisz rolę do konta użytkownika. Można to zrobić w witrynie Azure Portal w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.
  3. Zaloguj się przy użyciu interfejsu wiersza polecenia platformy Azure, takiego jak az login.

Tworzenie aplikacji Node

W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init aby utworzyć aplikację węzła z plikiem package.json .

npm init

Instalowanie biblioteki klienta

Zainstaluj biblioteki klienckie za pomocą następujących funkcji:

npm install openai @azure/identity

Plik package.json aplikacji zostanie zaktualizowany o zależności.

Tworzenie przykładowej aplikacji

  1. Utwórz nowy plik o nazwie Whisper.js i otwórz go w preferowanym edytorze kodu. Skopiuj następujący kod do pliku Whisper.js :

    require("dotenv/config");
    const { createReadStream } = require("fs");
    const { AzureOpenAI } = require("openai");
    
    // You will need to set these environment variables or edit the following values
    const audioFilePath = process.env["AUDIO_FILE_PATH"] || "<audio file path>";
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const apiKey = process.env["AZURE_OPENAI_API_KEY"] || "<api key>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-08-01-preview";
    const deploymentName = "whisper";
    
    function getClient() {
      return new AzureOpenAI({
        endpoint,
        apiKey,
        apiVersion,
        deployment: deploymentName,
      });
    }
    
    export async function main() {
      console.log("== Transcribe Audio Sample ==");
    
      const client = getClient();
      const result = await client.audio.transcriptions.create({
        model: "",
        file: createReadStream(audioFilePath),
      });
    
      console.log(`Transcription: ${result.text}`);
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
  2. Uruchom skrypt za pomocą następującego polecenia:

    node Whisper.js
    

Przykładowe pliki audio, takie jak wikipediaOcelot.wav, można pobrać z repozytorium zestawu SDK usługi Mowa usługi Azure AI w witrynie GitHub.

Ważne

W przypadku środowiska produkcyjnego przechowywanie poświadczeń i uzyskiwanie do nich dostępu przy użyciu bezpiecznej metody, takiej jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz Zabezpieczenia usług Azure AI.

Wyjście

{"text":"The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States, Mexico, and Central and South America. This medium-sized cat is characterized by solid black spots and streaks on its coat, round ears, and white neck and undersides. It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters 16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758. Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing, leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum, and lagomorphs."}

Wymagania wstępne

Konfiguruj

Pobieranie klucza i punktu końcowego

Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.

Nazwa zmiennej Wartość
AZURE_OPENAI_ENDPOINT Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Alternatywnie możesz znaleźć wartość w widoku kodu placu zabaw>usługi Azure OpenAI Studio>. Przykładowy punkt końcowy to: https://aoai-docs.openai.azure.com/.
AZURE_OPENAI_API_KEY Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2.

Przejdź do zasobu w witrynie Azure Portal. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będzie potrzebny zarówno do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1 lub KEY2. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.

Zrzut ekranu przedstawiający interfejs użytkownika przeglądu zasobu usługi Azure OpenAI w witrynie Azure Portal z lokalizacją punktu końcowego i kluczy dostępu w kolorze czerwonym.

Zmienne środowiskowe

Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Tworzenie aplikacji programu PowerShell

Uruchom następujące polecenie. Musisz zastąpić YourDeploymentName ciąg nazwą wdrożenia wybraną podczas wdrażania modelu Whisper. Nazwa wdrożenia nie musi być taka sama jak nazwa modelu. Wprowadzenie nazwy modelu powoduje błąd, chyba że wybrano nazwę wdrożenia identyczną z bazową nazwą modelu.

# Azure OpenAI metadata variables
$openai = @{
    api_key     = $Env:AZURE_OPENAI_API_KEY
    api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
    api_version = '2024-02-01' # this may change in the future
    name        = 'YourDeploymentName' #This will correspond to the custom name you chose for your deployment when you deployed a model.
}

# Header for authentication
$headers = [ordered]@{
    'api-key' = $openai.api_key
}

$form = @{ file = get-item -path './wikipediaOcelot.wav' }

# Send a completion call to generate an answer
$url = "$($openai.api_base)/openai/deployments/$($openai.name)/audio/transcriptions?api-version=$($openai.api_version)"

$response = Invoke-RestMethod -Uri $url -Headers $headers -Form $form -Method Post -ContentType 'multipart/form-data'
return $response.text

Przykładowe pliki audio, takie jak wikipediaOcelot.wav, można pobrać z repozytorium zestawu SDK usługi Mowa usługi Azure AI w witrynie GitHub.

Ważne

W środowisku produkcyjnym zapisz poświadczenia i uzyskaj do nich dostęp przy użyciu bezpiecznej metody, takiej jak Zarządzanie wpisami tajnymi programu PowerShell za pomocą usługi Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz Zabezpieczenia usług Azure AI.

Wyjście

The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States, Mexico, and Central and South America. This medium-sized cat is characterized by solid black spots and streaks on its coat, round ears, and white neck and undersides. It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters 16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758. Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing, leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum, and lagomorphs.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób. Przed usunięciem zasobu należy najpierw usunąć wszystkie wdrożone modele.

Następne kroki

  • Aby dowiedzieć się, jak konwertować dane audio na tekst w partiach, zobacz Tworzenie transkrypcji wsadowej.
  • Aby uzyskać więcej przykładów, zapoznaj się z repozytorium GitHub przykładów usługi Azure OpenAI.