커스텀 워크플로우 전처리 코드 사용

사용 예시

  • 전처리 코드를 활용하여 Flowise 수행 전에 다른 작업을 수행하거나, 다른 워크플로우 간의 연결을 할 수 있습니다.

    • 위 사용 예시는 다른 워크플로우의 응답을 받아서 해당 워크플로우의 응답을 LLM으로 평가해보는 예시입니다.

    • 즉, 다른 워크플로우 수행 후 현재 워크플로우를 수행하는 예시입니다.

전처리 코드 추가

  • 워크플로우 리비전 정보 탭의 수정하기 버튼을 눌러 코드창을 활성화합니다.

  • 전처리 코드창에 아래와 같은 코드를 추가합니다.

  • async/await 비동기 함수를 지원합니다.

async def run(data: dict) -> dict:
    data.setdefault('overrideConfig', {})
    data['overrideConfig'].setdefault('functionInputVariables', {})

    import requests
    import re
    import json

    workflow_id = 253 # 평가 대상 워크플로우 ID
    bearer_token = 'ebbff88bd6a948278cba98155da68f1e' # 평가 대상 워크플로우 info 호출 후 발급받은 Bearer Token 값
    genos_url = 'https://genos.mnc.ai:3443'
    url = f'{genos_url}/api/gateway/workflow/{workflow_id}'
    headers = dict(Authorization=f'Bearer {bearer_token}')

    res = requests.post(f'{url}/run/v2' , json=data , headers=headers)
    result = res.json()

    data['overrideConfig']["functionInputVariables"]["api_answer"] = result['data']['text']
    return data
  • API를 호출 하고, API의 응답 중 "text"의 값을 "api_answer"에 추가합니다.

    • key 값은 원하는 값으로 추가 가능합니다. flowise에서 같은 이름의 변수를 추가해야 합니다.

  • 위 예시 코드는 GenOS 워크플로우 API 응답 데이터를 기반으로 동작합니다. GenOS 워크플로우 API 를 사용하는 방법은 예시를 참고하세요.

노드 편집

  • Custom JS Function 노드의 Input variables를 클릭합니다.

  • 전처리 노드에서 전달하는 key값과 동일한 변수를 추가합니다.

    • Input값은 전처리 코드 실행 후 전달 받은 값으로 변경되기 때문에 어떠한 값이든 넣어줍니다.

  • Prompt Template 노드의 Format Prompt Values 버튼을 클릭합니다.

  • Key값으로 api_answer를 추가하고, 값은 Custom JS Function 노드를 선택합니다.

  • 프롬프트 편집창을 확대합니다.

  • 프롬프트에 {question} 과 전처리 코드에서 전달 받은 {api_answer} 를 포함하여 원하는 값을 입력합니다.

Last updated

Was this helpful?