工作流服务器

开启

 "shenghuabi.server": {
        "enable": true,
//默认
        "host": "127.0.0.1",
        "port": 1127
    },

获得输入参数

  • 正常情况下不需要这一步,因为在验证时已经知道哪些参数
  • 以下提供的是typescript调用实例
let headersList = {
  Accept: '*/*',
  'Content-Type': 'application/json',
};

let bodyContent = JSON.stringify({ 
// 工作流名字(不用加.workflow)
name: 'cg/cg-text' 

});

let response = await fetch('http://127.0.0.1:1127/workflow/inputs', {
  method: 'POST',
  body: bodyContent,
  headers: headersList,
});

let data = await response.json();
console.log(data);

执行工作流

  • 调用后直接返回结果
let headersList = {
  Accept: '*/*',
  'Content-Type': 'application/json',
};

let bodyContent = JSON.stringify({ 
// 输入
input: {}, 
// 工作流名字(不用加.workflow)
name: 'cg/cg-text' 

});

let response = await fetch('http://127.0.0.1:1127/workflow/exec', {
  method: 'POST',
  body: bodyContent,
  headers: headersList,
});

let data = await response.json();
console.log(data);

执行工作流(流式)

  • 调用工作流后每个节点执行时都返回数据(类似openai的流式响应)
let headersList = {
  Accept: '*/*',
  'Content-Type': 'application/json',
};

let bodyContent = JSON.stringify({ 
// 输入
input: {}, 
// 工作流名字(不用加.workflow)
name: 'cg/cg-text' 

});
import { fetchEventSource } from '@microsoft/fetch-event-source';

let result = fetchEventSource('http://127.0.0.1:1127/workflow/stream', {
    method: 'POST',
    headers: headersList,
    body: bodyContent,
    signal: ctrl.signal,
    onmessage: (a) => {
      console.log(a.data);
    },
  });