Creare strumenti personalizzati per agenti di intelligenza artificiale con le funzioni del Catalogo Unity
Importante
Questa funzionalità si trova in anteprima pubblica.
Informazioni su come creare strumenti dell'agente di intelligenza artificiale usando le funzioni del catalogo unity per eseguire codice Python personalizzato per operazioni specifiche dell'attività.
Che cos'è UCFunctionToolkit
Databricks consiglia di usare UCFunctionToolkit
per creare e usare gli strumenti dell'agente definiti con le funzioni di Unity Catalog.
UCFunctionToolkit
è un componente chiave della libreria di intelligenza artificiale di Unity Catalog che semplifica il processo di creazione e uso delle funzioni del catalogo Unity come strumenti in framework di intelligenza artificiale come LangChain. Funge da ponte tra le funzioni del catalogo unity e gli agenti di intelligenza artificiale.
Dopo aver configurato, è possibile creare funzioni del catalogo Unity, eseguirne il wrapping con UCFunctionToolkit
e usarle come strumenti negli agenti di intelligenza artificiale. Questa astrazione consente la creazione coerente di strumenti tra le librerie di creazione e abilita funzionalità come la traccia automatica delle funzioni di recupero, semplificando la visualizzazione di documenti recuperati e dati correlati.
Per ulteriori informazioni ed esempi, vedere la guida introduttiva alla libreria AI Core del catalogo Unity di .
Definire una funzione del catalogo Unity
Per usare UCFunctionToolkit
, è necessario installare unity Catalog AI Core Library e tutti i pacchetti di integrazione necessari.
## 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]
Nota
In questo esempio viene usato LangChain, è necessario installare il pacchetto corretto per la libreria dell'agente. Ad esempio, gli agenti OpenAI devono usare %pip install unitycatalog-openai[databricks]
. Consulta Unity Catalog integrazioni AI.
Creare una funzione nel Catalogo Unity contenente la logica dello strumento.
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,
)
Usare la funzione come strumento
Dopo aver creato una funzione, è possibile renderla accessibile alle librerie di creazione di intelligenza artificiale eseguendo il wrapping in un toolkit. L'esempio seguente usa LangChain, ma un approccio simile può essere applicato ad altri framework:
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
Per altre informazioni su UCFunctionToolKit
, vedere documentazione di Unity Catalog.
Strumento Python esecutore integrato
Azure Databricks offre anche una funzione predefinita del catalogo unity che consente agli agenti di intelligenza artificiale di eseguire in modo dinamico il codice Python all'interno delle query.
system.ai.python_exec
è disponibile per impostazione predefinita e può essere usato come qualsiasi altro strumento basato su funzioni di Unity Catalog.
L'esempio seguente illustra come usare la funzione python_exec
in una query SQL:
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")