Share via


Referencia 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 asistente

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

Cree un asistente con un modelo e instrucciones.

Cuerpo de la solicitud

Nombre Type Obligatorio Descripción
model string Obligatorio Nombre de implementación del modelo que se va a usar.
name cadena o null Opcionales Nombre del asistente. La longitud máxima es de 256 caracteres.
descripción cadena o null Opcionales Descripción del asistente. La longitud máxima es de 512 caracteres.
detalladas cadena o null Opcionales Las instrucciones del sistema que usa el asistente. La longitud máxima es de 32768 caracteres.
tools array Opcionales El valor predeterminado es []. Lista de herramientas habilitadas en el asistente. Puede haber un máximo de 128 herramientas por asistente. Actualmente, las herramientas pueden ser de tipos code_interpreter o function.
file_ids array Opcionales El valor predeterminado es []. Lista de identificadores de archivo adjuntos a este asistente. Puede haber un máximo de 20 archivos adjuntos al asistente. Los archivos se ordenan por su fecha de creación en orden ascendente.
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.
temperatura número o null Opcionales De manera predeterminada, su valor es 1. Determina la temperatura de muestreo que se va a usar, entre 0 y 2. Los valores más altos, como 0,8, harán que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la harán más enfocada y determinista.
top_p número o null Opcionales De manera predeterminada, su valor es 1. Una alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con masa de probabilidad top_p. Así, 0,1 significa que solo se consideran los tokens que comprenden la masa de probabilidad del 10% superior. Por lo general, recomendamos modificar esto o la temperatura, pero no ambos.
response_format cadena u objeto Opcionales Especifica el formato que debe generar el modelo. Compatible con GPT-4 Turbo y todos los modelos GPT-3.5 Turbo desde gpt-3.5-turbo-1106. Al establecer este parámetro en { "type": "json_object" } se habilita el modo JSON, lo que garantiza que el mensaje que genera el modelo es JSON válido. Importantemente, al usar el modo JSON, también debe indicar al modelo que genere JSON usted mismo mediante un mensaje de usuario o sistema. Sin esta instrucción, el modelo puede generar una secuencia de espacios en blanco no deseada hasta que la generación alcance el límite del token, lo que da lugar a una solicitud de larga duración y aparentemente "bloqueada". Además, el contenido del mensaje puede cortarse parcialmente si usa finish_reason="length", lo que indica que la generación superó max_tokens o la conversación superó la longitud máxima del contexto.

Devoluciones

Objeto assistant.

Ejemplo de solicitud de creación del asistente

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

assistant = client.beta.assistants.create(
  instructions="You are an AI assistant that can write code to help answer math questions",
  model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name. 
  tools=[{"type": "code_interpreter"}]
)

Crear archivo del asistente

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files?api-version=2024-05-01-preview

Cree un archivo de asistente adjuntando un objeto File a assistant.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
assistant_id string Obligatorio Identificador del asistente al que se debe adjuntar el archivo.

Cuerpo de la solicitud

Nombre Type Obligatorio Descripción
file_id string Obligatorio Identificador de archivo (con purpose="assistants") que el asistente debe usar. Útil para herramientas como code_interpreter que pueden acceder a archivos.

Devoluciones

Objeto assistant file.

Ejemplo de solicitud de creación de archivos del asistente

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

assistant_file = client.beta.assistants.files.create(
  assistant_id="asst_abc123",
  file_id="assistant-abc123"
)
print(assistant_file)

Enumerar asistentes

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview

Devuelve una lista de todos los asistentes.

Parámetros de consulta

Parámetro Type Obligatorio Descripción
limit integer Opcionales 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. after 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.
before string Opcionales Cursor para su uso en la paginación. before 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 assistant

Lista de ejemplo de asistentes

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

my_assistants = client.beta.assistants.list(
    order="desc",
    limit="20",
)
print(my_assistants.data)

Enumerar archivos del asistente

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files?api-version=2024-05-01-preview

Devuelve una lista de archivos del asistente.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Descripción
assistant_id string Obligatorio Identificador del asistente al que pertenece el archivo.

Parámetros de consulta

Parámetro Type Obligatorio Descripción
limit integer Opcionales 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. after 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.
before string Opcionales Cursor para su uso en la paginación. before 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 assistant file

Lista de ejemplo de archivos de asistente

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

assistant_files = client.beta.assistants.files.list(
  assistant_id="asst_abc123"
)
print(assistant_files)

Recuperar asistente

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview

Recupera un asistente.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
assistant_id string Obligatorio Identificador del asistente que se va a recuperar.

Devuelve

Objeto assistant que coincide con el identificador especificado.

Asistente de recuperación de ejemplo

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

my_assistant = client.beta.assistants.retrieve("asst_abc123")
print(my_assistant)

Recuperación del archivo del asistente

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files/{file-id}?api-version=2024-05-01-preview

Recupera un archivo Assistant.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Descripción
assistant_id string Obligatorio Identificador del asistente al que pertenece el archivo.
file_id string Obligatorio El identificador del archivo que obtenemos

Devoluciones

Objeto assistant file que coincide con el identificador especificado

Ejemplo de recuperación del archivo del asistente

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

assistant_file = client.beta.assistants.files.retrieve(
  assistant_id="asst_abc123",
  file_id="assistant-abc123"
)
print(assistant_file)

Modificar asistente

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-05-01-preview

Modifica un asistente.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Descripción
assistant_id string Obligatorio Identificador del asistente al que pertenece el archivo.

Cuerpo de la solicitud

Parámetro Type Obligatorio Descripción
model Opcionales Nombre de la implementación del modelo que se va a usar.
name cadena o null Opcionales Nombre del asistente. La longitud máxima es de 256 caracteres.
description cadena o null Opcionales Descripción del asistente. La longitud máxima es de 512 caracteres.
instructions cadena o null Opcionales Las instrucciones del sistema que usa el asistente. La longitud máxima es de 32768 caracteres.
tools array Opcionales El valor predeterminado es []. Lista de herramientas habilitadas en el asistente. Puede haber un máximo de 128 herramientas por asistente. Las herramientas pueden ser de tipos code_interpreter o función.
file_ids array Opcionales El valor predeterminado es []. Lista de identificadores de archivo adjuntos a este asistente. Puede haber un máximo de 20 archivos adjuntos al asistente. Los archivos se ordenan por su fecha de creación en orden ascendente. Si un archivo se adjuntó previamente a la lista, pero no aparece en la lista, se eliminará del asistente.
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.

Devuelve

Objeto assistant object modificado.

Ejemplo de modificación de asistente

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

my_updated_assistant = client.beta.assistants.update(
  "asst_abc123",
  instructions="You are an HR bot, and you have access to files to answer employee questions about company policies. Always respond with info from either of the files.",
  name="HR Helper",
  tools=[{"type": "code-interpreter"}],
  model="gpt-4", #model = model deployment name
  file_ids=["assistant-abc123", "assistant-abc456"],
)

print(my_updated_assistant)

Eliminar asistente

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

Elimina un asistente.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
assistant_id string Obligatorio Identificador del asistente al que pertenece el archivo.

Devuelve

Estado de eliminación.

Ejemplo de eliminación de asistente

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.assistants.delete("asst_abc123")
print(response)

Eliminar archivo del asistente

DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}/files/{file-id}?api-version=2024-05-01-preview

Elimine un archivo del asistente.

Parámetros de la ruta de acceso

Parámetro Type Obligatorio Description
assistant_id string Obligatorio Identificador del asistente al que pertenece el archivo.
file_id string Obligatorio Identificador del archivo que se va a eliminar

Devuelve

Estado de eliminación de archivos

Ejemplo de eliminación del archivo del asistente

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-05-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

deleted_assistant_file = client.beta.assistants.files.delete(
    assistant_id="asst_abc123",
    file_id="assistant-abc123"
)
print(deleted_assistant_file)

Referencia de API de carga de archivos

Los asistentes usan la misma API para la carga de archivos como ajuste preciso. Al cargar un archivo, debe especificar un valor adecuado para el parámetro de propósito.

Objeto Assistant

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 asistente.
created_at integer Marca de tiempo de Unix (en segundos) para cuando se creó el asistente.
name cadena o null Nombre del asistente. La longitud máxima es de 256 caracteres.
description cadena o null Descripción del asistente. La longitud máxima es de 512 caracteres.
model string Nombre del nombre de implementación del modelo que se va a usar.
instructions cadena o null Las instrucciones del sistema que usa el asistente. La longitud máxima es de 32768 caracteres.
tools array Lista de herramientas habilitadas en el asistente. Puede haber un máximo de 128 herramientas por asistente. Las herramientas pueden ser de tipos code_interpreter o función.
file_ids array Lista de identificadores de archivo adjuntos a este asistente. Puede haber un máximo de 20 archivos adjuntos al asistente. Los archivos se ordenan por su fecha de creación en orden ascendente.
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.

Objeto Assistant file

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 assistant.file
created_at integer Marca de tiempo de Unix (en segundos) para cuando se creó el archivo del asistente.
assistant_id string Identificador del asistente al que está asociado el archivo.