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 Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. Az értéket az Azure OpenAI Studio>Playground>Code nézetben is megtalálhatja. Példavégpont: https://aoai-docs.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

HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.

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

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 Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. Az értéket az Azure OpenAI Studio>Playground>Code nézetben is megtalálhatja. Példavégpont: https://aoai-docs.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

HA API-kulcsot használ, biztonságosan tárolja valahol máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.

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" 

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:

    require("dotenv/config");
    const { writeFile } = require("fs/promises");
    const { AzureOpenAI } = require("openai");
    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 apiKey = process.env["AZURE_OPENAI_API_KEY"] || "<api key>";
    const speechFilePath =
      process.env["SPEECH_FILE_PATH"] || "<path to save the speech file>";
    
    // Required Azure OpenAI deployment name and API version
    const deploymentName = "tts";
    const apiVersion = "2024-08-01-preview";
    
    function getClient() {
      return new AzureOpenAI({
        endpoint,
        apiKey,
        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
    

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. Az értéket az Azure OpenAI Studio>Playground>Code nézetben is megtalálhatja. Példavégpont: https://aoai-docs.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