No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Cómo usar la API REST de Azure OpenAI?

6/21
Recursos

Aportes 11

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Pueden solucionar el error del sdk instalando la ultima version de OpenAI 1.8.0 y ejecutar esta otra forma de API REST.

<import osfrom openai import AzureOpenAI client = AzureOpenAI(  azure\_endpoint = "TU END POINT",   api\_key= "2TU APPI KEY",   api\_version="2023-05-15") response = client.chat.completions.create(    model="gpt35", # model = "deployment\_name".    messages=\[        {"role": "system", "content": "You are an AI assistant that helps people find information."},        {"role": "assistant", "content": "How can I help you?"},        {"role": "user", "content": "What is the capital of Spain?"}    ]) print(response.choices\[0].message.content)>
Después de aprender a utilizar y gestionar los modelos de lenguaje a través de la plataforma de OpenAI Studio, ahora exploraremos cómo consumir estos modelos a través de la API REST y el SDK disponibles. Consumo a través de la API REST: Para consumir los modelos mediante la API REST, necesitamos 3 elementos clave: Endpoint: La URL a la que enviaremos las llamadas. API Key: La clave de autenticación para acceder a la API. Nombre del modelo: El modelo específico que queremos utilizar. Podemos consultar estos datos en el portal de Azure y en la sección de "Deployment" de OpenAI Studio. Utilizaremos Postman para hacer una llamada POST a la API REST: Configuraremos el endpoint y la API Key en la solicitud. En el cuerpo de la solicitud, especificaremos la configuración del mensaje, como la descripción del usuario y los parámetros de temperatura y top\_p. La respuesta de la API incluirá información sobre la clasificación y el nivel de severidad del contenido generado. Consumo a través del SDK: El SDK de Azure OpenAI Service está disponible para Python y C#. Usaremos un notebook de Jupyter para ejecutar el código del SDK. Necesitaremos los mismos 3 elementos clave: endpoint, API Key y nombre del modelo. Copiaremos el código de ejemplo proporcionado en OpenAI Studio y lo ejecutaremos en el notebook. Ajustaremos el código para incluir la API Key directamente en el script, en lugar de utilizarla desde variables de entorno. Al ejecutar el código, obtendremos una respuesta del modelo, junto con la clasificación y el nivel de severidad del contenido generado. Tanto el consumo a través de la API REST como del SDK nos permiten interactuar programáticamente con los modelos de lenguaje desplegados en Azure OpenAI Service. Esto nos brinda la flexibilidad de integrar estos modelos en nuestras propias aplicaciones y realizar validaciones y pruebas de su comportamiento.
Despues de batallar un rato y hacerlo funcionar utilizando un codigo que me parecio algo complejo, vi el del compañero Andres Estefano, formatearlo un poco y salio muy bien Solo agregue el comando para installar y actualizar el paquete de openai al inicio ```js !pip install --upgrade openai import os from openai import AzureOpenAI client = AzureOpenAI(azure_endpoint = "https://tuendpoint.openai.azure.com/", api_key= "tuapikey", api_version="2024-02-15-preview") response = client.chat.completions.create( model="gpt35", # model = "deployment_name". messages=[ {"role": "system", "content": "You are an AI assistant that helps people find information."}, {"role": "assistant", "content": "How can I help you?"}, {"role": "user", "content": "What is the capital of Spain?"} ]) print(response.choices[0].message.content) ```Saludos
Para ver el **Endpoint completo**: 1. Selecciona "**View code**" 2. Selecciona "**cURL**" (previamente dice Python). 3. Veras el **endpoint** completo. ![](https://static.platzi.com/media/user_upload/Sumarizaci%C3%B3n%20y%20Q%26A%20%2814%29-e875f255-b742-452d-8113-df2dbd0ede2b.jpg)
tengo un concern de seguridad, para aquellos lenguajes en los cuales no existe un SDK, y se daba consumir por medio de api rest, en cuanto a la key enviarla por parametro de la url, entiendo que va por medio de https, pero enviarlo por url no se que tan seguro sea, considero que lo mejor seria enviarlo por header.
Para los que tienen problema al no ver el endpoint dentro de la pantalla que mostro la profe, puede verlo cambiandolo a curl, la url completa, en mi caso la region donde tengo el recurso es east us
profe buenas tarde, por medio de que aplicacion entro al sdk, para hacer consulta a los modelos
Aqui un ejemplo en c# que me funcionó muy bien. `using Azure;` `using Azure.AI.OpenAI;` `using OpenAI;` `using OpenAI.Chat;` `using static System.Environment;` `//string keyFromEnvironment = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");` `AzureOpenAIClient azureClient = new(` ` new Uri("https://openaitestlaproff.openai.azure.com/"),` ` new AzureKeyCredential("APIKEY"));` `ChatClient chatClient = azureClient.GetChatClient("gptnamemodel");` `ChatCompletion completion = chatClient.CompleteChat(` ` [` ` // System messages represent instructions or other guidance about how the assistant should behave` ` new SystemChatMessage("Hola.. quiero que tomes el rol de analista deportivo."),` ` // User messages represent user input, whether historical or the most recen tinput` ` new UserChatMessage("Hi, can you help me?"),` ` // Assistant messages in a request represent conversation history for responses` ` new AssistantChatMessage("Arrr! Of course, me hearty! What can I do for ye?"),` ` new UserChatMessage("¿como crees que va a quedar el partido entre colombia y argentina?"),` ` ]);` `Console.WriteLine($"{completion.Role}: {completion.Content[0].Text}");` `Console.Read();`
Buenas tardes, aqui pueden encontrar un ejemplo de conexión con C# mas claro. <https://www.nuget.org/packages/Azure.AI.OpenAI>
Saludos, tengo problemas con la llamad en Postman, estoy recibiendo el mensaje de "**Unsoported data type**". Adjunto incluyo un Print screen. El API-Key esta correcto por que si lo remuevo me devuelve error 401 "Access Denied". ![](https://static.platzi.com/media/user_upload/image-2aa396bb-7595-4637-a02c-b86ac6d81eb9.jpg) Probe el código de Python y responde bien. Otra pregunta, como puedo desplegar en formato Json la respuesta de la llamada para que se pueda ver de forma legible y no en una solo linea como muestro en la imagen ![](https://static.platzi.com/media/user_upload/image-7a3878cb-789a-4870-8ac1-202f2f0295e5.jpg) Gracias.

Uff listo migrado, que opinan?

<import openai
import os
from dotenv import load_dotenv
load_dotenv()

# Note: The openai-python library support for Azure OpenAI is in preview.
# Note: This code sample requires OpenAI Python library version 0.28.1.

openai_api_key = os.getenv("OPENAI_API_KEY")
resource_name = os.getenv("RESORUCE_NAME")
resource_engine = os.getenv("RESOURCE_ENGINE")
model_api_version = os.getenv("VERSION_MODELO")
url_base = f"https://{resource_name}.openai.azure.com/"

openai.api_type = "azure"
openai.api_base = url_base
openai.api_version = model_api_version
openai.api_key = openai_api_key

message_text = [{"role": "system",
                 "content": "You are an AI assistant that helps people find information."}]

completion = await openai.ChatCompletion.acreate(
    model="gpt-3.5-turbo",
    engine=resource_engine,
    messages=message_text,
    temperature=0.7,
    max_tokens=800,
    top_p=0.95,
    frequency_penalty=0,
    presence_penalty=0,
    stop=None
)>