Weave에서 _저장된 뷰_를 사용하면 트레이스된 함수 호출 및 평가와 상호작용하는 방식을 사용자 지정할 수 있습니다. 저장된 뷰를 정의하면 필터, 정렬, 열 표시 여부를 설정해 관련 데이터에 빠르게 액세스할 수 있습니다.
Weave Python SDK에서 직접 또는 UI를 통해 뷰를 생성, 수정, 저장할 수 있습니다. Python SDK는 프로그래밍 방식의 필터링과 쿼리를 세밀하게 제어할 수 있게 해주며, UI에서는 트레이스 및 Evals 탭에서 다양한 테이블 설정을 쉽게 탐색하고 저장할 수 있습니다.
이 가이드에서는 다음을 다룹니다:
Weave의 SavedView 클래스는 트레이스 및 evals 데이터의 뷰를 저장, 필터링, 정렬하고 사용자 지정할 수 있게 해줍니다.
Weave 프로젝트에서 SavedView 인스턴스를 초기화하세요:
import weave
client = weave.init( < my_project > )
view = weave.SavedView()
.to_grid()를 사용하여 저장된 뷰를 그리드로 표현합니다. limit으로 표시할 최대 행 수를 지정합니다.
.show()를 사용해 그리드 형태로 표시합니다:
.set_columns()을 사용해 뷰에 표시할 열을 설정합니다. 표시할 열을 하나 이상 지정하세요.
view.set_columns( "id" , "op_name" )
.add_column()을 사용하여 뷰에 새 열을 하나 이상 추가합니다. 추가할 열을 하나 이상 지정하세요.
# 필드 지정자와 레이블 "Created"로 열 추가
view.add_column( "Created" )
# 선택적으로, 두 번째 인수를 추가하여 새 열에 다른 레이블 이름을 지정할 수 있습니다. 기본적으로 필드 지정자가 레이블로 사용됩니다.
특정 열을 기준으로 결과를 정렬하려면 .sort_by()를 사용하세요. 정렬할 열 이름과 정렬 순서(asc 또는 desc)를 지정하세요.
view.sort_by( "started_at" , "desc" )
Weave에서는 모든 트레이스 또는 eval이 오퍼레이션 이름에 연결됩니다.
.filter_op()을 사용해 해당 오퍼레이션이 실행된 call만 포함하도록 SavedView를 필터링합니다.
view.filter_op( "Evaluation.predict_and_score" )
.add_filter()를 사용해 뷰에 맞춤형 필터를 적용합니다. 필터는 지원되는 필터 Operator 중 하나와 조건으로 정의합니다.
view.add_filter( "output.model_latency" , ">=" , 5 )
Operator 설명 예시 "contains"문자열에 부분 문자열이 포함되어 있는지 확인합니다. view.add_filter("output.status", "contains", "error")"equals"문자열이 지정한 값과 정확히 일치하는지 확인합니다. view.add_filter("input.category", "equals", "Alice")"in"문자열이 값 목록에 포함되어 있는지 확인합니다. view.add_filter("category", "in", ["A", "B", "C"])"="숫자가 지정한 값과 같은지 확인합니다. view.add_filter("output.score", "=", 80)"≠", "!="숫자가 지정한 값과 다른지 확인합니다. view.add_filter("metrics.loss", "!=", 0.5)"<"숫자가 지정한 값보다 작은지 확인합니다. view.add_filter("age", "<", 30)"≤", "<="숫자가 지정한 값보다 작거나 같은지 확인합니다. view.add_filter("metric.value", "<=", 100)">"숫자가 지정한 값보다 큰지 확인합니다. view.add_filter("output.score", ">", 90)"≥", ">="숫자가 지정한 값보다 크거나 같은지 확인합니다. view.add_filter("output.model_latency", ">=", 5)"is"불리언 필드가 True 또는 False인지 확인합니다. view.add_filter("is_active", "is", True)"after"날짜가 지정한 타임스탬프 이후인지 확인합니다. view.add_filter("started_at", "after", "2024-01-01")"before"날짜가 지정한 타임스탬프 이전인지 확인합니다. view.add_filter("ended_at", "before", "2024-12-31")"is empty"필드가 비어 있는지(None 또는 "") 확인합니다. view.add_filter("comments", "is empty", None)"is not empty"필드가 비어 있지 않은지 확인합니다. view.add_filter("attachments", "is not empty", None)
인덱스 또는 필드 이름을 사용해 뷰에서 특정 필터를 제거하려면 .remove_filter()를 사용합니다.
view.remove_filter( "output.model_latency" )
모든 필터를 제거하려면 .remove_filters()를 사용하세요.
저장된 뷰를 Weave에 게시하려면 .save()를 사용합니다.
저장된 뷰에 설정된 필터와 일치하는 함수 호출을 조회하려면 .get_calls()를 사용하세요. limit 및 offset과 같은 선택 매개변수를 지정할 수 있습니다.
calls = view.get_calls( limit = 10 )
Weave UI에서 저장된 뷰를 생성, 불러오기, 이름 변경, 편집할 수 있습니다. 더 세밀하게 제어하려면 Python SDK 를 사용하세요.
트레이스 또는 Evals 탭으로 이동합니다.
테이블 설정에서 다음 항목을 원하는 대로 조정합니다:
Filters
정렬 순서
페이지 크기
열 표시 여부
열 고정
다음 두 가지 방법 중 하나로 뷰를 저장합니다:
오른쪽 상단에서 Save view 를 클릭합니다.
Save view 왼쪽의 메뉴 ( ) 버튼을 클릭합니다. 드롭다운 메뉴에서 + Save as new view 를 클릭합니다.
트레이스 또는 Evals 탭으로 이동합니다.
탭 제목 왼쪽의 메뉴 ( ) 버튼을 클릭합니다. 저장된 모든 뷰가 표시된 드롭다운 메뉴가 나타납니다.
열려는 뷰를 클릭합니다. 저장된 뷰가 트레이스 또는 Evals 탭에 표시됩니다.
저장된 뷰 불러오기 에 설명된 단계를 따르세요.
트레이스 또는 Evals 탭의 왼쪽 상단에서 뷰 이름을 클릭합니다.
뷰의 새 이름을 입력합니다.
새 뷰 이름을 저장하려면 Enter 를 누릅니다.
저장된 뷰 불러오기 에 설명된 step을 따르세요.
table 설정을 조정하세요.
오른쪽 상단의 Save view 을 클릭하세요.
더 이상 자신과 팀에 유용하지 않다고 판단되면 뷰를 삭제할 수 있습니다. 이 작업은 되돌릴 수 없습니다.
트레이스 또는 Evals 탭으로 이동합니다.
삭제하려는 뷰를 불러옵니다 .
Save view 왼쪽에 있는 메뉴 ( ) 버튼을 클릭합니다.
드롭다운 메뉴에서 Delete view 를 클릭합니다.
팝업 모달에서 Delete view 를 클릭해 확인합니다. 또는 삭제를 취소하려면 Cancel 을 클릭합니다.
트레이스 또는 Evals 탭으로 이동합니다.
트레이스 또는 Evals 탭 오른쪽의 메뉴( ) 버튼을 클릭합니다. 저장된 뷰가 모두 표시된 드롭다운 메뉴가 나타납니다.
메뉴 하단에서 트레이스 또는 Evals 를 클릭합니다. 기본 뷰가 표시됩니다.