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
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. |