Skip to main content
Weave op는 모든 호출을 자동으로 기록하는 버전 관리된 함수입니다.
op를 만들려면 Python 함수를 weave.op()
showLineNumbers
op를 호출하면 코드가 마지막 호출과 다른 경우 새 op 버전이 생성되고 함수의 입력과 출력이 기록됩니다.:::note @weave.op()로 장식된 함수는 weave.init('your-project-name')를 호출하기 전에 호출하면 정상적으로 작동합니다(코드 버전 관리 및 추적 없이). :::Ops는 served 또는 deployed Weave 툴벨트를 사용하여 할 수 있습니다.

표시 이름 사용자 정의

op의 표시 이름을 name 매개변수를 @weave.op decorator:

기록된 입력 및 출력 사용자 정의

원래 함수를 수정하지 않고 weave에 기록되는 데이터를 변경하려면(예: 민감한 데이터를 숨기기 위해) postprocess_inputspostprocess_output를 op 데코레이터에 전달할 수 있습니다.postprocess_inputs는 키가 인수 이름이고 값이 인수 값인 dict를 입력으로 받아 변환된 입력이 있는 dict를 반환합니다.postprocess_output는 함수에서 일반적으로 반환되는 모든 값을 입력으로 받아 변환된 출력을 반환합니다.

샘플링 비율 제어

op 호출이 추적되는 빈도를 tracing_sample_rate 매개변수를 @weave.op 데코레이터에서 설정하여 제어할 수 있습니다. 이는 호출의 일부만 추적하면 되는 고빈도 op에 유용합니다.샘플링 비율은 루트 호출에만 적용됩니다. op에 샘플 비율이 있지만 먼저 다른 op에 의해 호출되는 경우 해당 샘플링 비율은 무시됩니다.
op의 호출이 샘플링되지 않을 때:
  • 함수가 정상적으로 실행됩니다
  • Weave에 추적 데이터가 전송되지 않습니다
  • 해당 호출에 대한 하위 op도 추적되지 않습니다
샘플링 비율은 0.0에서 1.0 사이여야 합니다(포함).

호출 링크 출력 제어

로깅 중 호출 링크 인쇄를 억제하려면 WEAVE_PRINT_CALL_LINK 환경 변수를 false로 설정할 수 있습니다. 이는 출력 상세도를 줄이고 로그의 혼잡을 줄이려는 경우 유용할 수 있습니다.

op 삭제

op의 버전을 삭제하려면 op 참조에서 .delete()를 호출합니다.
삭제된 op에 액세스하려고 하면 오류가 발생합니다.