API de asistentes de Azure OpenAI (versión preliminar)
Los asistentes, una nueva característica de Azure OpenAI Service, ya está disponible en versión preliminar pública. La API de asistentes facilita a los desarrolladores la creación de aplicaciones con experiencias sofisticadas similares a las de un copiloto, que pueden examinar datos, sugerir soluciones y automatizar tareas.
- Los asistentes pueden llamar a los modelos de Azure OpenAI con instrucciones específicas para ajustar su personalidad y funcionalidades.
- Los asistentes pueden acceder a varias herramientas en paralelo. Pueden ser herramientas hospedadas en Azure OpenAI como intérprete de código y búsqueda de archivos, o las herramientas que cree, hospede y acceda mediante la llamada a funciones.
- Los asistentes pueden acceder a subprocesos persistentes. Los subprocesos simplifican el desarrollo de aplicaciones de IA almacenando el historial de mensajes y truncándolo cuando la conversación se hace demasiado larga para la longitud del contexto del modelo. Cree un subproceso una vez y simplemente anexe mensajes a él a medida que los usuarios responden.
- Los asistentes pueden acceder a archivos en varios formatos. Ya sea como parte de su creación o como parte de subprocesos entre asistentes y usuarios. Al usar herramientas, los asistentes también pueden crear archivos (como imágenes u hojas de cálculo) y citar archivos a los que hacen referencia en los mensajes que crean.
Información general
Anteriormente, la creación de asistentes de IA personalizados requería un gran esfuerzo, incluso para desarrolladores experimentados. Aunque la API de finalizaciones de chat es ligera y eficaz, es intrínsecamente sin estado, lo que significa que los desarrolladores tenían que administrar el estado de la conversación y los subprocesos de chat, las integraciones de herramientas, los documentos e índices de recuperación y ejecutar código manualmente.
La API de asistentes, como evolución de la API de finalización de chat, proporciona una solución para estos desafíos. La API de asistentes admite subprocesos persistentes administrados automáticamente. Esto significa que, como desarrollador, ya no es necesario desarrollar sistemas de administración de estado de conversación y solucionar restricciones de ventana de contexto del modelo. La API de asistentes controlará automáticamente las optimizaciones para mantener el subproceso por debajo de la ventana de contexto máxima del modelo elegido. Una vez creado un subproceso, simplemente puede anexar nuevos mensajes a él a medida que los usuarios responden. Los asistentes también pueden acceder a varias herramientas en paralelo, si es necesario. Entre estas herramientas se incluyen las siguientes:
Sugerencia
No hay ningún precio ni cuota adicional por usar los asistentes a menos que use las herramientas de intérprete de código o búsqueda de archivos.
La API de asistentes se basa en las mismas funcionalidades que potencian el producto GPT de OpenAI. Algunos casos de uso posibles van desde el recomendador de productos con tecnología de inteligencia artificial, la aplicación de analista de ventas, el asistente de codificación, el bot de chat de preguntas y respuestas de los empleados, etc. Empiece a compilar en el área de juegos de asistentes sin código en Azure AI Studio o empiece a compilar con la API.
Importante
La recuperación de datos que no son de confianza mediante llamadas a funciones, intérprete de código o búsqueda de archivos con entrada de archivos y subprocesos de asistentes podría poner en peligro la seguridad del asistente o de la aplicación que lo usa. Obtenga información sobre los enfoques de mitigación aquí.
Área de juegos de asistentes
Proporcionamos un tutorial del área de juegos de asistentes en nuestra guía de inicio rápido. Esto proporciona un entorno sin código para probar las funcionalidades de los asistentes.
Componentes de asistentes
Componente | Descripción |
---|---|
Asistente | Inteligencia artificial personalizada que usa modelos de Azure OpenAI junto con herramientas. |
Subproceso | Una sesión de conversación entre un asistente y un usuario. Los subprocesos almacenan mensajes y controlan automáticamente el truncamiento para ajustar el contenido a un contexto del modelo. |
Mensaje | Mensaje creado por un asistente o un usuario. Los mensajes pueden incluir texto, imágenes y otros archivos. Los mensajes se almacenan como una lista en el subproceso. |
Ejecutar | Activación de un asistente para empezar a ejecutarse en función del contenido del subproceso. El asistente usa su configuración y los mensajes del subproceso para realizar tareas llamando a modelos y herramientas. Como parte de una ejecución, el asistente anexa mensajes al subproceso. |
Paso de ejecución | Una lista detallada de los pasos que tomó el asistente como parte de una ejecución. Un asistente puede llamar a herramientas o crear mensajes durante su ejecución. Examinar los pasos de ejecución le permite comprender cómo el asistente obtiene sus resultados finales. |
Acceso a datos de asistentes
Actualmente, los asistentes, los subprocesos, los mensajes y los archivos creados para los asistentes se limitan al nivel de recurso de Azure OpenAI. Por lo tanto, cualquier persona con acceso al recurso o la clave de API de Azure OpenAI puede leer y escribir asistentes, subprocesos, mensajes y archivos.
Se recomienda encarecidamente los siguientes controles de acceso a datos:
- Implemente la autorización. Antes de realizar lecturas o escrituras en asistentes, subprocesos, mensajes y archivos, asegúrese de que el usuario final esté autorizado para hacerlo.
- Restrinja el acceso a los recursos y a la clave de API de Azure OpenAI. Piense detenidamente quién tiene acceso a los recursos de Azure OpenAI en los que se usan los asistentes y las claves de API asociadas.
- Audite periódicamente qué cuentas o usuarios tienen acceso al recurso de Azure OpenAI. Las claves de API y el acceso a nivel de recurso permiten una amplia gama de operaciones, incluida la lectura y modificación de mensajes y archivos.
- Habilite configuración de diagnóstico para permitir el seguimiento a largo plazo de determinados aspectos del registro de actividad del recurso de Azure OpenAI.
Parámetros
La API de asistentes admite varios parámetros que le permiten personalizar la salida de los asistentes. El parámetro tool_choice
le permite forzar al asistente a usar una herramienta especificada. También puede crear mensajes con el rol assistant
para crear historiales de conversaciones personalizados en los subprocesos. temperature
, top_p
, response_format
le permiten ajustar aún más las respuestas. Para más información, consulte la documentación de referencia.
Administración de ventanas de contexto
Los asistentes truncan automáticamente el texto para asegurarse de que no sobrepase la longitud máxima de contexto del modelo. Puede personalizar este comportamiento especificando los tokens máximos que le gustaría que una ejecución utilizara o el número máximo de mensajes recientes que le gustaría incluir en una ejecución.
Número máximo de tokens de finalización y de tokens de solicitud
Para controlar el uso del token en una sola ejecución, establezca max_prompt_tokens
y max_completion_tokens
al crear la ejecución. Estos límites se aplican al número total de tokens usados en todas las finalizaciones a lo largo del ciclo de vida de la ejecución.
Por ejemplo, iniciar una ejecución con max_prompt_tokens
establecido en 500 y max_completion_tokens
establecido en 1000 significa que la primera finalización truncará el subproceso en 500 tokens y limitará la salida en 1000 tokens. Si solo se usan 200 tokens de solicitud y 300 tokens de finalización en la primera finalización, la segunda finalización tendrá límites disponibles de 300 tokens de solicitud y 700 tokens de finalización.
Si una finalización alcanza el límite max_completion_tokens
, la ejecución finalizará con un estado incompleto y se proporcionarán detalles en el campo incomplete_details
del objeto Run.
Si se usa la herramienta búsqueda de archivos, se recomienda establecer max_prompt_tokens
en 20 000 como mínimo. Para conversaciones más largas o varias interacciones con la búsqueda de archivos, considere la posibilidad de aumentar este límite a 50 000, o idealmente, quitar los límites de max_prompt_tokens
por completo para obtener los resultados de mayor calidad.
Estrategia de truncamiento
También puede especificar una estrategia de truncamiento para controlar cómo se debe representar el subproceso en la ventana de contexto del modelo. El uso de una estrategia de truncamiento de tipo auto
usará la estrategia de truncamiento predeterminada de OpenAI. El uso de una estrategia de truncamiento de tipo last_messages
le permitirá especificar el número de mensajes más recientes que se van a incluir en la ventana de contexto.
Consulte también
- Obtenga más información sobre los asistentes y la búsqueda de archivos
- Obtenga más información sobre los asistentes y el intérprete de código
- Obtenga más información sobre los asistentes y las llamadas a funciones
- Ejemplos de API de asistentes de Azure OpenAI