Referencia de mensajes de la API de asistentes (versión preliminar)
Nota:
- La búsqueda de archivos puede ingerir hasta 10 000 archivos por asistente, 500 veces más que antes. Es rápida, compatible con consultas paralelas a través de búsquedas multiproceso y presenta características mejoradas de reordenación y reescritura de consultas.
- El almacén de vectores es un nuevo objeto de la API. Una vez que un archivo se agrega a un almacén de vectores, se analiza automáticamente, se divide en fragmentos y se inserta, quedando listo para su búsqueda. Los almacenes de vectores se pueden usar entre asistentes y subprocesos, lo que simplifica la administración de archivos y la facturación.
- Hemos agregado compatibilidad con el parámetro
tool_choice
que se puede usar para forzar el uso de una herramienta específica (como la búsqueda de archivos, el intérprete de código o una función) en una ejecución determinada.
Este artículo proporciona documentación de referencia para Python y REST para la nueva API de Asistentes (versión preliminar). Se proporcionan instrucciones paso a paso más detalladas en la guía de introducción.
Crear mensaje
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Crear un mensaje.
Parámetro de ruta de acceso
Parámetro | Type | Obligatorio | Description |
---|---|---|---|
thread_id |
string | Obligatorio | Identificador del subproceso para el que se va a crear un mensaje. |
Cuerpo de la solicitud
Nombre | Type | Obligatorio | Description |
---|---|---|---|
role |
string | Obligatorio | Rol de la entidad que está creando el mensaje. Puede ser user o assistant . user indica que un usuario real envía el mensaje y se debe usar en la mayoría de los casos para representar mensajes generados por el usuario. assistant indica que el asistente genera el mensaje. Use este valor para insertar mensajes del asistente en la conversación. |
content |
string | Obligatorio | Contenido del mensaje. |
attachments |
array | Opcionales | Lista de archivos adjuntos al mensaje y a las herramientas a las que se deben agregar. |
metadata |
map | Opcionales | Conjunto de 16 pares clave-valor que se pueden adjuntar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves pueden tener un máximo de 64 caracteres y los valores pueden tener un máximo de 512 caracteres. |
Devoluciones
Un objeto de mensaje.
Ejemplo de solicitud de creación de mensajes
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_message = client.beta.threads.messages.create(
"thread_abc123",
role="user",
content="How does AI work? Explain it in simple terms.",
)
print(thread_message)
Mostrar mensajes en una lista
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Devuelve una lista de mensajes para un subproceso determinado.
Parámetros de la ruta de acceso
Parámetro | Type | Obligatorio | Description |
---|---|---|---|
thread_id |
string | Obligatorio | Identificador del subproceso al que pertenecen los mensajes. |
Parámetros de consulta
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
limit |
integer | Opcional: el valor predeterminado es 20 | Límite en el número de objetos que se van a devolver. El límite puede oscilar entre 1 y 100 y el valor predeterminado es 20. |
order |
string | Opcional: el valor predeterminado es desc | Orden de clasificación por la marca de tiempo created_at de los objetos. asc para orden ascendente y desc para orden descendente. |
after |
string | Opcionales | Cursor para su uso en la paginación. después de es un identificador de objeto que define su lugar en la lista. Por ejemplo, si realiza una solicitud de lista y recibe 100 objetos que terminan en obj_foo, su llamada posterior puede incluir after=obj_foo para recuperar la siguiente página de la lista. |
run_id |
string | Opcional | Filtre los mensajes por el identificador de ejecución que los generó. |
before |
string | Opcionales | Cursor para su uso en la paginación. antes de es un identificador de objeto que define su lugar en la lista. Por ejemplo, si realiza una solicitud de lista y recibe 100 objetos que terminan en obj_foo, su llamada posterior puede incluir before=obj_foo para recuperar la página anterior de la lista. |
Devoluciones
Lista de objetos de mensaje.
Solicitud de mensajes de lista de ejemplo
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
Recuperar mensaje
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Recupera un archivo de mensaje.
Parámetros de la ruta de acceso
Parámetro | Type | Obligatorio | Description |
---|---|---|---|
thread_id |
string | Obligatorio | Identificador del subproceso al que pertenece el mensaje. |
message_id |
string | Obligatorio | Identificador del mensaje que se va a recuperar. |
Devoluciones
Objeto de mensaje que coincide con el identificador especificado.
Ejemplo de solicitud de recuperación de mensajes
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.retrieve(
message_id="msg_abc123",
thread_id="thread_abc123",
)
print(message)
Modificar mensaje
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Modifica un mensaje.
Parámetros de la ruta de acceso
Parámetro | Type | Obligatorio | Description |
---|---|---|---|
thread_id |
string | Obligatorio | Identificador del subproceso al que pertenece el mensaje. |
message_id |
string | Obligatorio | Identificador del mensaje que se va a modificar. |
Cuerpo de la solicitud
Parámetro | Type | Obligatorio | Descripción |
---|---|---|---|
metadata |
map | Opcionales | Conjunto de 16 pares clave-valor que se pueden adjuntar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves pueden tener un máximo de 64 caracteres y los valores pueden tener un máximo de 512 caracteres. |
Devoluciones
El objeto de mensaje modificado.
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.update(
message_id="msg_abc12",
thread_id="thread_abc123",
metadata={
"modified": "true",
"user": "abc123",
},
)
print(message)
Eliminar mensaje
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Elimina un mensaje.
Parámetros de la ruta de acceso
Parámetro | Type | Obligatorio | Description |
---|---|---|---|
thread_id |
string | Obligatorio | Identificador del subproceso al que pertenece el mensaje. |
message_id |
string | Obligatorio | Identificador del mensaje que se va a modificar. |
Devoluciones
Estado de eliminación del objeto de mensaje.
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deleted_message = client.beta.threads.messages.delete(
message_id="msg_abc12",
thread_id="thread_abc123",
)
print(deleted_message)
Objeto de mensaje
Representa un mensaje dentro de un subproceso.
Nombre | Escribir | Description |
---|---|---|
id |
string | Identificador al que se puede hacer referencia en puntos de conexión de API. |
object |
string | Tipo de objeto, que siempre es thread.message. |
created_at |
integer | Marca de tiempo Unix (en segundos) para el momento en que se creó el mensaje. |
thread_id |
string | Identificador de subproceso al que pertenece este mensaje. |
role |
string | Entidad que generó el mensaje. Uno de estos valores: user o assistant . |
content |
array | Contenido del mensaje en matriz de texto o imágenes. |
assistant_id |
cadena o null | Si procede, el identificador del asistente que creó este mensaje. |
run_id |
cadena o null | Si procede, el identificador de la ejecución asociada a la creación de este mensaje. |
file_ids |
array | Lista de identificadores de archivo que debe usar el asistente. Resulta útil para herramientas como la recuperación y code_interpreter que pueden acceder a archivos. Se puede adjuntar un máximo de 10 archivos a un mensaje. |
metadata |
map | Conjunto de 16 pares clave-valor que se pueden adjuntar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves pueden tener un máximo de 64 caracteres y los valores pueden tener un máximo de 512 caracteres. |