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 fluxos de trabalho LlamaIndex. Essa integração combina a governança do Unity Catalog com os recursos do LlamaIndex para indexar e consultar grandes conjuntos de dados para LLMs.
Requerimentos
- Instale o Python 3.10 ou superior.
Integre as ferramentas do Unity Catalog com o LlamaIndex
Execute o código a seguir em um bloco de anotações ou script Python para criar uma ferramenta Unity Catalog e usá-la em um agente LlamaIndex.
Instale o pacote de integração do Databricks Unity Catalog para LlamaIndex.
%pip install unitycatalog-llamaindex[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}.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 )Crie uma instância da função Unity Catalog como um kit de ferramentas e execute-a para verificar se a ferramenta se comporta corretamente.
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"}Use a ferramenta em um LlamaIndex ReActAgent definindo a função Unity Catalog como parte de uma coleção de ferramentas LlamaIndex. Em seguida, verifique se o agente se comporta corretamente chamando a coleção de ferramentas 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)`")