@weave.op으로 데코레이션한 함수 또는 메서드입니다. 기본적으로 Op의 이름은 함수 이름이며, 해당 Op에 연결된 Calls도 동일한 표시 이름을 가집니다.
특정 Op의 모든 Calls에 대한 표시 이름은 여러 가지 방법으로 재정의할 수 있습니다.
- Python
- TypeScript
- Op를 호출할 때 표시 이름을 변경합니다.
다음 예제에서는
__weave딕셔너리를 사용해 Op 표시 이름보다 우선하는 Call 표시 이름을 설정합니다:
- 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의 표시 이름도 함께 변경됩니다. 다음 두 가지 방법으로 설정할 수 있습니다:
- Calls가 로깅되기 전에 Op의
name속성을 설정합니다:
- Op 데코레이터에서
name옵션을 설정합니다: