Partager via


Créer des outils d’agent IA personnalisés avec des fonctions de catalogue Unity

Important

Cette fonctionnalité est disponible en préversion publique .

Découvrez comment créer des outils d’agent IA à l’aide de fonctions de catalogue Unity pour exécuter du code Python personnalisé pour les opérations spécifiques aux tâches.

Qu’est-ce que UCFunctionToolkit

Databricks recommande d’utiliser UCFunctionToolkit pour créer et utiliser des outils d’agent définis avec des fonctions de catalogue Unity.

UCFunctionToolkit est un composant clé de la bibliothèque de base IA du catalogue Unity qui simplifie le processus de création et d’utilisation des fonctions de catalogue Unity en tant qu’outils dans les frameworks IA comme LangChain. Il sert de pont entre les fonctions de catalogue Unity et les agents IA.

Une fois configurées, vous pouvez créer des fonctions de catalogue Unity, les encapsuler avec UCFunctionToolkitet les utiliser comme outils dans vos agents IA. Cette abstraction permet de créer des outils cohérents entre les bibliothèques de création et d’activer des fonctionnalités telles que le suivi automatique des fonctions de récupérateur, ce qui facilite l’affichage des documents récupérés et des données associées.

Consultez Guide de démarrage rapide de la bibliothèque AI Core du catalogue Unity pour plus d’informations et d’exemples.

Définir une fonction de catalogue Unity

Pour utiliser UCFunctionToolkit, vous devez installer unity Catalog AI Core Library et tous les packages d’intégration nécessaires.

## Install UCToolkit for LangChain with the Databricks extra
# Install the core package for databricks
%pip install unitycatalog-ai[databricks]

# Install the LangChain integration
%pip install unitycatalog-langchain[databricks]

Remarque

Cet exemple utilise LangChain, vous devez installer le package approprié pour votre bibliothèque d’agents. Par exemple, les agents OpenAI doivent utiliser %pip install unitycatalog-openai[databricks]. Consultez Intégrations d’IA du catalogue Unity.

Créez une fonction de catalogue Unity contenant la logique de l’outil.

from unitycatalog.ai.core.databricks import DatabricksFunctionClient

CATALOG = "my_catalog"
SCHEMA = "my_schema"

def add_numbers(number_1: float, number_2: float) -> float:
  """
  A function that accepts two floating point numbers adds them,
  and returns the resulting sum as a float.

  Args:
      number_1 (float): The first of the two numbers to add.
      number_2 (float): The second of the two numbers to add.

  Returns:
      float: The sum of the two input numbers.
  """
  return number_1 + number_2

function_info = client.create_python_function(
  func=add_numbers,
  catalog=CATALOG,
  schema=SCHEMA,
)

Utiliser la fonction en tant qu’outil

Une fois que vous avez créé une fonction, vous pouvez la rendre accessible aux bibliothèques de création d’IA en les encapsulant dans un kit de ressources. L’exemple suivant utilise LangChain, mais une approche similaire peut être appliquée à d’autres frameworks :

from unitycatalog.ai.langchain.toolkit import UCFunctionToolkit

# Define the UC function to be used as a tool
func_name = f"{CATALOG}.{SCHEMA}.add_numbers"

# Create a toolkit with the UC function
toolkit = UCFunctionToolkit(function_names=[func_name], client=client)

tools = toolkit.tools

Pour plus d’informations sur UCFunctionToolKit, consultez Documentation du catalogue Unity.

Outil d’exécuteur Python intégré

Azure Databricks fournit également une fonction de catalogue Unity intégrée qui permet aux agents IA d’exécuter dynamiquement du code Python au sein des requêtes de manière dynamique.

system.ai.python_exec est disponible par défaut et peut être utilisé comme n’importe quel autre outil basé sur les fonctions du catalogue Unity.

L’exemple suivant montre comment utiliser la fonction python_exec dans une requête SQL :

SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")