Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте каталог Databricks Unity для интеграции функций SQL и Python в качестве инструментов в рабочих процессах LlamaIndex. Эта интеграция объединяет управление каталогом Unity с возможностями LlamaIndex для индексирования и запроса больших наборов данных для LLM.
Требования
- Установите Python 3.10 или более поздней версии.
Интеграция средств каталога Unity с LlamaIndex
Выполните следующий код в записной книжке или скрипте Python, чтобы создать средство каталога Unity и использовать его в агенте LlamaIndex.
Установите пакет интеграции каталога Databricks Unity для LlamaIndex.
%pip install unitycatalog-llamaindex[databricks] dbutils.library.restartPython()Создайте экземпляр клиента функций каталога Unity.
from unitycatalog.ai.core.base import get_uc_function_client client = get_uc_function_client()Создайте функцию каталога Unity, написанную на 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 )Создайте экземпляр функции каталогаUnity в виде набора средств и запустите его, чтобы убедиться, что средство работает правильно.
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"}Используйте средство в ReActAgent LlamaIndex, определив функцию Unity Catalog как часть коллекции инструментов LlamaIndex. Затем убедитесь, что агент работает правильно, вызвав коллекцию инструментов 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)`")