Sélectionner un agent AI pour Python

Utilisez le sous-module select_ai.agent pour créer et gérer des outils d'agent d'IA dans la base de données, des tâches, des agents et des équipes de Python.

Sélectionnez l'agent AI pour les builds Python sur la bibliothèque client select_ai et le package DBMS_CLOUD_AI_AGENT. Il prend en charge les workflows d'agent synchrones et asynchrones dans Autonomous AI Database.

Plates-forme prises en charge

Pour connaître les plates-formes Select AI prises en charge pour Python, reportez-vous à Plates-formes prises en charge.

Signalez les problèmes liés aux produits dans le référentiel Select AI for Python GitHub.

Installer Sélectionner un agent AI pour Python

Installez le package Select AI for Python avec pip :

python3 -m pip install select_ai

Sélectionnez des classes d'agent AI incluses dans le sous-module select_ai.agent.

Gérer les privilèges de base de données

La sélection de l'agent AI pour Python nécessite l'accès au package de base de données DBMS_CLOUD_AI_AGENT. Utilisez les API suivantes pour accorder ou révoquer des privilèges de package de base de données :

select_ai.grant_privileges(...)
select_ai.revoke_privileges(...)

Pour plus d'informations sur les privilèges, l'accès HTTP et la gestion des accès réseau à l'hôte externe, reportez-vous à Gestion des privilèges de base de données et de l'accès réseau.

Tâches disponibles

Le tableau suivant récapitule les fonctionnalités principales de Select AI Agent for Python :

Capacité Description
Outils Créer et gérer des outils pour le langage naturel-to-SQL, la recherche Web, la génération augmentée par extraction, le langage PL/SQL, les notifications et les fonctions personnalisées.
Tâches Définir la logique des tâches et configurer les outils qu'une tâche utilise.
Agents Affectez des rôles d'agent et des profils AI.
Teams Assemblez et exécutez des équipes multi-agents par programmation.
Exportation et import d'équipe Exporter ou importer des spécifications d'équipe d'agent de manière synchrone ou asynchrone.
API synchrones et asynchrones Utilisez des API synchrones ou des structures async et await Python en fonction des exigences de l'application.
Gestion du cycle de vie des articles Extraire, mettre à jour et supprimer des objets d'agent soutenus par la base de données.

Classes prises en charge

Le tableau suivant récapitule l'agent Select AI principal pour les classes Python :

Classe ou groupe de classes Objet
Tool et AsyncTool Créez et gérez des outils d'agent d'IA.
Task et AsyncTask Créer et gérer la logique des tâches et l'utilisation des outils.
Agent et AsyncAgent Créer et gérer des agents, leurs rôles, leurs profils et leurs tâches.
Team et AsyncTeam Créer, exécuter, exporter et importer des équipes multi-agents.

Utiliser les outils

Utilisez des outils pour fournir des fonctionnalités qu'un agent peut appeler lors du traitement d'une tâche. Vous pouvez créer des outils SQL, de recherche Web, de génération augmentée par extraction, PL/SQL, de notification Slack et de notification par e-mail.

Les API de création d'outils prennent en charge le paramètre instruction. Utilisez ce paramètre pour définir un comportement d'exécution d'outil précis.

Les outils de recherche et de notification Web nécessitent des informations d'identification et un accès réseau pour le service externe. Les outils SQL et RAG nécessitent des profils Select AI existants.

Utiliser les tâches

Utilisez les tâches pour définir le travail qu'un agent effectue et les outils qu'il peut utiliser. Configurez les attributs instruction et tools pour contrôler la façon dont l'agent traite les demandes.

Vous pouvez utiliser l'attribut facultatif input pour qu'une tâche dépende de la sortie d'une tâche antérieure.

Travailler avec les agents

Utilisez des agents pour associer un rôle et un profil AI. Le profil fournit le modèle que l'agent utilise pour la planification et le raisonnement, tandis que le rôle définit le comportement prévu de l'agent.

Travailler avec les équipes d'agents

Utilisez des équipes pour assembler et exécuter plusieurs agents par programmation. Une équipe associe les agents aux tâches et prend en charge les workflows agénétiques dans lesquels les agents spécialisés se coordonnent pour terminer une demande.

Définissez l'attribut d'équipe process sur sequential pour exécuter les affectations de tâche dans l'ordre. Réutiliser un agent dans plusieurs entrées d'équipe lorsque cet agent doit effectuer plusieurs tâches.

Utilisez Team.run(...) pour démarrer un workflow d'équipe. L'argument prompt est transmis à la tâche et peut être référencé dans les instructions de tâche avec {query}.

Exporter et importer des équipes d'agents

Sélectionnez AI pour Python 1.4 pour ajouter des API synchrones et asynchrones afin d'exporter et d'importer des équipes d'agents AI. Une spécification d'équipe inclut la composition de l'équipe et les définitions d'agent, de tâche et d'outil associées.

API synchrones :

Team.export_team(...)
Team.import_team(...)

API asynchrones :

AsyncTeam.export_team(...)
AsyncTeam.import_team(...)

Team.export_team() renvoie une spécification JSON par défaut. Team.import_team() accepte que la spécification JSON ou un mapping Python contenant la définition de l'équipe. Indiquez team_name pour importer une équipe sous un nouveau nom.

Pour écrire une spécification dans Object Storage ou en importer une à partir d'Object Storage, fournissez object_storage_credential_name et location. Définissez force=True pour remplacer les outils, tâches, agents ou équipes en conflit lors de l'import.

Pour plus d'informations sur la version, reportez-vous à la section python-select-ai v1.4.0.

Extraire et mettre à jour des objets existants

Sélectionnez l'agent AI pour Python qui fournit des méthodes cohérentes pour extraire et mettre à jour des objets proxy soutenus par la base de données :

Méthode Objet
fetch() Extrait un objet de base de données existant et renvoie l'objet proxy correspondant.
set_attribute() Met à jour un attribut sur un objet proxy.
set_attributes() Met à jour plusieurs attributs sur un objet proxy.

Ces méthodes fournissent un moyen cohérent de travailler avec des outils, des tâches, des agents, des équipes et d'autres objets proxy pris en charge.

Supprimer des objets avec des méthodes de classe

Utilisez des méthodes de suppression de niveau classe lorsqu'une application doit supprimer un objet sans créer ni extraire d'abord un objet proxy.

Agent.delete_agent(agent_name)
Task.delete_task(task_name)
Tool.delete_tool(tool_name)
Team.delete_team(team_name)

Utiliser des API synchrones et asynchrones

Sélectionnez l'agent AI pour Python qui fournit des API synchrones et asynchrones pour ses opérations principales.

Le tableau suivant mappe les classes synchrones avec leurs équivalents asynchrones :

Classe synchrone Equivalent asynchrone
Tool AsyncTool
Task AsyncTask
Agent AsyncAgent
Team AsyncTeam

Utilisez des API asynchrones dans les applications qui :

  • Traitez plusieurs workflows d'agent simultanément.
  • Utilisez une boucle d'événement.
  • Intégration aux structures Python asynchrones.
  • Vous devez éviter le blocage en attendant les opérations de base de données.

Pour obtenir la référence complète d'API asynchrone, reportez-vous à Sélectionner AI pour la référence d'API Python.

Ressources connexes