> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-dependabot-github-actions-actions-cache-6.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# op

> weave.trace.op에 대한 Python SDK 레퍼런스

export const SourceLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="source-link">
    출처
  </a>;

<div id="api-overview">
  # API Overview
</div>

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L96" />

## <kbd>클래스</kbd> `DisplayNameFuncError`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L99" />

## <kbd>클래스</kbd> `OpCallError`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L215" />

## <kbd>클래스</kbd> `OpKwargs`

op()의 키워드 인수를 위한 TypedDict.

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L120" />

## <kbd>클래스</kbd> `Sentinel`

Sentinel(package: 'str', path: 'str', name: 'str')

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/../../../../weave/trace/op/__init__" />

### <kbd>방법</kbd> `__init__`

```python theme={null}
__init__(package: 'str', path: 'str', name: 'str') → None
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L209" />

## <kbd>클래스</kbd> `WeaveKwargs`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1460" />

### <kbd>함수</kbd> `as_op`

```python theme={null}
as_op(fn: 'Callable[P, R]') → Op[P, R]
```

`@weave.op`로 데코레이트된 함수가 주어지면 해당 함수의 Op를 반환합니다.

`@weave.op`로 데코레이트된 함수는 이미 Op 인스턴스이므로, 이 함수는 런타임에서 사실상 no-op입니다. 하지만 OpDef 속성에 타입 안전하게 접근해야 할 때 타입 검사기를 만족시키는 용도로 사용할 수 있습니다.

**인수:**

* <b>`fn`</b>: `weave.op`로 데코레이트된 함수입니다.
  **반환값:**
  함수의 Op입니다.

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1164" />

### <kbd>함수</kbd> `call`

```python theme={null}
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`로 데코레이트된 모든 함수에 자동으로 바인딩되므로, 다음과 같이 사용할 수 있습니다:

```python theme={null}
@weave.op
def add(a: int, b: int) -> int:
     return a + b

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

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1210" />

### <kbd>함수</kbd> `calls`

```python theme={null}
calls(op: 'Op') → CallsIter
```

이 op의 모든 call에 대한 이터레이터를 조회합니다.

이 방법은 `@weave.op`로 데코레이트된 모든 함수에 자동으로 바인딩되므로, 다음과 같이 사용할 수 있습니다:

```python theme={null}
@weave.op
def add(a: int, b: int) -> int:
     return a + b

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

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1406" />

### <kbd>함수</kbd> `get_captured_code`

```python theme={null}
get_captured_code(op: 'Op') → str
```

op의 캡처된 코드를 조회합니다.

이 기능은 ref를 통해 op를 다시 가져온 경우에만 작동합니다. 패턴은 다음과 같습니다:

ref = weave.publish(func) op = ref.get() captured\_code = op.get\_captured\_code()

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1452" />

### <kbd>함수</kbd> `is_op`

```python theme={null}
is_op(obj: 'Any') → TypeIs[Op]
```

객체가 Op인지 확인합니다.

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L437" />

### <kbd>함수</kbd> `is_placeholder_call`

```python theme={null}
is_placeholder_call(call: 'Call') → TypeIs[NoOpCall]
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L405" />

### <kbd>함수</kbd> `is_tracing_setting_disabled`

```python theme={null}
is_tracing_setting_disabled() → bool
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1423" />

### <kbd>함수</kbd> `maybe_bind_method`

```python theme={null}
maybe_bind_method(func: 'Callable', self: 'Any' = None) → Callable | MethodType
```

함수를 임의의 객체에 바인딩합니다(클래스가 아니어도 됨).

self가 None이면 함수를 그대로 반환합니다.

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1435" />

### <kbd>함수</kbd> `maybe_unbind_method`

```python theme={null}
maybe_unbind_method(oplike: 'Op | MethodType | partial') → Op
```

Op와 유사한 방법 또는 partial의 바인딩을 해제해 일반 Op 함수로 변환합니다.

다음의 경우:

* 방법의 경우, 바인딩된 `self` 매개변수를 제거합니다
* partials의 경우, 미리 설정된 모든 매개변수를 제거합니다

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1234" />

### <kbd>함수</kbd> `op`

```python theme={null}
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,
    eager_call_start: 'bool' = False
) → Callable[[Callable[P, R]], Op[P, R]] | Op[P, R]
```

함수나 메서드를 weave op로 변환하는 데코레이터입니다. 동기와 비동기 모두 지원합니다. 이터레이터 함수를 자동으로 감지해 적절한 동작을 적용합니다.

**인수:**

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L430" />

### <kbd>함수</kbd> `placeholder_call`

```python theme={null}
placeholder_call() → Call
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L230" />

### <kbd>함수</kbd> `setup_dunder_weave_dict`

```python theme={null}
setup_dunder_weave_dict(op: 'Op', d: 'WeaveKwargs | None' = None) → WeaveKwargs
```

ops에 WeaveKwargs를 전달하는 데 사용하는 \_\_weave dict를 설정합니다.

* <b>`func`</b>: 데코레이트할 함수.

* <b>`name`</b>: op의 맞춤형 이름입니다. 기본값은 함수 이름입니다.

* <b>`call_display_name`</b>: Call의 표시 이름이며, 문자열 또는 callable일 수 있습니다.

* <b>`postprocess_inputs`</b>: 로깅 전에 입력값을 변환하는 함수.

* <b>`postprocess_output`</b>: 로깅 전에 출력을 변환하는 함수.

* <b>`tracing_sample_rate`</b>: 트레이스할 Call의 비율입니다(0.0\~1.0).

* <b>`enable_code_capture`</b>: 이 op의 소스 코드를 캡처할지 여부입니다.

* <b>`accumulator`</b>: 스트리밍 op의 결과를 누적하는 함수.

* <b>`eager_call_start`</b>: True이면 call 시작이 배치 처리되지 않고 즉시 전송됩니다. evaluations와 같은 장시간 실행 오퍼레이션이 즉시 UI에 표시되어야 할 때 유용합니다.
  **인수:**

* <b>`d`</b>: 업데이트할 기존 WeaveKwargs dict(선택 사항).

* <b>`op`</b>: kind와 color를 추출할 Op.
  **반환값:**
  attributes와 display\_name이 포함되고, 필요에 따라 kind/color도 설정된 WeaveKwargs dict입니다.

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L416" />

### <kbd>함수</kbd> `should_skip_tracing_for_op`

```python theme={null}
should_skip_tracing_for_op(op: 'Op') → bool
```
