Megosztás a következőn keresztül:


Rövid útmutató: Szövegfelolvasás az Azure OpenAI szolgáltatással

Ebben a rövid útmutatóban az Azure OpenAI szolgáltatást használja szövegfelolvasáshoz OpenAI-hangokkal.

A rendelkezésre álló hangok a következők: alloy, echo, fable, onyx, novaés shimmer. További információkért tekintse meg az Azure OpenAI szolgáltatás szöveges beszédre vonatkozó referenciadokumentációját.

Előfeltételek

Beállítás

Kulcs és végpont lekérése

Az Azure OpenAI-ra való sikeres híváshoz egy végpontra és egy kulcsra van szükség.

Változó neve Érték
AZURE_OPENAI_ENDPOINT A szolgáltatásvégpont a Kulcsok > Végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A végpontot az Azure AI Foundry portál Üzembe helyezések lapján is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. A következők bármelyikét használhatja: KEY1 vagy KEY2.

Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot úgy, ahogyan az az API-hívások hitelesítéséhez szükséges. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás áttekintő felhasználói felületéről az Azure Portalon a végpont & hozzáférési kulcsok helyének kiemelésével.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Fontos

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. HA API-kulcsot használ, biztonságosan tárolja az Azure Key Vaultban. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST-kérés és -válasz létrehozása

Bash-rendszerhéjban futtassa a következő parancsot. A szöveg beszédmodellbe való telepítésekor a választott üzembehelyezési névre kell cserélnie YourDeploymentName . Az üzembe helyezés neve nem feltétlenül ugyanaz, mint a modell neve. A modell nevének megadása hibaüzenetet eredményez, kivéve, ha az alapul szolgáló modell nevével azonos központi telepítési nevet választott.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/YourDeploymentName/audio/speech?api-version=2024-02-15-preview \
 -H "api-key: $AZURE_OPENAI_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{
    "model": "tts-1-hd",
    "input": "I'm excited to try text to speech.",
    "voice": "alloy"
}' --output speech.mp3

A parancs első sorának formátuma egy példavégponttal a következőképpen jelenik meg: curl https://aoai-docs.openai.azure.com/openai/deployments/{YourDeploymentName}/audio/speech?api-version=2024-02-15-preview \.

Fontos

Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. A hitelesítő adatok biztonságával kapcsolatos további információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

Forráskódcsomag (npm) | minták |

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a szerepkört Cognitive Services User a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments (Erőforrás-kezelési modell üzembe helyezései) területén található.>
OPENAI_API_VERSION További információ az API-verziókról.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Figyelemfelhívás

Ha az ajánlott kulcs nélküli hitelesítést szeretné használni az SDK-val, győződjön meg arról, hogy a AZURE_OPENAI_API_KEY környezeti változó nincs beállítva.

Csomópontalkalmazás létrehozása

Egy konzolablakban (pl. cmd, PowerShell vagy Bash) hozzon létre egy új mappát az alkalmazásnak, majd navigáljon oda. Ezután futtassa a npm init parancsot egy csomópontalkalmazás létrehozásához egy package.json fájllal.

npm init

Telepítse az ügyfélkódtárat

Telepítse az ügyfélkódtárakat a következőkkel:

npm install openai @azure/identity

Az alkalmazás package.json fájlja frissül a függőségekkel.

Beszédfájl létrehozása

  1. Hozzon létre egy Text-to-speech.js nevű új fájlt, és nyissa meg a kívánt kódszerkesztőben. Másolja a következő kódot a Text-to-speech.js fájlba:

    const { writeFile } = require("fs/promises");
    const { AzureOpenAI } = require("openai");
    const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity");
    require("openai/shims/node");
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const speechFilePath = "<path to save the speech file>";
    
    // Required Azure OpenAI deployment name and API version
    const deploymentName = "tts";
    const apiVersion = "2024-08-01-preview";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient() {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    
    async function generateAudioStream(
      client,
      params
    ) {
      const response = await client.audio.speech.create(params);
      if (response.ok) return response.body;
      throw new Error(`Failed to generate audio stream: ${response.statusText}`);
    }
    export async function main() {
      console.log("== Text to Speech Sample ==");
    
      const client = getClient();
      const streamToRead = await generateAudioStream(client, {
        model: deploymentName,
        voice: "alloy",
        input: "the quick brown chicken jumped over the lazy dogs",
      });
    
      console.log(`Streaming response to ${speechFilePath}`);
      await writeFile(speechFilePath, streamToRead);
      console.log("Finished streaming");
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
    
  2. Futtassa a szkriptet a következő paranccsal:

    node Text-to-speech.js
    

Forráskódcsomag (npm) | minták |

Előfeltételek

A Microsoft Entra ID előfeltételei

A Microsoft Entra-azonosítóval javasolt kulcs nélküli hitelesítéshez a következőket kell elvégeznie:

  • Telepítse a Kulcs nélküli hitelesítéshez használt Azure CLI-t a Microsoft Entra-azonosítóval.
  • Rendelje hozzá a szerepkört Cognitive Services User a felhasználói fiókjához. Szerepköröket az Azure Portalon rendelhet hozzá a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen.

Erőforrásadatok lekérése

Az alkalmazás Azure OpenAI-erőforrással való hitelesítéséhez le kell kérnie a következő adatokat:

Változó neve Érték
AZURE_OPENAI_ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja.
AZURE_OPENAI_DEPLOYMENT_NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Resource Management Model Deployments (Erőforrás-kezelési modell üzembe helyezései) területén található.>
OPENAI_API_VERSION További információ az API-verziókról.

További információ a kulcs nélküli hitelesítésről és a környezeti változók beállításáról.

Figyelemfelhívás

Ha az ajánlott kulcs nélküli hitelesítést szeretné használni az SDK-val, győződjön meg arról, hogy a AZURE_OPENAI_API_KEY környezeti változó nincs beállítva.

Csomópontalkalmazás létrehozása

Egy konzolablakban (pl. cmd, PowerShell vagy Bash) hozzon létre egy új mappát az alkalmazásnak, majd navigáljon oda. Ezután futtassa a npm init parancsot egy csomópontalkalmazás létrehozásához egy package.json fájllal.

npm init

Telepítse az ügyfélkódtárat

Telepítse az ügyfélkódtárakat a következőkkel:

npm install openai @azure/identity

Az alkalmazás package.json fájlja frissül a függőségekkel.

Beszédfájl létrehozása

  1. Hozzon létre egy Text-to-speech.ts nevű új fájlt, és nyissa meg az előnyben részesített kódszerkesztőben. Másolja a következő kódot a Text-to-speech.ts fájlba:

    import { writeFile } from "fs/promises";
    import { AzureOpenAI } from "openai";
    import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
    import type { SpeechCreateParams } from "openai/resources/audio/speech";
    import "openai/shims/node";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const speechFilePath = "<path to save the speech file>";
    
    // Required Azure OpenAI deployment name and API version
    const deploymentName = "tts";
    const apiVersion = "2024-08-01-preview";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    
    async function generateAudioStream(
      client: AzureOpenAI,
      params: SpeechCreateParams
    ): Promise<NodeJS.ReadableStream> {
      const response = await client.audio.speech.create(params);
      if (response.ok) return response.body;
      throw new Error(`Failed to generate audio stream: ${response.statusText}`);
    }
    export async function main() {
      console.log("== Text to Speech Sample ==");
    
      const client = getClient();
      const streamToRead = await generateAudioStream(client, {
        model: deploymentName,
        voice: "alloy",
        input: "the quick brown chicken jumped over the lazy dogs",
      });
    
      console.log(`Streaming response to ${speechFilePath}`);
      await writeFile(speechFilePath, streamToRead);
      console.log("Finished streaming");
    }
    
    main().catch((err) => {
      console.error("The sample encountered an error:", err);
    });
    
    

    Az importálásra "openai/shims/node" akkor van szükség, ha a kódot Node.js környezetben futtatja. Biztosítja, hogy a metódus kimeneti típusa client.audio.speech.create helyesen legyen beállítva NodeJS.ReadableStream.

  2. Hozza létre az alkalmazást a következő paranccsal:

    tsc
    
  3. Futtassa az alkalmazást a következő paranccsal:

    node Text-to-speech.js
    

Előfeltételek

A .NET-alkalmazás létrehozása

  1. Hozzon létre egy .NET-alkalmazást a dotnet new következő paranccsal:

    dotnet new console -n TextToSpeech
    
  2. Váltson az új alkalmazás könyvtárára:

    cd OpenAISpeech
    
  3. Telepítse az Azure.OpenAI ügyfélkódtárat:

    dotnet add package Azure.AI.OpenAI
    

Hitelesítés és csatlakozás az Azure OpenAI-hoz

Az Azure OpenAI szolgáltatáshoz való kéréshez szüksége van a szolgáltatásvégpontra és a hitelesítési hitelesítő adatokra az alábbi lehetőségek egyikén keresztül:

  • A Microsoft Entra ID az Azure-szolgáltatások hitelesítésének ajánlott módszere, és biztonságosabb, mint a kulcsalapú alternatívák.

  • A hozzáférési kulcsok lehetővé teszik egy titkos kulcs megadását az erőforráshoz való csatlakozáshoz.

    Fontos

    A hozzáférési kulcsokat körültekintően kell használni. Ha a szolgáltatás hozzáférési kulcsa elveszett vagy véletlenül nem biztonságos helyen van közzétéve, a szolgáltatás sebezhetővé válhat. Bárki, aki rendelkezik hozzáférési kulccsal, engedélyezheti a kéréseket az Azure OpenAI szolgáltatással szemben.

Az Azure OpenAI-végpont lekérése

A szolgáltatásvégpont a Kulcsok > Végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A végpontot az Azure AI Foundry portál Üzembe helyezések lapján is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.

Képernyőkép egy Azure OpenAI-erőforrás áttekintő felhasználói felületéről az Azure Portalon a végpont & hozzáférési kulcsok helyének kiemelésével.

Hitelesítés Microsoft Entra-azonosítóval

Ha a Microsoft Entra ID-hitelesítést választja, a következőket kell elvégeznie:

  1. Vegye fel a Azure.Identity csomagot.

    dotnet add package Azure.Identity
    
  2. Rendelje hozzá a szerepkört Cognitive Services User a felhasználói fiókjához. Ez az OpenAI-erőforrás Azure Portalon, a Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területen végezhető el.

  3. Jelentkezzen be az Azure-ba a Visual Studióval vagy az Azure CLI-vel.az login

Hitelesítés kulcsokkal

A hozzáférési kulcs értéke a Kulcsok > végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Az alkalmazáskód frissítése

  1. Cserélje le az alábbi kód tartalmát program.cs , és frissítse a helyőrző értékeket a sajátjára.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity; // Required for Passwordless auth
    
    var endpoint = new Uri(
        Environment.GetEnvironmentVariable("YOUR_OPENAI_ENDPOINT") ?? throw new ArgumentNullException());
    var credentials = new DefaultAzureCredential();
    
    // Use this line for key auth
    // var credentials = new AzureKeyCredential(
    //    Environment.GetEnvironmentVariable("YOUR_OPENAI_KEY") ?? throw new ArgumentNullException());
    
    var deploymentName = "tts"; // Default deployment name, update with your own if necessary
    var speechFilePath = "YOUR_AUDIO_FILE_PATH";
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var audioClient = openAIClient.GetAudioClient(deploymentName);
    
    var result = await audioClient.GenerateSpeechAsync(
                    "the quick brown chicken jumped over the lazy dogs");
    
    Console.WriteLine("Streaming response to ${speechFilePath}");
    await File.WriteAllBytesAsync(speechFilePath, result.Value.ToArray());
    Console.WriteLine("Finished streaming");
    

    Fontos

    Éles környezetben tárolja és érje el a hitelesítő adatait egy biztonságos módszerrel, például az Azure Key Vaulttal. További információ a hitelesítő adatok biztonságáról: Azure AI-szolgáltatások biztonsága.

  2. Futtassa az alkalmazást a dotnet run Visual Studio tetején található paranccsal vagy futtatási gombbal:

    dotnet run
    

    Az alkalmazás létrehoz egy hangfájlt a változóhoz speechFilePath megadott helyen. A létrehozott hang meghallgatásához játssza le a fájlt az eszközön.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást. Az erőforrás törlése előtt törölnie kell az üzembe helyezett modelleket.

Következő lépések