La API OpenAI acepta una cadena o una lista de mensajes para el parámetro `messages`. Cada mensaje tiene `role` que puede ser ‘system’, ‘user’, o ‘assistant’, y `content` que es el texto del mensaje desde ese rol. El rol ‘system’ se utiliza para instrucciones iniciales para la conversación, mientras que los roles ‘user’ y ‘assistant’ se utilizan para los mensajes de ida y vuelta en la conversación.
Las respuestas del modelo de chat se calculan en función de todos los mensajes anteriores y el parámetro de ajuste de temperatura.
Aquí está un ejemplo de cómo mantener el contexto en una conversación:
```python
import openai
openai.ChatCompletion.create(
model=“gpt-3.5-turbo”,
messages=[
{“role”: “system”, “content”: “You are a helpful assistant.”},
{“role”: “user”, “content”: “Who won the world series in 2020?”},
{“role”: “assistant”, “content”: “The Los Angeles Dodgers won the World Series in 2020.”},
{“role”: “user”, “content”: “Where was it played?”}
]
)
```
En este ejemplo, incluso si la pregunta “¿Dónde se jugó?” podría ser ambigua en otro contexto, el modelo de chat recuerda que la conversación estaba sobre la Serie Mundial de 2020. Esto ilustra cómo se puede mantener el contexto en una conversación con la API de ChatGPT de OpenAI.