Partager via


Outils de l’agent IA

Important

Cette fonctionnalité est disponible en préversion publique.

Cet article fournit une vue d’ensemble de la création d’outils d’agent IA à l’aide de Mosaic AI Agent Framework.

Les outils d’agent IA permettent aux agents d’effectuer des tâches au-delà de la génération de langage, telles que la récupération de données structurées ou non structurées et l’exécution de code personnalisé.

Pour une présentation des agents IA, consultez Qu’est-ce que les systèmes IA composés et les agents IA ?.

utils de fonction de Unity Catalog contre outils de code de l’agent

Pour créer un outil avec Mosaïque AI Agent Framework, vous pouvez utiliser n’importe quelle combinaison des méthodes suivantes :

Méthode Description
Fonctions de Unity Catalog - Défini et géré dans le catalogue Unity avec des fonctionnalités de sécurité et de conformité intégrées
- Accorde une détectabilité, une gouvernance et une réutilisation plus faciles
- Idéal pour appliquer des transformations et des agrégations sur des jeux de données volumineux
Outils de code de l’agent - Défini dans le code de l’agent IA
- Utile pour appeler des API REST, à l’aide d’un code arbitraire ou à l’exécution d’outils à faible latence
- Manque de gouvernance intégrée et de détectabilité des fonctions

Les deux méthodes sont compatibles avec les agents Python personnalisés ou les bibliothèques de création d’agents comme LangGraph.

Créer des outils d’agent IA

Découvrez comment créer des outils d’agent IA qui permettent à vos agents d’exécuter du code Python personnalisé. Voir Créer des outils d’agent IA personnalisés avec des fonctions Unity Catalog.

Exemples d’outils pour l’agent

Pour découvrir des exemples d’outils pour les agents, consultez les articles suivants :

Ajouter des outils de catalogue Unity aux agents

Contrairement aux outils de code de l’agent, qui sont définis dans le code de l’agent, les outils catalogue Unity doivent être ajoutés explicitement aux agents pour les rendre disponibles à des fins d’utilisation.

Databricks recommande d’utiliser UCFunctionToolkit pour intégrer des outils de catalogue Unity avec des frameworks de création d’agents et des kits sdk. Consultez Créer des outils d’agent IA personnalisés à l’aide des fonctions de Unity Catalog.

Vous pouvez également utiliser ai Playground pour ajouter rapidement des outils de catalogue Unity aux agents pour prototyper le comportement. Consultez Prototype d’agent d’appel d’outil dans AI Playground.

Améliorer l’appel d’outils grâce à une documentation claire

Les outils bien documentés aident les agents IA à comprendre quand et comment utiliser efficacement des outils. Suivez ces bonnes pratiques lors de la documentation des paramètres de l’outil et des valeurs de retour :

  • Pour les fonctions catalogue Unity, utilisez COMMENT pour décrire les fonctionnalités et les paramètres de l’outil.
  • Définissez clairement les entrées et sorties attendues.
  • Fournissez des descriptions significatives pour améliorer l’utilisation.

Exemple : Documentation efficace de l’outil

L’exemple suivant montre des chaînes de COMMENT effectives pour un outil de fonction Catalogue Unity qui interroge une table structurée.

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer whose info to look up.'
)
RETURNS STRING
COMMENT 'Returns metadata about a specific customer including their email and ID.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;

Exemple : Documentation sur les outils inefficaces

L’exemple suivant ne contient pas de détails importants, ce qui complique l’utilisation efficace de l’outil par l’agent IA :

CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
  customer_name STRING COMMENT 'Name of the customer.'
)
RETURNS STRING
COMMENT 'Returns info about a customer.'
RETURN SELECT CONCAT(
    'Customer ID: ', customer_id, ', ',
    'Customer Email: ', customer_email
  )
  FROM main.default.customer_data
  WHERE customer_name = customer_name
  LIMIT 1;