跳到主要内容

导入和导出流程

您可以导出流程以在 Langflow 实例之间传输它们、与他人共享或创建备份。

导出流程

有三种导出流程的方法:

  • 项目页面,找到您要导出的流程,单击 更多,然后选择导出
  • 编辑流程时,单击共享,然后单击导出
  • 使用 Langflow API /flows/download 端点。

导出的流程会作为名为 FLOW_NAME.json 的 JSON 文件下载到您的本地计算机。 有关更多信息,请参阅 Langflow JSON 文件内容

保存我的 API 密钥

从 Langflow UI 导出时,您可以选择保存我的 API 密钥来导出流程_和_任何已定义的 API 密钥变量。 无论保存我的 API 密钥设置如何,非 API 密钥变量都包含在导出中。

注意

如果您直接在组件的 API 密钥字段中输入了密钥值,那么保存我的 API 密钥会导出字面密钥值。

如果您的密钥存储在 Langflow 全局变量中,保存我的 API 密钥只导出变量名称。

当您或其他用户将流程导入到另一个 Langflow 实例时,该实例必须具有相同名称和有效值的 Langflow 全局变量才能成功运行流程。 如果任何变量缺失或无效,必须在导入流程后创建或编辑这些变量。

导出所有流程

如果您想导出项目中的所有流程,请执行以下操作之一:

  • 转到项目页面,找到您要导出的项目,单击 选项,然后选择下载
  • 使用 Langflow API /projects/download 端点。

项目的流程会作为 JSON 文件下载到 zip 压缩包中。

导入流程

您可以通过以下方式从本地计算机导入 Langflow JSON 文件:

  • 项目页面,单击 上传流程
  • 将 Langflow JSON 文件从文件资源管理器拖放到 Langflow 窗口中,从任何 Langflow 页面导入流程。
  • 使用 Langflow API /flows/upload/ 端点上传一个 JSON 文件。
  • 使用 Langflow API /projects/upload 端点上传 Langflow 项目 zip 文件。

运行导入的流程

导入后,您的流程就可以使用了。 如果流程包含任何全局变量,请确保您的 Langflow 实例具有相同名称和有效值的全局变量。 有关更多信息,请参阅保存我的 API 密钥

Langflow JSON 文件内容

导出的流程会作为名为 FLOW_NAME.json 的 JSON 文件下载到您的本地计算机。

Langflow JSON 文件包含描述组件和连接的节点,以及描述流程的附加元数据

有关 Langflow JSON 文件的示例,请查看 Langflow 仓库中的 Basic Prompting.json 文件。

节点

节点表示构成流程的组件。 例如,此对象表示一个 Chat Input 组件:


_35
{
_35
"data": {
_35
"description": "Get chat inputs from the Playground.",
_35
"display_name": "Chat Input",
_35
"id": "ChatInput-jFwUm",
_35
"node": {
_35
"base_classes": ["Message"],
_35
"description": "Get chat inputs from the Playground.",
_35
"display_name": "Chat Input",
_35
"icon": "MessagesSquare",
_35
"template": {
_35
"input_value": {
_35
"display_name": "Text",
_35
"info": "Message to be passed as input.",
_35
"value": "Hello"
_35
},
_35
"sender": {
_35
"value": "User",
_35
"options": ["Machine", "User"]
_35
},
_35
"sender_name": {
_35
"value": "User"
_35
},
_35
"should_store_message": {
_35
"value": true
_35
}
_35
}
_35
},
_35
"type": "ChatInput"
_35
},
_35
"position": {
_35
"x": 689.5720422421635,
_35
"y": 765.155834131403
_35
}
_35
}

每个节点都有一个格式为 NODE_NAME-UUID 的唯一标识符,例如 ChatInput-jFwUm

入口点节点,例如 ChatInput 节点,是运行流程时执行的第一个节点。

边表示节点之间的连接。

ChatInput 节点和 OpenAIModel 节点之间的连接表示为一条边:


_22
{
_22
"className": "",
_22
"data": {
_22
"sourceHandle": {
_22
"dataType": "ChatInput",
_22
"id": "ChatInput-jFwUm",
_22
"name": "message",
_22
"output_types": ["Message"]
_22
},
_22
"targetHandle": {
_22
"fieldName": "input_value",
_22
"id": "OpenAIModel-OcXkl",
_22
"inputTypes": ["Message"],
_22
"type": "str"
_22
}
_22
},
_22
"id": "reactflow__edge-ChatInput-jFwUm{œdataTypeœ:œChatInputœ,œidœ:œChatInput-jFwUmœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-OpenAIModel-OcXkl{œfieldNameœ:œinput_valueœ,œidœ:œOpenAIModel-OcXklœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
_22
"source": "ChatInput-jFwUm",
_22
"sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-jFwUmœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
_22
"target": "OpenAIModel-OcXkl",
_22
"targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œOpenAIModel-OcXklœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
_22
}

此边显示 ChatInput 组件将 Message 类型输出到目标节点,即 OpenAIModel 节点。 OpenAIModel 组件在 input_value 字段接受 Message 类型。

附加元数据和项目信息

有关流程的附加信息存储在根 data 对象中。

  • 元数据和项目信息,包括流程的名称、描述和 last_tested_version

_10
{
_10
"name": "Basic Prompting",
_10
"description": "Perform basic prompting with an OpenAI model.",
_10
"tags": ["chatbots"],
_10
"id": "1511c230-d446-43a7-bfc3-539e69ce05b8",
_10
"last_tested_version": "1.0.19.post2",
_10
"gradient": "2",
_10
"icon": "Braces"
_10
}

  • 有关流程的视觉信息,定义流程在工作区中的初始位置。

_10
"viewport": {
_10
"x": -37.61270157375441,
_10
"y": -155.91266341888854,
_10
"zoom": 0.7575251406952855
_10
}

  • 注释是帮助您在工作区内理解流程的评论。 它们可能包含链接、代码片段和其他信息。 注释使用 Markdown 编写并存储为 node 对象。

_10
{
_10
"id": "undefined-kVLkG",
_10
"node": {
_10
"description": "## 📖 README\nPerform basic prompting with an OpenAI model.\n\n#### Quick Start\n- Add your **OpenAI API key** to the **OpenAI Model**\n- Open the **Playground** to chat with your bot.\n..."
_10
}
_10
}

另请参阅

Search