response = openai.chat.completions.create(
model = 'gpt-3.5-turbo',
messages = [
{"role": "system", "content" :"Eres un asistente que da informacion a dudas"},
{"role": "user", "content" :"¿Qué es UPIICSA?"}
],
max_tokens = 20,
temperature = 1,
top_p = 1,
n = 2
)
print(response.choices[0].message.content)
Dedicaremos este espacio a explicar el modelo de la API de Open AI, a partir de esta explicación se abrirá un mar de temas para que puedas profundizar desde tu iniciativa, ya que los recursos de IA están en constante desarrollo y se actualizan todo el tiempo.
Además podrás investigar más modelos en APIs de otras compañías de IA como AzureAI de Microsoft, Hugging Face, Google Bard, Anthropic Claude, etc. Cada uno ofrece modelos preentrenados que ya tienen una capacidad potente para aprovechar, es tu decisión el que selecciones para trabajar. En este espacio usaremos la API de Open AI, seleccionamos el modelo:
gpt-3.5-turbo
Este modelo es una red neuronal entrenada para generar texto coherente basado en una entrada dada. Estos modelos son pre-entrenados por OpenAI utilizando enormes cantidades de datos de texto, y su propósito es procesar una entrada (prompt) y generar una salida (texto predictivo).
Para comenzar a utilizar este modelo, vamos a necesitar llamar a un método principal utilizado para interactuar con los modelos de generación de lenguaje ofrecidos por OpenAI (como GPT-4 o GPT-3.5-turbo) mediante su API:
openai.ChatCompletion.create
Este método es una interfaz que nos permite interactuar con los modelos de OpenAI para completar tareas conversacionales, es decir, es un puente entre el código y el modelo en la nube.
Chat Completion es una especialización de los modelos GPT optimizada para interacciones tipo chat y contiene los siguientes parámetros que se deberán configurar:
model = ## Modelo a usar.
messages = ## Contexto de la conversación.
temperature = ## Libertad en las respuestas.
max_tokens = ## Longitud del mensaje de salida.
¿Te recuerda un ejercicio anterior? Claro, es muy similar al modelo davinci que usamos en la Práctica 1.
El parámtero messages es una lista de diccionarios (Aprendidos en el curso de Pyhton) que define el contexto de la conversación. Dentro de cada diccionario se encuentran las claves role y content de la siguiente manera básica:
"messages": [
{"role": "system", "content": "Instrucción o contexto inicial"},
{"role": "user", "content": "Pregunta del usuario"},
{"role": "assistant", "content": "Respuesta del modelo"}
]