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 flux de travail LlamaIndex. Cette intégration combine la gouvernance de Unity Catalog avec les fonctionnalités de LlamaIndex pour indexer et interroger des jeux de données volumineux dans les LLM.
Spécifications
- Installez Python 3.10 ou version ultérieure.
Intégrer des outils de catalogue Unity à LlamaIndex
Exécutez le code suivant dans un notebook ou un script Python pour créer un outil de catalogue Unity et l’utiliser dans un agent LlamaIndex.
Installez le package d’intégration databricks Unity Catalog pour LlamaIndex.
%pip install unitycatalog-llamaindex[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}.code_function" def code_function(code: str) -> str: """ Runs Python code. Args: code (str): The Python code to run. Returns: str: The result of running the Python code. """ import sys from io import StringIO stdout = StringIO() sys.stdout = stdout exec(code) return stdout.getvalue() client.create_python_function( func=code_function, catalog=CATALOG, schema=SCHEMA, replace=True )Créez une instance de la fonction catalogueUnity en tant que kit de ressources et exécutez-la pour vérifier que l’outil se comporte correctement.
from unitycatalog.ai.llama_index.toolkit import UCFunctionToolkit import mlflow # Enable traces mlflow.llama_index.autolog() # Create a UCFunctionToolkit that includes the UC function toolkit = UCFunctionToolkit(function_names=[func_name]) # Fetch the tools stored in the toolkit tools = toolkit.tools python_exec_tool = tools[0] # Run the tool directly result = python_exec_tool.call(code="print(1 + 1)") print(result) # Outputs: {"format": "SCALAR", "value": "2\n"}Utilisez l’outil dans un LlamaIndex ReActAgent en définissant la fonction Catalogue Unity dans le cadre d’une collection d’outils LlamaIndex. Vérifiez ensuite que l’agent se comporte correctement en appelant la collection d’outils LlamaIndex.
from llama_index.llms.openai import OpenAI from llama_index.core.agent import ReActAgent llm = OpenAI() agent = ReActAgent.from_tools(tools, llm=llm, verbose=True) agent.chat("Please run the following python code: `print(1 + 1)`")