跳到主要内容
本指南将演示如何创建、配置和管理助手 首先,简单回顾一下上下文概念,请考虑以下简单的call_model节点和上下文模式。请注意,此节点尝试读取并使用context对象的model_name字段定义的model_name
  • Python
  • Javascript
class ContextSchema(TypedDict):
    model_name: str

builder = StateGraph(AgentState, context_schema=ContextSchema)

def call_model(state, runtime: Runtime[ContextSchema]):
    messages = state["messages"]
    model = _get_model(runtime.context.get("model_name", "anthropic"))
    response = model.invoke(messages)
    # We return a list, because this will get added to the existing list
    return {"messages": [response]}
有关配置的更多信息,请参见此处

创建助手

LangGraph SDK

要创建助手,请使用LangGraph SDKcreate方法。有关更多信息,请参阅PythonJS SDK 参考文档。 此示例使用与上述相同的上下文模式,并创建一个将model_name设置为openai的助手。
  • Python
  • Javascript
  • CURL
from langgraph_sdk import get_client

client = get_client(url=<DEPLOYMENT_URL>)
openai_assistant = await client.assistants.create(
    # "agent" is the name of a graph we deployed
    "agent", context={"model_name": "openai"}, name="Open AI Assistant"
)

print(openai_assistant)
输出
{
"assistant_id": "62e209ca-9154-432a-b9e9-2d75c7a9219b",
"graph_id": "agent",
"name": "Open AI Assistant"
"context": {
"model_name": "openai"
}
"metadata": {}
"created_at": "2024-08-31T03:09:10.230718+00:00",
"updated_at": "2024-08-31T03:09:10.230718+00:00",
}

LangSmith UI

您也可以从 LangSmith UI 创建助手。 在您的部署中,选择“助手”选项卡。这将加载您部署中所有图表的所有助手的表格。 要创建新助手,请选择“+ 新建助手”按钮。这将打开一个表单,您可以在其中指定此助手所属的图表,并提供名称、描述以及根据该图表的配置模式所需的助手配置。 要确认,请点击“创建助手”。这将带您进入Studio,您可以在其中测试助手。如果您返回部署中的“助手”选项卡,您将在表格中看到新创建的助手。

使用助手

LangGraph SDK

我们现在创建了一个名为“Open AI Assistant”的助手,其model_name定义为openai。我们现在可以使用此配置的助手。
  • Python
  • Javascript
  • CURL
thread = await client.threads.create()
input = {"messages": [{"role": "user", "content": "who made you?"}]}
async for event in client.runs.stream(
    thread["thread_id"],
    # this is where we specify the assistant id to use
    openai_assistant["assistant_id"],
    input=input,
    stream_mode="updates",
):
    print(f"Receiving event of type: {event.event}")
    print(event.data)
    print("\n\n")
输出
Receiving event of type: metadata
{'run_id': '1ef6746e-5893-67b1-978a-0f1cd4060e16'}



Receiving event of type: updates
{'agent': {'messages': [{'content': 'I was created by OpenAI, a research organization focused on developing and advancing artificial intelligence technology.', 'additional_kwargs': {}, 'response_metadata': {'finish_reason': 'stop', 'model_name': 'gpt-4o-2024-05-13', 'system_fingerprint': 'fp_157b3831f5'}, 'type': 'ai', 'name': None, 'id': 'run-e1a6b25c-8416-41f2-9981-f9cfe043f414', 'example': False, 'tool_calls': [], 'invalid_tool_calls': [], 'usage_metadata': None}]}}

LangSmith UI

在您的部署中,选择“助手”选项卡。对于您要使用的助手,点击Studio按钮。这将打开 Studio 并加载所选助手。当您提交输入(在 Graph 或 Chat 模式下)时,将使用所选助手及其配置。

为您的助手创建新版本

LangGraph SDK

要编辑助手,请使用update方法。这将使用提供的编辑创建助手的新版本。有关更多信息,请参阅PythonJS SDK 参考文档。
注意 您必须传入完整的上下文(如果您正在使用元数据,也必须传入完整的元数据)。更新端点完全从头开始创建新版本,不依赖于以前的版本。
例如,要更新助手的系统提示
  • Python
  • Javascript
  • CURL
openai_assistant_v2 = await client.assistants.update(
    openai_assistant["assistant_id"],
    context={
          "model_name": "openai",
          "system_prompt": "You are an unhelpful assistant!",
    },
)
这将创建助手的新版本,并将其设置为您助手的活动版本。如果您现在运行图表并传入此助手 ID,它将使用此最新版本。

LangSmith UI

您也可以从 LangSmith UI 编辑助手。 在您的部署中,选择“助手”选项卡。这将加载您部署中所有图表的所有助手的表格。 要编辑现有助手,请选择指定助手的“编辑”按钮。这将打开一个表单,您可以在其中编辑助手的名称、描述和配置。 此外,如果使用 Studio,您可以通过“管理助手”按钮编辑助手并创建新版本。

使用以前的助手版本

LangGraph SDK

您还可以更改助手的活动版本。为此,请使用setLatest方法。 在上面的示例中,要回滚到助手的第一个版本:
  • Python
  • Javascript
  • CURL
await client.assistants.set_latest(openai_assistant['assistant_id'], 1)
如果您现在运行图表并传入此助手 ID,它将使用助手的第一个版本。

LangSmith UI

如果使用 Studio,要设置助手的活动版本,请单击“管理助手”按钮并找到您要使用的助手。选择助手和版本,然后单击“活动”切换。这将更新助手以使所选版本处于活动状态。
删除助手 删除助手将删除其所有版本。目前无法删除单个版本,但通过将助手指向正确的版本,您可以跳过任何您不希望使用的版本。

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.