跳到主要内容

流程触发端点

使用 /run/webhook 端点来运行流程。

如果你需要对流程做创建、查询、更新和删除,请参阅流程管理端点

运行流程

提示

SkillFlaw 会为每个流程自动生成 /v1/run/$FLOW_ID 的 Python、JavaScript 与 curl 代码片段。 更多信息请参阅生成 API 代码片段

你可以通过流程 ID 或别名执行一个指定流程。 Flow ID 通常可以从以下位置获得:

下面示例运行一个 Basic Prompting 模板流程,并通过请求体传入流程参数:


_12
curl -X POST \
_12
"$SKILLFLAW_URL/api/v1/run/$FLOW_ID" \
_12
-H "Content-Type: application/json" \
_12
-H "x-api-key: $SKILLFLAW_API_KEY" \
_12
-d '{
_12
"input_value": "Tell me about something interesting!",
_12
"session_id": "chat-123",
_12
"input_type": "chat",
_12
"output_type": "chat",
_12
"output_component": "",
_12
"tweaks": null
_12
}'

返回结果通常会包含运行元数据、输入与输出:

结果示例

_15
{
_15
"session_id": "chat-123",
_15
"outputs": [{
_15
"inputs": {
_15
"input_value": "Tell me about something interesting!"
_15
},
_15
"outputs": [{
_15
"results": {
_15
"message": {
_15
"text": "Sure! Have you ever heard of the phenomenon known as \"bioluminescence\"?..."
_15
}
_15
}
_15
}]
_15
}]
_15
}

如果你要在应用中解析返回结果,通常需要提取真正需要的字段,而不是把整个响应直接返回给最终用户。

流式返回 LLM Token

/v1/run/$FLOW_ID 默认是批处理式执行,但支持通过查询参数开启 LLM token 流式返回。


_10
curl -X POST \
_10
"$SKILLFLAW_URL/api/v1/run/$FLOW_ID?stream=true" \
_10
-H "accept: application/json" \
_10
-H "Content-Type: application/json" \
_10
-H "x-api-key: $SKILLFLAW_API_KEY" \
_10
-d '{
_10
"message": "Tell me something interesting!",
_10
"session_id": "chat-123"
_10
}'

流式结果会以 token 事件逐步返回,并最终以 end 事件结束连接。

Run 端点请求头

Header说明示例
Content-Type必填,声明 JSON 格式application/json
accept可选,声明期望的响应格式application/json
x-api-key当认证开启时需要sk-...

Run 端点参数

参数类型说明
flow_idUUID / string必填,URL 中的流程标识
streamBoolean可选,查询参数
input_valuestring可选,请求体中的主输入文本
input_typestring可选,例如 chat / text
output_typestring可选,例如 chat / any / debug
output_componentstring可选,指定输出组件
tweaksobject可选,运行时覆盖组件参数
session_idstring可选,会话上下文 ID;参阅 Session ID

含完整参数的请求示例


_17
curl -X POST \
_17
"$SKILLFLAW_URL/api/v1/run/$FLOW_ID?stream=true" \
_17
-H "Content-Type: application/json" \
_17
-H "accept: application/json" \
_17
-H "x-api-key: $SKILLFLAW_API_KEY" \
_17
-d '{
_17
"input_value": "Tell me a story",
_17
"input_type": "chat",
_17
"output_type": "chat",
_17
"output_component": "chat_output",
_17
"session_id": "chat-123",
_17
"tweaks": {
_17
"component_id": {
_17
"parameter_name": "value"
_17
}
_17
}
_17
}'

通过 Webhook 触发流程

你也可以通过发送 HTTP POST 请求到 /webhook 来触发流程。

提示

在流程中加入 Webhook 组件 后,打开API access 面板,即可看到自动生成的 POST /webhook 请求示例。


_10
curl -X POST \
_10
"$SKILLFLAW_URL/api/v1/webhook/$FLOW_ID" \
_10
-H "Content-Type: application/json" \
_10
-H "x-api-key: $SKILLFLAW_API_KEY" \
_10
-d '{"data": "example-data"}'

结果

_10
{
_10
"message": "Task started in the background",
_10
"status": "in progress"
_10
}