본문으로 건너뛰기

Workflow.맵()

그만큼.map()메서드는 이전 단계의 출력 데이터를 후속 단계의 입력으로 매핑하므로 단계 간에 데이터를 변환할 수 있습니다.

사용예
사용예에 대한 직접 링크

workflow.map(async ({ inputData }) => `${inputData.value} - map`)

매개변수
매개변수에 대한 직접 링크

mappingFunction:

(params: { inputData: any }) => any
입력 데이터를 변환하고 매핑된 결과를 반환하는 함수

보고
보고에 대한 직접 링크

workflow:

Workflow
메서드 체이닝을 위한 Workflow 인스턴스

사용inputData
using-inputdata에 대한 직접 링크

이전 단계의 전체 출력에 접근하려면 inputData를 사용하세요.

.then(step1)
.map(({ inputData }) => {
console.log(inputData);
})

사용getStepResult()
using-getstepresult에 대한 직접 링크

특정 단계의 인스턴스를 참조하여 전체 출력에 접근하려면 getStepResult()를 사용하세요.

.then(step1)
.map(async ({ getStepResult }) => {
console.log(getStepResult(step1));
})

사용getInitData()
using-getinitdata에 대한 직접 링크

Workflow에 제공된 초기 입력 데이터에 접근하려면 getInitData<typeof workflow>()를 사용하세요.

.then(step1)
.map(async ({ getInitData }) => {
console.log(getInitData<any>());
})

사용mapVariable()
using-mapvariable에 대한 직접 링크

객체 형태의 .map()은 필드를 매핑하는 선언적 대체 구문을 제공합니다. 함수를 작성하는 대신, 각 키는 새로운 필드 이름이고 각 값은 mapVariable()을 사용해 이전 단계나 Workflow 입력에서 데이터를 추출하는 객체를 정의합니다. Workflow 모듈에서 mapVariable()을 가져오세요.

import { mapVariable } from '@mastra/core/workflows'

단계 출력에서 ​​필드 추출
단계 출력에서 ​​필드 추출에 대한 직접 링크

단계 출력에서 특정 필드를 추출하여 새로운 필드 이름에 매핑하려면 step과 함께 mapVariable()을 사용하세요. path 매개변수는 추출할 필드를 지정합니다. 이 예제에서는 step1 출력의 value 필드를 추출하여 details라는 새 필드에 매핑합니다.

.then(step1)
.map({
details: mapVariable({
step: step1,
path: "value"
})
})

Workflow 입력에서 필드 추출
Workflow 입력에서 필드 추출에 대한 직접 링크

Workflow의 초기 입력 데이터에서 특정 필드를 추출하려면 initData와 함께 mapVariable()을 사용하세요. 원래 Workflow 입력을 이후 단계에 전달해야 할 때 유용합니다. 이 예제에서는 Workflow 입력의 value 필드를 추출하여 details라는 필드에 매핑합니다.

export const testWorkflow = createWorkflow({...});

testWorkflow
.then(step1)
.map({
details: mapVariable({
initData: testWorkflow,
path: "value"
})
})