메인 콘텐츠로 건너뛰기

API 개요


출처

class DisplayNameFuncError


출처

class OpCallError


출처

class OpKwargs

op() 함수의 키워드 인자를 위한 TypedDict입니다.
출처

class Sentinel

Sentinel(package: ‘str’, path: ‘str’, name: ‘str’) 출처

method __init__

__init__(package: 'str', path: 'str', name: 'str') → None

출처

class WeaveKwargs


출처

함수 as_op

as_op(fn: 'Callable[P, R]') → Op[P, R]
@weave.op 데코레이터가 적용된 함수를 받아 해당 Op를 반환합니다. @weave.op 데코레이터가 적용된 함수는 이미 Op의 인스턴스이므로, 이 함수는 런타임에서는 실질적으로 아무 동작도 하지 않습니다(no-op). 하지만 타입 안전한 방식으로 OpDef 속성에 접근해야 할 때, 타입 체커를 통과시키는 용도로 사용할 수 있습니다. Args:
  • fn: weave.op 데코레이터가 적용된 함수. Returns: 함수의 Op.

출처

function call

call(
    op: 'Op',
    *args: 'Any',
    __weave: 'WeaveKwargs | None' = None,
    __should_raise: 'bool' = False,
    __require_explicit_finish: 'bool' = False,
    **kwargs: 'Any'
) → tuple[Any, Call] | Coroutine[Any, Any, tuple[Any, Call]]
op을 실행하고, 결과와 해당 실행을 나타내는 Call 둘 다를 반환합니다. 이 함수는 예외를 발생시키지 않습니다. 발생한 모든 오류는 Call 객체에 캡처됩니다. 이 메서드는 @weave.op으로 데코레이션된 모든 함수에 자동으로 바인딩되므로, 다음과 같이 사용할 수 있습니다:
@weave.op
def add(a: int, b: int) -> int:
     return a + b

result, call = add.call(1, 2)

출처

function calls

calls(op: 'Op') → CallsIter
이 op에 대한 모든 호출을 순회하는 이터레이터를 반환합니다. 이 메서드는 @weave.op 데코레이터가 적용된 모든 함수에 자동으로 바인딩되며, 다음과 같은 방식으로 사용할 수 있습니다:
@weave.op
def add(a: int, b: int) -> int:
     return a + b

calls = add.calls()
for call in calls:
     print(call)

출처

함수 get_captured_code

get_captured_code(op: 'Op') → str
op에 대해 캡처된 코드를 가져옵니다. 이는 ref에서 op를 다시 가져온 경우에만 동작합니다. 패턴은 다음과 같습니다: ref = weave.publish(func) op = ref.get() captured_code = op.get_captured_code()
출처

function is_op

is_op(obj: 'Any') → TypeIs[Op]
주어진 객체가 Op인지 확인합니다.
출처

function is_placeholder_call

is_placeholder_call(call: 'Call') → TypeIs[NoOpCall]

출처

function is_tracing_setting_disabled

is_tracing_setting_disabled() → bool

출처

function maybe_bind_method

maybe_bind_method(func: 'Callable', self: 'Any' = None) → Callable | MethodType
클래스가 아니더라도 임의의 객체에 함수를 바인딩합니다. self가 None이면 함수를 그대로 반환합니다.
출처

function maybe_unbind_method

maybe_unbind_method(oplike: 'Op | MethodType | partial') → Op
Op 유사 메서드나 partial의 바인딩을 해제하여 일반 Op 함수로 만듭니다. 다음 대상에 대해:
  • 메서드: 설정된 self 파라미터 제거
  • partial: 미리 설정된 모든 파라미터 제거

출처

function op

op(
    func: 'Callable[P, R] | None' = None,
    name: 'str | None' = None,
    call_display_name: 'str | CallDisplayNameFunc | None' = None,
    postprocess_inputs: 'PostprocessInputsFunc | None' = None,
    postprocess_output: 'PostprocessOutputFunc | None' = None,
    tracing_sample_rate: 'float' = 1.0,
    enable_code_capture: 'bool' = True,
    accumulator: 'Callable[[Any | None, Any], Any] | None' = None,
    kind: 'OpKind | None' = None,
    color: 'OpColor | None' = None
) → Callable[[Callable[P, R]], Op[P, R]] | Op[P, R]
함수나 메서드를 Weave op로 변환(op-ify)하는 데코레이터입니다. 동기 및 비동기 함수 모두에서 동작합니다. 이터레이터(반복자) 함수인지 자동으로 감지하고, 이에 맞는 동작을 적용합니다.
출처

함수 placeholder_call

placeholder_call() → Call

출처

function setup_dunder_weave_dict

setup_dunder_weave_dict(op: 'Op', d: 'WeaveKwargs | None' = None) → WeaveKwargs
WeaveKwargs를 ops에 전달하는 데 사용되는 __weave dict를 설정합니다. 인자:
  • d: 선택적으로 업데이트할 기존 WeaveKwargs dict.
  • op: kind와 color를 추출할 Op 객체.
반환값: attributes, display_name, 그리고 선택적으로 kind/color가 설정된 WeaveKwargs dict를 반환합니다.
출처

함수 should_skip_tracing_for_op

should_skip_tracing_for_op(op: 'Op') → bool