Share via


Chat de voz a voz en Azure OpenAI

Documentación de referencia | Paquete (NuGet) | Ejemplos adicionales en GitHub

En esta guía paso a paso, puede usar el servicio Voz de Azure AI para conversar con Azure OpenAI Service. El texto reconocido por el servicio Voz se envía a Azure OpenAI. El servicio voz sintetiza la voz de la respuesta de texto de Azure OpenAI.

Hable en el micrófono para iniciar una conversación con Azure OpenAI.

  • El servicio Voz reconoce la voz y la convierte en texto (conversión de voz en texto).
  • La solicitud como texto se envía a Azure OpenAI.
  • La característica de texto del servicio voz a voz sintetiza la respuesta de Azure OpenAI al altavoz predeterminado.

Aunque la experiencia de este ejemplo es un intercambio de ida y vuelta, Azure OpenAI no recuerda el contexto de la conversación.

Importante

Para completar los pasos descritos en esta guía, debe tener acceso al servicio OpenAI de Microsoft Azure en su suscripción de Azure. Actualmente, solo la aplicación concede acceso a este servicio. Solicite acceso a Azure OpenAI completando el formulario en https://aka.ms/oai/access.

Requisitos previos

Configuración del entorno

El SDK de Voz está disponible como paquete NuGet e implementa .NET Standard 2.0. La instalación del SDK de Voz se describe en una sección más adelante de esta guía; primero consulte la SDK installation guide, (guía de instalación del SDK), para conocer otros requisitos.

Establecimiento de variables de entorno

En este ejemplo se requieren variables de entorno denominadas OPEN_AI_KEY, OPEN_AI_ENDPOINT, OPEN_AI_DEPLOYMENT_NAME, SPEECH_KEY y SPEECH_REGION.

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Vea Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer las variables de entorno, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y entorno de desarrollo.

  • Para establecer la variable de entorno OPEN_AI_KEY, reemplace your-openai-key por una de las claves del recurso.
  • Para establecer la variable de entorno OPEN_AI_ENDPOINT, reemplace your-openai-endpoint por una de las regiones del recurso.
  • Para establecer la variable de entorno OPEN_AI_DEPLOYMENT_NAME, reemplace your-openai-deployment-name por una de las regiones del recurso.
  • Para establecer la variable de entorno SPEECH_KEY, reemplace your-speech-key por una de las claves del recurso.
  • Para establecer la variable de entorno SPEECH_REGION, reemplace your-speech-region por una de las regiones del recurso.
setx OPEN_AI_KEY your-openai-key
setx OPEN_AI_ENDPOINT your-openai-endpoint
setx OPEN_AI_DEPLOYMENT_NAME your-openai-deployment-name
setx SPEECH_KEY your-speech-key
setx SPEECH_REGION your-speech-region

Nota:

Si solo necesita acceder a la variable de entorno en la consola en ejecución actual, establezca la variable de entorno con set en lugar de setx.

Después de agregar las variables de entorno, es posible que tenga que reiniciar los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de la consola. Por ejemplo, si Visual Studio es el editor, reinicie Visual Studio antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una nueva aplicación de consola.

  1. Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Ejecute este comando para crear una aplicación de consola con la CLI de .NET.

    dotnet new console
    

    El comando crea un archivo Program.cs en el directorio del proyecto.

  2. Instale el SDK de Voz en el nuevo proyecto con la CLI de .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Instale el SDK de Azure OpenAI (versión preliminar) en su nuevo proyecto con la CLI de .NET.

    dotnet add package Azure.AI.OpenAI --prerelease 
    
  4. Reemplace el contenido de Program.cs por el código siguiente.

    using System.Text;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    using Azure;
    using Azure.AI.OpenAI;
    
    // This example requires environment variables named "OPEN_AI_KEY", "OPEN_AI_ENDPOINT" and "OPEN_AI_DEPLOYMENT_NAME"
    // Your endpoint should look like the following https://YOUR_OPEN_AI_RESOURCE_NAME.openai.azure.com/
    string openAIKey = Environment.GetEnvironmentVariable("OPEN_AI_KEY") ??
                       throw new ArgumentException("Missing OPEN_AI_KEY");
    string openAIEndpoint = Environment.GetEnvironmentVariable("OPEN_AI_ENDPOINT") ??
                            throw new ArgumentException("Missing OPEN_AI_ENDPOINT");
    
    // Enter the deployment name you chose when you deployed the model.
    string engine = Environment.GetEnvironmentVariable("OPEN_AI_DEPLOYMENT_NAME") ??
                    throw new ArgumentException("Missing OPEN_AI_DEPLOYMENT_NAME");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY") ??
                       throw new ArgumentException("Missing SPEECH_KEY");
    string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION") ??
                          throw new ArgumentException("Missing SPEECH_REGION");
    
    // Sentence end symbols for splitting the response into sentences.
    List<string> sentenceSaperators = new() { ".", "!", "?", ";", "。", "!", "?", ";", "\n" };
    
    try
    {
        await ChatWithOpenAI();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex);
    }
    
    // Prompts Azure OpenAI with a request and synthesizes the response.
    async Task AskOpenAI(string prompt)
    {
        object consoleLock = new();
        var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);
    
        // The language of the voice that speaks.
        speechConfig.SpeechSynthesisVoiceName = "en-US-JennyMultilingualNeural";
        var audioOutputConfig = AudioConfig.FromDefaultSpeakerOutput();
        using var speechSynthesizer = new SpeechSynthesizer(speechConfig, audioOutputConfig);
        speechSynthesizer.Synthesizing += (sender, args) =>
        {
            lock (consoleLock)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write($"[Audio]");
                Console.ResetColor();
            }
        };
    
        // Ask Azure OpenAI
        OpenAIClient client = new(new Uri(openAIEndpoint), new AzureKeyCredential(openAIKey));
        var completionsOptions = new ChatCompletionsOptions()
        {
            DeploymentName = engine,
            Messages = { new ChatRequestUserMessage(prompt) },
            MaxTokens = 100,
        };
        var responseStream = await client.GetChatCompletionsStreamingAsync(completionsOptions);
    
        StringBuilder gptBuffer = new();
        await foreach (var completionUpdate in responseStream)
        {
            var message = completionUpdate.ContentUpdate;
            if (string.IsNullOrEmpty(message))
            {
                continue;
            }
    
            lock (consoleLock)
            {
                Console.ForegroundColor = ConsoleColor.DarkBlue;
                Console.Write($"{message}");
                Console.ResetColor();
            }
    
            gptBuffer.Append(message);
    
            if (sentenceSaperators.Any(message.Contains))
            {
                var sentence = gptBuffer.ToString().Trim();
                if (!string.IsNullOrEmpty(sentence))
                {
                    await speechSynthesizer.SpeakTextAsync(sentence);
                    gptBuffer.Clear();
                }
            }
        }
    }
    
    // Continuously listens for speech input to recognize and send as text to Azure OpenAI
    async Task ChatWithOpenAI()
    {
        // Should be the locale for the speaker's language.
        var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);
        speechConfig.SpeechRecognitionLanguage = "en-US";
    
        using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
        using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
        var conversationEnded = false;
    
        while (!conversationEnded)
        {
            Console.WriteLine("Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.");
    
            // Get audio from the microphone and then send it to the TTS service.
            var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
    
            switch (speechRecognitionResult.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    if (speechRecognitionResult.Text == "Stop.")
                    {
                        Console.WriteLine("Conversation ended.");
                        conversationEnded = true;
                    }
                    else
                    {
                        Console.WriteLine($"Recognized speech: {speechRecognitionResult.Text}");
                        await AskOpenAI(speechRecognitionResult.Text);
                    }
    
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"No speech could be recognized: ");
                    break;
                case ResultReason.Canceled:
                    var cancellationDetails = CancellationDetails.FromResult(speechRecognitionResult);
                    Console.WriteLine($"Speech Recognition canceled: {cancellationDetails.Reason}");
                    if (cancellationDetails.Reason == CancellationReason.Error)
                    {
                        Console.WriteLine($"Error details={cancellationDetails.ErrorDetails}");
                    }
    
                    break;
            }
        }
    }
    
  5. Para aumentar o disminuir el número de tokens devueltos por Azure OpenAI, cambie la propiedad MaxTokens en la instancia de la clase ChatCompletionsOptions. Para obtener más información sobre los tokens y las implicaciones de costos, consulte Tokens de Azure OpenAI y precios de Azure OpenAI.

  6. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:

    dotnet run
    

Importante

Asegúrese de establecer las variables de entorno OPEN_AI_KEY, OPEN_AI_ENDPOINT, OPEN_AI_DEPLOYMENT_NAME, SPEECH_KEY y SPEECH_REGION tal como se describe. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Hable por el micrófono cuando se le solicite. La salida de la consola incluye el mensaje para empezar a hablar, luego la solicitud como texto y, a continuación, la respuesta de Azure OpenAI como texto. La respuesta de Azure OpenAI se debe convertir de texto a voz y, a continuación, emitirla en el altavoz predeterminado.

PS C:\dev\openai\csharp> dotnet run
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Recognized speech:Make a comma separated list of all continents.
Azure OpenAI response:Africa, Antarctica, Asia, Australia, Europe, North America, South America
Speech synthesized to speaker for text [Africa, Antarctica, Asia, Australia, Europe, North America, South America]
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Recognized speech: Make a comma separated list of 1 Astronomical observatory for each continent. A list should include each continent name in parentheses.
Azure OpenAI response:Mauna Kea Observatories (North America), La Silla Observatory (South America), Tenerife Observatory (Europe), Siding Spring Observatory (Australia), Beijing Xinglong Observatory (Asia), Naukluft Plateau Observatory (Africa), Rutherford Appleton Laboratory (Antarctica)
Speech synthesized to speaker for text [Mauna Kea Observatories (North America), La Silla Observatory (South America), Tenerife Observatory (Europe), Siding Spring Observatory (Australia), Beijing Xinglong Observatory (Asia), Naukluft Plateau Observatory (Africa), Rutherford Appleton Laboratory (Antarctica)]
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Conversation ended.
PS C:\dev\openai\csharp>

Comentarios

Estas son algunas consideraciones más:

  • Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, es-ES para Español (España). El lenguaje predeterminado es en-US. Para obtener más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.
  • Para cambiar la voz que escucha, reemplace en-US-JennyMultilingualNeural con otra voz compatible. Si la voz no habla el idioma del texto que devuelve Azure OpenAI, el servicio Voz no emite audio sintetizado.
  • Para usar un modelo diferente, reemplace gpt-35-turbo-instruct con el identificador de otra implementación. El identificador de implementación no es necesariamente el mismo que el nombre del modelo. Le ha asignado un nombre a la implementación al crearla en Azure OpenAI Studio.
  • El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para obtener más información, consulte el artículo sobre filtros de contenido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Paquete (PyPi) | Ejemplos adicionales en GitHub

En esta guía paso a paso, puede usar el servicio Voz de Azure AI para conversar con Azure OpenAI Service. El texto reconocido por el servicio Voz se envía a Azure OpenAI. El servicio voz sintetiza la voz de la respuesta de texto de Azure OpenAI.

Hable en el micrófono para iniciar una conversación con Azure OpenAI.

  • El servicio Voz reconoce la voz y la convierte en texto (conversión de voz en texto).
  • La solicitud como texto se envía a Azure OpenAI.
  • La característica de texto del servicio voz a voz sintetiza la respuesta de Azure OpenAI al altavoz predeterminado.

Aunque la experiencia de este ejemplo es un intercambio de ida y vuelta, Azure OpenAI no recuerda el contexto de la conversación.

Importante

Para completar los pasos descritos en esta guía, debe tener acceso al servicio OpenAI de Microsoft Azure en su suscripción de Azure. Actualmente, solo la aplicación concede acceso a este servicio. Solicite acceso a Azure OpenAI completando el formulario en https://aka.ms/oai/access.

Requisitos previos

Configuración del entorno

El SDK de Voz para Python está disponible como módulo de índice de paquetes de Python (PyPI). El SDK de Voz para Python es compatible con Windows, Linux y macOS.

Instale una versión de Python desde la 3.7 en adelante. Primero consulte la guía de instalación del SDK para conocer más requisitos.

Instale las siguientes bibliotecas de Python: os, requests, json.

Establecimiento de variables de entorno

En este ejemplo se requieren variables de entorno denominadas OPEN_AI_KEY, OPEN_AI_ENDPOINT, OPEN_AI_DEPLOYMENT_NAME, SPEECH_KEY y SPEECH_REGION.

La aplicación debe autenticarse para acceder a los recursos de servicios de Azure AI. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para el recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Vea Seguridad de los servicios de Azure AI para ver más opciones de autenticación, tal como Azure Key Vault.

Para establecer las variables de entorno, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y entorno de desarrollo.

  • Para establecer la variable de entorno OPEN_AI_KEY, reemplace your-openai-key por una de las claves del recurso.
  • Para establecer la variable de entorno OPEN_AI_ENDPOINT, reemplace your-openai-endpoint por una de las regiones del recurso.
  • Para establecer la variable de entorno OPEN_AI_DEPLOYMENT_NAME, reemplace your-openai-deployment-name por una de las regiones del recurso.
  • Para establecer la variable de entorno SPEECH_KEY, reemplace your-speech-key por una de las claves del recurso.
  • Para establecer la variable de entorno SPEECH_REGION, reemplace your-speech-region por una de las regiones del recurso.
setx OPEN_AI_KEY your-openai-key
setx OPEN_AI_ENDPOINT your-openai-endpoint
setx OPEN_AI_DEPLOYMENT_NAME your-openai-deployment-name
setx SPEECH_KEY your-speech-key
setx SPEECH_REGION your-speech-region

Nota:

Si solo necesita acceder a la variable de entorno en la consola en ejecución actual, establezca la variable de entorno con set en lugar de setx.

Después de agregar las variables de entorno, es posible que tenga que reiniciar los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de la consola. Por ejemplo, si Visual Studio es el editor, reinicie Visual Studio antes de ejecutar el ejemplo.

Reconocimiento de voz a través de un micrófono

Siga estos pasos para crear una nueva aplicación de consola.

  1. Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Abra un símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado openai-speech.py.

  2. Ejecute este comando para instalar el SDK de voz:

    pip install azure-cognitiveservices-speech
    
  3. Ejecute este comando para instalar el SDK de OpenAI:

    pip install openai
    

    Nota:

    OpenAI mantiene esta biblioteca, no Microsoft Azure. Consulte el historial de versiones o el historial de confirmación de version.py para realizar el seguimiento de las actualizaciones más recientes de la biblioteca.

  4. Cree un archivo denominado openai-speech.py. Copie el código siguiente en ese archivo:

    import os
    import azure.cognitiveservices.speech as speechsdk
    from openai import AzureOpenAI
    
    # This example requires environment variables named "OPEN_AI_KEY", "OPEN_AI_ENDPOINT" and "OPEN_AI_DEPLOYMENT_NAME"
    # Your endpoint should look like the following https://YOUR_OPEN_AI_RESOURCE_NAME.openai.azure.com/
    client = AzureOpenAI(
    azure_endpoint=os.environ.get('OPEN_AI_ENDPOINT'),
    api_key=os.environ.get('OPEN_AI_KEY'),
    api_version="2023-05-15"
    )
    
    # This will correspond to the custom name you chose for your deployment when you deployed a model.
    deployment_id=os.environ.get('OPEN_AI_DEPLOYMENT_NAME')
    
    # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
    audio_output_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True)
    audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
    
    # Should be the locale for the speaker's language.
    speech_config.speech_recognition_language="en-US"
    speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
    # The language of the voice that responds on behalf of Azure OpenAI.
    speech_config.speech_synthesis_voice_name='en-US-JennyMultilingualNeural'
    speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_output_config)
    # tts sentence end mark
    tts_sentence_end = [ ".", "!", "?", ";", "。", "!", "?", ";", "\n" ]
    
    # Prompts Azure OpenAI with a request and synthesizes the response.
    def ask_openai(prompt):
        # Ask Azure OpenAI in streaming way
        response = client.chat.completions.create(model=deployment_id, max_tokens=200, stream=True, messages=[
            {"role": "user", "content": prompt}
        ])
        collected_messages = []
        last_tts_request = None
    
        # iterate through the stream response stream
        for chunk in response:
            if len(chunk.choices) > 0:
                chunk_message = chunk.choices[0].delta.content  # extract the message
                if chunk_message is not None:
                    collected_messages.append(chunk_message)  # save the message
                    if chunk_message in tts_sentence_end: # sentence end found
                        text = ''.join(collected_messages).strip() # join the recieved message together to build a sentence
                        if text != '': # if sentence only have \n or space, we could skip
                            print(f"Speech synthesized to speaker for: {text}")
                            last_tts_request = speech_synthesizer.speak_text_async(text)
                            collected_messages.clear()
        if last_tts_request:
            last_tts_request.get()
    
    # Continuously listens for speech input to recognize and send as text to Azure OpenAI
    def chat_with_open_ai():
        while True:
            print("Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.")
            try:
                # Get audio from the microphone and then send it to the TTS service.
                speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
                # If speech is recognized, send it to Azure OpenAI and listen for the response.
                if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
                    if speech_recognition_result.text == "Stop.": 
                        print("Conversation ended.")
                        break
                    print("Recognized speech: {}".format(speech_recognition_result.text))
                    ask_openai(speech_recognition_result.text)
                elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
                    print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
                    break
                elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
                    cancellation_details = speech_recognition_result.cancellation_details
                    print("Speech Recognition canceled: {}".format(cancellation_details.reason))
                    if cancellation_details.reason == speechsdk.CancellationReason.Error:
                        print("Error details: {}".format(cancellation_details.error_details))
            except EOFError:
                break
    
    # Main
    
    try:
        chat_with_open_ai()
    except Exception as err:
        print("Encountered exception. {}".format(err))
    
  5. Para aumentar o disminuir el número de tokens devueltos por Azure OpenAI, cambie el parámetro max_tokens. Para obtener más información sobre los tokens y las implicaciones de costos, consulte Tokens de Azure OpenAI y precios de Azure OpenAI.

  6. Ejecute la nueva aplicación de consola para iniciar el reconocimiento de voz a través de un micrófono:

    python openai-speech.py
    

Importante

Asegúrese de establecer las variables de entorno OPEN_AI_KEY, OPEN_AI_ENDPOINT, OPEN_AI_DEPLOYMENT_NAME, SPEECH_KEY y SPEECH_REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Hable por el micrófono cuando se le solicite. La salida de la consola incluye el mensaje para empezar a hablar, luego la solicitud como texto y, a continuación, la respuesta de Azure OpenAI como texto. La respuesta de Azure OpenAI se debe convertir de texto a voz y, a continuación, emitirla en el altavoz predeterminado.

PS C:\dev\openai\python> python.exe .\openai-speech.py
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Recognized speech:Make a comma separated list of all continents.
Azure OpenAI response:Africa, Antarctica, Asia, Australia, Europe, North America, South America
Speech synthesized to speaker for text [Africa, Antarctica, Asia, Australia, Europe, North America, South America]
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Recognized speech: Make a comma separated list of 1 Astronomical observatory for each continent. A list should include each continent name in parentheses.
Azure OpenAI response:Mauna Kea Observatories (North America), La Silla Observatory (South America), Tenerife Observatory (Europe), Siding Spring Observatory (Australia), Beijing Xinglong Observatory (Asia), Naukluft Plateau Observatory (Africa), Rutherford Appleton Laboratory (Antarctica)
Speech synthesized to speaker for text [Mauna Kea Observatories (North America), La Silla Observatory (South America), Tenerife Observatory (Europe), Siding Spring Observatory (Australia), Beijing Xinglong Observatory (Asia), Naukluft Plateau Observatory (Africa), Rutherford Appleton Laboratory (Antarctica)]
Azure OpenAI is listening. Say 'Stop' or press Ctrl-Z to end the conversation.
Conversation ended.
PS C:\dev\openai\python> 

Comentarios

Estas son algunas consideraciones más:

  • Para cambiar el idioma de reconocimiento de voz, reemplace en-US por otro en-US. Por ejemplo, es-ES para Español (España). El lenguaje predeterminado es en-US. Para obtener más información sobre cómo identificar uno de los distintos idiomas que se pueden hablar, consulte Identificación del idioma.
  • Para cambiar la voz que escucha, reemplace en-US-JennyMultilingualNeural con otra voz compatible. Si la voz no habla el idioma del texto que devuelve Azure OpenAI, el servicio Voz no emite audio sintetizado.
  • Para usar un modelo diferente, reemplace gpt-35-turbo-instruct con el identificador de otra implementación. Tenga en cuenta que el identificador de implementación no es necesariamente el mismo que el nombre del modelo. Le ha asignado un nombre a la implementación al crearla en Azure OpenAI Studio.
  • El servicio Azure OpenAI también realiza la moderación de contenido en las entradas de solicitud y salidas generadas. Las solicitudes o respuestas se pueden filtrar si se detecta contenido dañino. Para obtener más información, consulte el artículo sobre filtros de contenido.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.