Seleccionar agente de AI para Python
Utilice el submódulo select_ai.agent para crear y gestionar herramientas, tareas, agentes y equipos de agentes de IA en la base de datos desde Python.
Seleccione el agente de AI para las compilaciones de Python en la biblioteca de cliente select_ai y el paquete DBMS_CLOUD_AI_AGENT. Soporta flujos de trabajo de agente síncronos y asíncronos en la base de datos de IA autónoma.
Plataformas soportadas
Para obtener información sobre las plataformas Select AI for Python admitidas, consulte Supported Platforms.
Informe los problemas del producto en el repositorio Select AI for Python GitHub.
Instalación de Select AI Agent para Python
Instale el paquete Select AI for Python con pip:
python3 -m pip install select_aiLas clases de AI Agent seleccionadas se incluyen en el submódulo select_ai.agent.
Gestionar Privilegios de Base de Datos
Seleccione el agente de AI para Python que necesita acceso al paquete de base de datos DBMS_CLOUD_AI_AGENT. Utilice las siguientes API para otorgar o revocar privilegios de paquetes de base de datos:
select_ai.grant_privileges(...)
select_ai.revoke_privileges(...)Para obtener información sobre privilegios, acceso HTTP y gestión de acceso de red de host externo, consulte Manage Database Privileges and Network Access.
Acciones que Puede Realizar
En la siguiente tabla, se resumen las capacidades principales de Select AI Agent for Python:
| Capacidad | Descripción |
|---|---|
| Herramientas | Cree y gestione herramientas para lenguaje natural a SQL, búsqueda web, generación con recuperación aumentada, PL/SQL, notificaciones y funciones personalizadas. |
| Tareas | Definir la lógica de tareas y configurar las herramientas que utiliza una tarea. |
| Agentes | Asigne roles de agente y perfiles de AI. |
| Teams | Ensamblar y ejecutar equipos de varios agentes mediante programación. |
| Exportación e importación de equipos | Exporte o importe las especificaciones del equipo del agente de forma síncrona o asíncrona. |
| API síncronas y asíncronas | Utilice API síncronas o construcciones async y await de Python según los requisitos de la aplicación. |
| Gestión del ciclo de vida de los objetos | Recuperar, actualizar y suprimir objetos de agente respaldados por base de datos. |
Clases Soportadas
En la siguiente tabla, se resumen las clases principales de Select AI Agent for Python:
| Clase o grupo de clases | Finalidad |
|---|---|
Tool y AsyncTool |
Crear y gestionar herramientas de agente de IA. |
Task y AsyncTask |
Crear y gestionar la lógica de tareas y el uso de herramientas. |
Agent y AsyncAgent |
Crear y gestionar agentes, sus roles, perfiles y tareas. |
Team y AsyncTeam |
Cree, ejecute, exporte e importe equipos de varios agentes. |
Trabajar con herramientas
Utilizar herramientas para proporcionar capacidades que un agente puede llamar al procesar una tarea. Puede crear SQL, búsqueda web, generación con recuperación aumentada, PL/SQL, notificación de Slack y herramientas de notificación por correo electrónico.
Las API de creación de herramientas soportan el parámetro instruction. Utilice este parámetro para definir un comportamiento preciso de ejecución de la herramienta.
Las herramientas de notificación y búsqueda web requieren credenciales y acceso de red para el servicio externo. Las herramientas SQL y RAG requieren perfiles Select AI existentes.
Trabajo con tareas
Utilice tareas para definir el trabajo que realiza un agente y las herramientas que puede utilizar. Configure los atributos instruction y tools para controlar cómo el agente procesa las solicitudes.
Puede utilizar el atributo input opcional para que una tarea dependa de la salida de una tarea anterior.
Trabajo con agentes
Utilice agentes para asociar un rol y un perfil de IA. El perfil proporciona el modelo que el agente utiliza para la planificación y el razonamiento, mientras que el rol define el comportamiento previsto del agente.
Trabajo con equipos de agente
Utilice equipos para ensamblar y ejecutar varios agentes mediante programación. Un equipo empareja agentes con tareas y soporta flujos de trabajo únicos en los que los agentes especializados se coordinan para completar una solicitud.
Defina el atributo process del equipo en sequential para ejecutar las asignaciones de tareas en orden. Reutilice un agente en varias entradas de equipo cuando dicho agente deba realizar varias tareas.
Utilice Team.run(...) para iniciar un flujo de trabajo de equipo. El argumento prompt se transfiere a la tarea y se puede hacer referencia a él en las instrucciones de la tarea con {query}.
Exportar e importar equipos de agentes
Seleccione AI para Python 1.4 agrega API síncronas y asíncronas para exportar e importar equipos de agentes de AI. Una especificación de equipo incluye la composición del equipo y las definiciones de agente, tarea y herramienta relacionadas.
API síncronas:
Team.export_team(...)
Team.import_team(...)API asíncronas:
AsyncTeam.export_team(...)
AsyncTeam.import_team(...)Team.export_team() devuelve una especificación JSON por defecto. Team.import_team() acepta esa especificación de JSON o una asignación de Python que contiene la definición de equipo. Especifique team_name para importar un equipo con un nombre nuevo.
Para escribir una especificación para Object Storage o importar una desde Object Storage, proporcione object_storage_credential_name y location. Defina force=True para sustituir las herramientas, tareas, agentes o equipos en conflicto al importar.
Para obtener los detalles completos de la versión, consulte python-select-ai v1.4.0.
Recuperar y actualizar objetos existentes
Select AI Agent for Python proporciona métodos consistentes para recuperar y actualizar objetos de proxy respaldados por base de datos:
| Método | Finalidad |
|---|---|
fetch() |
Recupera un objeto de base de datos existente y devuelve su objeto de proxy correspondiente. |
set_attribute() |
Actualiza un atributo en un objeto de proxy. |
set_attributes() |
Actualiza varios atributos en un objeto de proxy. |
Estos métodos proporcionan una forma coherente de trabajar con herramientas, tareas, agentes, equipos y otros objetos proxy soportados.
Suprimir Objetos con Métodos de Clase
Utilice métodos de supresión de nivel de clase cuando una aplicación deba suprimir un objeto sin crear o recuperar primero un objeto de proxy.
Agent.delete_agent(agent_name)
Task.delete_task(task_name)
Tool.delete_tool(tool_name)
Team.delete_team(team_name)Uso de API Síncronas y Asíncronas
Seleccionar agente de AI para Python proporciona API síncronas y asíncronas para sus operaciones principales.
La siguiente tabla asigna clases síncronas a sus equivalentes asíncronos:
| Clase síncrona | equivalente asíncrono |
|---|---|
Tool |
AsyncTool |
Task |
AsyncTask |
Agent |
AsyncAgent |
Team |
AsyncTeam |
Utilizar API asíncronas en aplicaciones que:
- Procesar varios flujos de trabajo de agente simultáneamente.
- Utilizar un bucle de evento.
- Integrar con marcos Python asíncronos.
- Debe evitar el bloqueo mientras espera las operaciones de la base de datos.
Para obtener una referencia de API asíncrona completa, consulte Referencia de API de Select AI for Python.