Skip to main content
Azure 容器应用动态会话提供了一种安全且可扩展的方式,在 Hyper-V 隔离沙盒中运行 Python 代码解释器。这允许您的智能体在安全环境中运行潜在的不可信代码。代码解释器环境包括许多流行的 Python 包,例如 NumPy、pandas 和 scikit-learn。有关会话如何工作的更多信息,请参阅 Azure 容器应用文档。

设置

默认情况下,SessionsPythonREPLTool 工具使用 DefaultAzureCredential 来与 Azure 进行身份验证。在本地,它将使用 Azure CLI 或 VS Code 的您的凭证进行身份验证。安装 Azure CLI 并使用 az login 登录以进行身份验证。 要使用代码解释器,您还需要创建一个会话池,您可以通过遵循 会话池创建说明 来完成。完成后,您应该会得到一个池管理会话端点,您需要将其设置在下方:
您还需要安装 langchain-azure-dynamic-sessions 包:

使用工具

实例化并使用工具:
调用工具将返回一个包含代码结果以及任何 stdout 和 stderr 输出的 JSON 字符串。要获取原始字典结果,请使用 execute() 方法:

上传数据

如果我们想在特定数据上执行计算,我们可以使用 upload_file() 功能将数据上传到我们的会话。您可以通过 data: BinaryIO 参数或通过指向您系统上本地文件的 local_file_path: str 参数来上传数据。数据会自动上传到会话容器中的 “/mnt/data/” 目录。您可以通过 upload_file() 返回的上传元数据获取完整文件路径。

处理图像结果

动态会话结果可以包括 base64 编码的图像输出。在这种情况下,‘result’ 的值将是一个字典,包含键 “type”(这将是一个 “image”)、“format”(图像的格式)和 “base64_data”。
我们可以解码图像数据并显示它:

简单智能体示例

LangGraph 数据分析师智能体

要查看更复杂的智能体示例,请查看 LangGraph 数据分析师示例

官方原文:src/oss/python/integrations/tools/azure_dynamic_sessions.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026