Compartir vía


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.