跳至主要内容

Azure 容器应用动态会话

Azure 容器应用动态会话 提供对安全沙盒环境的快速访问,这些环境非常适合运行需要与其他工作负载严格隔离的代码或应用程序。

您可以在 此页面 上了解有关 Azure 容器应用动态会话及其代码解释功能的更多信息。如果您没有 Azure 帐户,可以 创建一个免费帐户 开始使用。

设置

首先,您需要安装 @langchain/azure-dynamic-sessions

npm install @langchain/azure-dynamic-sessions @langchain/core

您还需要运行代码解释器会话池实例。您可以按照 Azure CLI 的说明,使用 此指南 部署一个版本。

实例运行后,您需要确保已为其正确设置了 Azure Entra 身份验证。您可以在 此处 找到有关如何执行此操作的说明。

为您的身份添加角色后,您需要检索 **会话池管理端点**。您可以在 Azure 门户的实例“概述”部分中找到它。然后,您需要设置以下环境变量

AZURE_CONTAINER_APP_SESSION_POOL_MANAGEMENT_ENDPOINT=<your_endpoint>

API 参考

    使用示例

    以下是一个简单的示例,它创建了一个新的 Python 代码解释器会话,调用该工具并打印结果。

    import { SessionsPythonREPLTool } from "@langchain/azure-dynamic-sessions";

    const tool = new SessionsPythonREPLTool({
    poolManagementEndpoint:
    process.env.AZURE_CONTAINER_APP_SESSION_POOL_MANAGEMENT_ENDPOINT || "",
    });

    const result = await tool.invoke("print('Hello, World!')\n1+2");

    console.log(result);

    // {
    // stdout: "Hello, World!\n",
    // stderr: "",
    // result: 3,
    // }

    API 参考

    这是一个完整的示例,其中我们使用 Azure OpenAI 聊天模型来调用 Python 代码解释器会话工具以执行代码并获取结果

    import type { ChatPromptTemplate } from "@langchain/core/prompts";
    import { pull } from "langchain/hub";
    import { AgentExecutor, createToolCallingAgent } from "langchain/agents";
    import { SessionsPythonREPLTool } from "@langchain/azure-dynamic-sessions";
    import { AzureChatOpenAI } from "@langchain/openai";

    const tools = [
    new SessionsPythonREPLTool({
    poolManagementEndpoint:
    process.env.AZURE_CONTAINER_APP_SESSION_POOL_MANAGEMENT_ENDPOINT || "",
    }),
    ];

    // Note: you need a model deployment that supports function calling,
    // like `gpt-35-turbo` version `1106`.
    const llm = new AzureChatOpenAI({
    temperature: 0,
    });

    // Get the prompt to use - you can modify this!
    // If you want to see the prompt in full, you can at:
    // https://smith.langchain.com/hub/jacob/tool-calling-agent
    const prompt = await pull<ChatPromptTemplate>("jacob/tool-calling-agent");

    const agent = await createToolCallingAgent({
    llm,
    tools,
    prompt,
    });

    const agentExecutor = new AgentExecutor({
    agent,
    tools,
    });

    const result = await agentExecutor.invoke({
    input:
    "Create a Python program that prints the Python version and return the result.",
    });

    console.log(result);

    API 参考


    此页面是否有帮助?


    您也可以留下详细的反馈 在 GitHub 上.