@weave.op으로 데코레이트한 함수 또는 메서드입니다. 기본적으로 Op 이름은 함수 이름이며, 연관된 Calls는 동일한 표시 이름을 가집니다.
특정 Op의 모든 Calls에 대해 표시 이름을 재정의하는 방법은 여러 가지가 있습니다.
- Python
- TypeScript
- Op를 호출할 때 표시 이름을 변경합니다.
다음 예시는
__weave사전을 사용하여 Call 표시 이름을 설정하며, 이 이름은 Op 표시 이름보다 우선합니다:
- Call 단위로 표시 이름을 변경합니다.
다음 예시는
Op.call메서드를 사용해call객체를 반환하고, 그런 다음call.set_display_name를 사용해 표시 이름을 설정합니다:
- 특정 Op의 모든 Calls에 대해 표시 이름을 변경합니다.
다음 예시는
@weave.op함수 데코레이터 자체에 새 표시 이름을 설정하여 해당 Op의 모든 Calls에 영향을 주는 방법입니다:
call_display_name은 call 객체를 입력으로 받아 문자열을 반환하는 함수가 될 수도 있습니다. 함수가 실행될 때 Weave가 call 객체를 자동으로 전달하므로, 함수 이름, Call 입력값, 필드 등을 기반으로 동적으로 이름을 생성할 수 있습니다.한 가지 일반적인 사용 사례는 함수 이름에 타임스탬프를 덧붙이는 것입니다..attributes를 사용해 커스텀 메타데이터를 로깅할 수도 있습니다.- Op 자체의 표시 이름을 변경합니다. 특정 Op와 연관된 Calls는 동일한 표시 이름을 가집니다. Op 자체의 이름을 재정의하면 Call의 표시 이름도 함께 변경됩니다. 이 작업은 두 가지 방법으로 할 수 있습니다:
- 어떤 Call도 로깅되기 전에 Op의
name속성을 설정합니다:
- Op 데코레이터에서
name옵션을 설정합니다: