コードインタープリターAIエージェントツール
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、Mosaic AI Agent Framework を使用して AI エージェント用のコード インタープリター ツールを作成する方法について説明します。 コードインタープリターを使用すると、エージェントは、対話するユーザーによって提供された任意のコード、コードベースから取得されたコード、またはエージェントによって記述された任意のコードを実行できます。
エージェント ツールの詳細については、「 AI エージェント ツールを作成する」を参照してください。
組み込み Python エグゼキューター ツール
Databricks には、AI エージェントが Python コードを実行できる組み込みの Python エグゼキューター ツールが用意されています。 Unity Catalog 関数 system.ai.python_exec
はデフォルトで使用でき、他の Unity Catalog 関数ベースのツールと同様に使用できます。
Python エグゼキューターツール
次の例では、エージェントがPythonコードを実行できるようにする組み込みツール system.ai.python_exec
再作成します。
ノートブックのセルで次のコードを実行します。 %sql
ノートブックマジックを使用して、python_exec
という Unity Catalog 関数を作成します。
%sql
CREATE OR REPLACE FUNCTION main.default.python_exec (
code STRING COMMENT "Python code to execute. Ensure that all variables are initialized within the code, and import any necessary standard libraries. The code must print the final result to stdout. Do not attempt to access files or external systems."
)
RETURNS STRING
LANGUAGE PYTHON
COMMENT "Executes Python code in a stateless sandboxed environment and returns its stdout. The runtime cannot access files or read previous executions' output. All operations must be self-contained, using only standard Python libraries. Calls to other tools are prohibited."
AS $$
import sys
from io import StringIO
stdout = StringIO()
stderr = StringIO()
sys.stdout = stdout
sys.stderr = stderr
try:
exec(code, {})
except SyntaxError as e: # try escaping characters
code = code.encode('utf-8').decode('unicode_escape')
exec(code, {})
return stdout.getvalue() + stderr.getvalue()
$$
次のステップ
エージェントツールを作成したら、そのツールを AI エージェントに追加します。 「 エージェントへの Unity Catalog ツールの追加」を参照してください。