Compartir vía


Referencia de subprocesos 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.

Creación de un subproceso

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview

Cree un subproceso.

Cuerpo de la solicitud

Nombre Type Obligatorio Descripción
messages array Opcionales Lista de mensajes con los que iniciar el subproceso.
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.
tool_resources object Opcionales Conjunto de recursos que están disponibles para las herramientas del asistente en este subproceso. Los recursos son específicos del tipo de herramienta. Por ejemplo, la herramienta code_interpreter requiere una lista de identificadores de archivo, mientras que la file_search herramienta requiere una lista de identificadores de almacén de vectores.

propiedades de tool_resources

code_interpreter

Nombre Escribir Descripción Valor predeterminado
file_ids array Lista de identificadores de archivo disponibles para la herramienta code_interpreter. Puede haber un máximo de 20 archivos asociados con la herramienta. []

file_search

Nombre Escribir Descripción Valor predeterminado
vector_store_ids array Almacén de vectores adjunto a este subproceso. Puede haber un máximo de 1 almacén de vectores conectado al subproceso. []
vector_stores array Asistente para crear un almacén de vectores con file_ids y adjuntarlo a este subproceso. Puede haber un máximo de 1 almacén de vectores conectado al subproceso. []

Devoluciones

Objeto de subproceso.

Ejemplo: crear una solicitud de subproceso

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")
    )

empty_thread = client.beta.threads.create()
print(empty_thread)

Recuperar subproceso

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview

Recupera un subproceso.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
thread_id string Obligatorio Identificador del subproceso que se va a recuperar

Devoluciones

Objeto de subproceso que coincide con el identificador especificado.

Ejemplo: recuperar solicitud de subproceso

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")
    )

my_thread = client.beta.threads.retrieve("thread_abc123")
print(my_thread)

Modificar subproceso

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-08-01-preview

Modifica un subproceso.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
thread_id string Obligatorio Identificador del subproceso que se va a modificar.

Cuerpo de la solicitud

Nombre 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.
tool_resources object Opcionales Conjunto de recursos que están disponibles para las herramientas del asistente en este subproceso. Los recursos son específicos del tipo de herramienta. Por ejemplo, la herramienta code_interpreter requiere una lista de identificadores de archivo, mientras que la file_search herramienta requiere una lista de identificadores de almacén de vectores.

Devoluciones

Objeto de subproceso modificado que coincide con el identificador especificado.

Ejemplo: modificar solicitud de subproceso

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")
    )

my_updated_thread = client.beta.threads.update(
  "thread_abc123",
  metadata={
    "modified": "true",
    "user": "abc123"
  }
)
print(my_updated_thread)

Eliminar subproceso

DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}?api-version=2024-05-01-preview

Eliminar un subproceso.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
thread_id string Obligatorio Identificador del subproceso que se va a eliminar.

Devoluciones

Estado de eliminación.

Ejemplo: eliminar solicitud de subprocesos

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")
    )

response = client.beta.threads.delete("thread_abc123")
print(response)

Objeto de subproceso

Campo Tipo 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 un subproceso.
created_at integer Marca de tiempo Unix (en segundos) para el momento en que se creó el subproceso.
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.