Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use o Databricks Unity Catalog para integrar funções SQL e Python como ferramentas em chamadas LLM do Anthropic SDK. Essa integração combina a governança do Unity Catalog com modelos antrópicos para criar aplicativos poderosos de IA de geração.
Requerimentos
- Use Databricks Runtime 15.0 ou superior.
Integre as ferramentas do Unity Catalog com o Anthropic
Execute o código a seguir em um bloco de anotações ou script Python para criar uma ferramenta Unity Catalog e usá-la ao chamar um modelo antrópico.
Instale o pacote de integração do Databricks Unity Catalog para Anthropic.
%pip install unitycatalog-anthropic[databricks] dbutils.library.restartPython()Crie uma instância do cliente de funções do Unity Catalog.
from unitycatalog.ai.core.base import get_uc_function_client client = get_uc_function_client()Crie uma função Unity Catalog escrita em 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 )Crie uma instância da função Unity Catalog como um kit de ferramentas.
from unitycatalog.ai.anthropic.toolkit import UCFunctionToolkit # Create an instance of the toolkit toolkit = UCFunctionToolkit(function_names=[func_name], client=client)Use uma chamada de ferramenta em 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)Construa uma resposta de ferramenta. A resposta do modelo Claude contém um bloco de metadados de solicitação de ferramenta se uma ferramenta precisar ser chamada.
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)
O unitycatalog.ai-anthropic pacote inclui um utilitário manipulador de mensagens para simplificar a análise e o tratamento de uma chamada para a função Unity Catalog. O utilitário faz o seguinte:
- Deteta os requisitos de chamada da ferramenta.
- Extrai informações sobre a chamada da ferramenta a partir da consulta.
- Executa a chamada para a função Unity Catalog.
- Analisa a resposta da função Unity Catalog.
- Crie o próximo formato de mensagem para continuar a conversa com Claude.
Observação
Todo o histórico da conversa deve ser fornecido no conversation_history argumento para a generate_tool_call_messages API. Os modelos Claude exigem a inicialização da conversa (a pergunta de entrada original do usuário) e todas as respostas subsequentes geradas pelo LLM e os resultados de chamadas de ferramentas consecutivas.