Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez databricks Unity Catalog pour intégrer des fonctions SQL et Python en tant qu’outils dans les appels LLM du SDK Anthropic. Cette intégration combine la gouvernance du catalogue Unity avec des modèles anthropices pour créer des applications IA de génération puissantes.
Spécifications
- Utilisez Databricks Runtime 15.0 et versions ultérieures.
Intégrer les outils de catalogue Unity à Anthropic
Exécutez le code suivant dans un notebook ou un script Python pour créer un outil Unity Catalog et l’utiliser lors de l’appel d’un modèle Anthropic.
Installez le package d’intégration databricks Unity Catalog pour Anthropic.
%pip install unitycatalog-anthropic[databricks] dbutils.library.restartPython()Créez une instance du client de fonctions de catalogue Unity.
from unitycatalog.ai.core.base import get_uc_function_client client = get_uc_function_client()Créez une fonction de catalogue Unity écrite en Python.
CATALOG = "your_catalog" SCHEMA = "your_schema" func_name = f"{CATALOG}.{SCHEMA}.weather_function" def weather_function(location: str) -> str: """ Fetches the current weather from a given location in degrees Celsius. Args: location (str): The location to fetch the current weather from. Returns: str: The current temperature for the location provided in Celsius. """ return f"The current temperature for {location} is 24.5 celsius" client.create_python_function( func=weather_function, catalog=CATALOG, schema=SCHEMA, replace=True )Créez une instance de la fonction Catalogue Unity en tant que kit de ressources.
from unitycatalog.ai.anthropic.toolkit import UCFunctionToolkit # Create an instance of the toolkit toolkit = UCFunctionToolkit(function_names=[func_name], client=client)Utilisez un appel d’outil dans Anthropic.
import anthropic # Initialize the Anthropic client with your API key anthropic_client = anthropic.Anthropic(api_key="YOUR_ANTHROPIC_API_KEY") # User's question question = [{"role": "user", "content": "What's the weather in New York City?"}] # Make the initial call to Anthropic response = anthropic_client.messages.create( model="claude-3-5-sonnet-20240620", # Specify the model max_tokens=1024, # Use 'max_tokens' instead of 'max_tokens_to_sample' tools=toolkit.tools, messages=question # Provide the conversation history ) # Print the response content print(response)Créez une réponse d’outil. La réponse du modèle Claude contient un bloc de métadonnées de demande d’outil si un outil doit être appelé.
from unitycatalog.ai.anthropic.utils import generate_tool_call_messages
# Call the UC function and construct the required formatted response
tool_messages = generate_tool_call_messages(
response=response,
client=client,
conversation_history=question
)
# Continue the conversation with Anthropic
tool_response = anthropic_client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1024,
tools=toolkit.tools,
messages=tool_messages,
)
print(tool_response)
Le unitycatalog.ai-anthropic package inclut un utilitaire de gestionnaire de messages pour simplifier l’analyse et la gestion d’un appel à la fonction Catalogue Unity. L’utilitaire effectue les opérations suivantes :
- Détecte les exigences d’appel d’outils.
- Extrait les informations d’appel de l’outil à partir de la requête.
- Exécute l’appel à la fonction Unity Catalog.
- Analyse la réponse de la fonction Catalogue Unity.
- Créez le format de message suivant pour poursuivre la conversation avec Claude.
Remarque
L’ensemble de l’historique des conversations doit être fourni dans l’argument conversation_history de l’API generate_tool_call_messages . Les modèles Claude nécessitent l’initialisation de la conversation (la question d’entrée utilisateur d’origine) ainsi que toutes les réponses LLM générées par la suite et les résultats des appels d'outils multitours.