Skip to main content

API 개요


클래스 CrossProjectRefError

클라이언트 측 digest 계산 중 다른 프로젝트를 가리키는 ref를 만나 내부 ID로 해결할 수 없을 때 발생합니다.

클래스 FlushStatus

현재 플러시 오퍼레이션에 대한 상태 정보입니다.

클래스 NoInternalProjectIDError

내부 프로젝트 ID가 아직 확인되지 않아 클라이언트 측 digest 계산을 진행할 수 없을 때 발생합니다.

클래스 PendingJobCounts

유형별 대기 중인 작업 수입니다.

클래스 WeaveClient

방법 __init__


속성 num_outstanding_jobs

모든 실행기와 서버에서 대기 중인 작업의 총개수를 반환합니다. 이 속성을 사용하면 메인 스레드를 블로킹하지 않고도 백그라운드 작업의 진행 상황을 확인할 수 있습니다. 반환값:
  • int: 대기 중인 작업의 총개수

속성 project_id


방법 add_calls_to_annotation_queue

annotation 큐에 Call을 추가합니다. 인수:

방법 add_cost

현재 프로젝트에 비용을 추가합니다.
  • queue_id: annotation 큐 ID입니다.
  • call_ids: 큐에 추가할 call ID입니다.
  • display_fields: 검토자에게 표시할 JSON 경로입니다(예: inputs.prompt 또는 output.text). 예시:
인수:
  • llm_id: LLM의 ID입니다. 예: “gpt-4o-mini-2024-07-18”
  • prompt_token_cost: 프롬프트 토큰당 비용입니다. 예: .0005
  • completion_token_cost: 완료 토큰당 비용입니다. 예: .0015
  • effective_date: 기본값은 현재 날짜입니다. datetime.datetime 객체입니다.
  • provider_id: LLM의 공급자입니다. 기본값은 “default”입니다. 예: “openai”
  • prompt_token_cost_unit: 프롬프트 토큰 비용의 단위입니다. 기본값은 “USD”입니다. (현재 사용되지 않으며, 향후 비용의 통화 유형을 지정하는 데 사용될 예정입니다. 예: “tokens” 또는 “time”)
  • completion_token_cost_unit: 완료 토큰 비용의 단위입니다. 기본값은 “USD”입니다. (현재 사용되지 않으며, 향후 비용의 통화 유형을 지정하는 데 사용될 예정입니다. 예: “tokens” 또는 “time”) 반환값: CostCreateRes 객체입니다. ids라는 이름의 튜플 목록이라는 하나의 필드를 가지고 있습니다. 각 튜플은 llm_id와 생성된 비용 객체의 id를 포함합니다.

방법 add_tags

객체 버전에 태그를 추가합니다. 인수:

방법 clear_wandb_run_context

wandb run 컨텍스트 재정의를 해제합니다. 이 방법을 호출하면 이후의 Call은 run_id 및 step 정보에 전역 wandb.run(사용 가능한 경우)을 다시 사용합니다.
  • obj_ref: 객체 버전에 대한 레퍼런스로, ObjectRef 또는 weave /// URI string입니다.
  • tags: 추가할 태그 string의 목록입니다. 예시:

방법 create_annotation_queue

이 프로젝트의 annotation 큐를 생성합니다. 인수:
  • name: 큐의 표시 이름입니다.
  • scorer_refs: 리뷰어가 작성할 Scorer/어노테이션 필드의 Weave Ref입니다.
  • description: 리뷰어 가이드라인 또는 큐 설명입니다(선택). 반환값: 생성된 annotation 큐의 ID입니다.

방법 create_call

런타임 스택에 call을 생성하고 로깅하며 push합니다. 인수:
  • op: call을 생성하는 오퍼레이션 또는 익명 오퍼레이션의 이름입니다.
  • inputs: 오퍼레이션에 대한 입력입니다.
  • parent: 부모 call입니다. parent가 제공되지 않으면 current run이 부모로 사용됩니다.
  • display_name: call의 표시 이름입니다. 기본값은 None입니다.
  • attributes: call의 속성입니다. 기본값은 None입니다.
  • use_stack: call을 런타임 스택에 push할지 여부입니다. 기본값은 True입니다.
  • started_at: call 시작 시간을 재정의합니다. None이면 현재 시간을 사용합니다. 반환값: 생성된 Call 객체입니다.

방법 delete_all_object_versions

객체의 모든 버전을 삭제합니다. 인수:
  • object_name: 버전을 삭제할 객체의 이름입니다. 반환값: 삭제된 버전의 수입니다.

방법 delete_all_op_versions

op의 모든 버전을 삭제합니다. 인수:
  • op_name: 버전을 삭제할 op의 이름입니다. 반환값: 삭제된 버전의 수입니다.

방법 delete_annotation_queue

annotation 큐를 소프트 삭제합니다.

방법 delete_call


방법 delete_calls

ID로 Call을 삭제합니다. Call을 삭제하면 해당 Call의 모든 하위 항목도 함께 삭제됩니다. 인수:

방법 delete_object_version


방법 delete_object_versions

객체의 특정 버전을 삭제합니다.
  • call_ids: 삭제할 call ID의 목록입니다. 예: [“2F0193e107-8fcf-7630-b576-977cc3062e2e”] 인수:
  • object_name: 삭제할 버전이 있는 객체의 이름입니다.
  • digests: 삭제할 digest 목록입니다. “latest” 또는 “v0”과 같은 별칭을 포함할 수 있습니다. 반환값: 삭제된 버전의 수입니다.

방법 delete_op_version


방법 fail_call

예외로 call을 실패 처리합니다. 이는 finish_call을 위한 편의 방법입니다.

방법 finish

모든 백그라운드 작업을 플러시하여 처리되도록 합니다. 이 방법은 현재 큐에 대기 중인 모든 작업이 처리될 때까지 블록하며, 대기 중인 작업의 상태를 표시하는 진행률 표시줄을 표시합니다. 메인 스레드 실행 중 병렬 처리를 보장하며, 사용자 코드가 서버에 데이터가 업로드되기 전에 완료될 때 성능이 향상되도록 할 수 있습니다. 인수:

방법 finish_call

call을 완료하고 결과를 저장합니다. call.summary에 있는 모든 값은 데이터베이스에 기록되기 전에 계산된 요약 통계(예: 사용 및 상태 수)와 깊이 병합됩니다.

방법 flush

백그라운드 비동기 작업을 플러시하며, 여러 번 호출해도 안전합니다.

방법 get


방법 get_agent_custom_attributes

일치하는 에이전트 span에서 유형이 지정된 맞춤형 속성 키를 찾습니다. 필터/열 선택기를 채우는 데 유용합니다. 선택한 span에서 발견된 맞춤형 속성 키(및 해당 값의 유형)를 반환합니다.
  • use_progress_bar: 플러시 중에 진행률 표시줄을 표시할지 여부입니다. 진행률 표시줄이 제대로 렌더링되지 않는 환경(예: CI 환경)에서는 False로 설정하세요.
  • callback: 상태 업데이트를 받는 선택적 callback 함수입니다. use_progress_bar를 재정의합니다. 인수:
  • query: span을 제한하는 Mongo 스타일 필터 표현식입니다.
  • started_after: 이 시간 이후(해당 시간 포함)에 시작된 span만 고려합니다.
  • started_before: 이 시간 전에 시작된 span만 고려합니다.
  • limit: 반환할 속성 키의 최대 개수입니다.
  • offset: 건너뛸 키의 개수입니다(페이지 매김용). 반환값: attributes와 has_more가 포함된 AgentCustomAttrsSchemaRes입니다.
예시:

방법 get_agent_span_stats

에이전트 span에 대해 chart-ready aggregations를 계산합니다. 일반적인 시계열 / 그룹화된 메트릭 경우를 다룹니다. 숫자 버킷 통계 또는 기타 Advanced Options의 경우 server.agent_spans_stats를 직접 호출하세요. 인수:
  • start: 시간 범위의 시작(포함).
  • metrics: 집계할 하나 이상의 메트릭(예: 토큰 합계).
  • end: 시간 범위의 끝. 생략 시 현재 시간으로 기본 설정됩니다.
  • query: span을 제한하는 Mongo 스타일 필터 표현식입니다.
  • group_by: 집계를 그룹화할 span 필드입니다.
  • granularity: 시계열 통계를 위한 시간 버킷 너비(초).
  • timezone: 시간 버킷을 정렬하는 데 사용되는 IANA 시간대. 반환값: columns와 rows가 포함된 AgentSpanStatsRes.
예시:

방법 get_agent_spans

이 프로젝트의 에이전트 span을 쿼리하며, 선택적으로 필터링할 수 있습니다. 순회할 때 페이지를 가져오는 PaginatedIterator를 반환합니다(get_calls와 동일). len(...)은 전체 span 수를 알려줍니다. 인수:
  • agent_name: 설정하면 결과를 이 에이전트로 제한합니다(agent_name 필드에 대한 query를 간편하게 지정하는 방법).
  • query: Mongo 스타일 필터 표현식입니다. agent_name과 함께 제공하면 $and로 결합됩니다.
  • sort_by: 결과를 정렬할 기준 필드입니다.
  • limit: 생성할 span의 최대 개수입니다. None이면 모두 생성합니다.
  • offset: 생성 전에 건너뛸 span의 개수입니다(페이지 매김용).
  • page_size: 요청당 가져올 span의 개수입니다. 반환값: AgentSpanSchema를 순회하는 PaginatedIterator입니다.
예시:

방법 get_agent_turn

단일 턴의 구조화된 채팅 뷰(메시지)를 조회합니다. 턴 하나는 트레이스 하나에 해당합니다. 인수:
  • trace_id: 채팅 뷰를 가져올 트레이스입니다.
  • include_feedback: true이면 메시지에 대한 피드백을 포함합니다. 반환값: 해당 턴의 순서대로 정렬된 messages를 포함하는 AgentTraceChatRes입니다.
예시:

방법 get_agent_turns

대화의 multi-turn 채팅 뷰를 조회합니다. 각 턴은 하나의 트레이스에 해당합니다. 인수:
  • conversation_id: 턴을 가져올 대화입니다.
  • limit: 반환할 턴의 최대 개수입니다.
  • offset: 건너뛸 가장 최근 턴의 개수입니다(페이지 매김용).
  • include_feedback: true인 경우 메시지에 대한 피드백을 포함합니다. 반환값: 정렬된 turns가 포함된 AgentConversationChatRes입니다.
예시:

방법 get_agent_versions

단일 에이전트의 버전 목록을 집계 통계와 함께 조회합니다. 순회할 때 페이지를 가져오는 PaginatedIterator를 반환합니다(get_calls와 동일). len(...)은 전체 버전 수를 반환합니다. 인수:
  • agent_name: 버전 목록을 조회할 에이전트입니다.
  • sort_by: 결과를 정렬할 기준 필드입니다.
  • limit: 반환할 최대 버전 수입니다. None이면 모두 반환합니다.
  • offset: 반환하기 전에 건너뛸 버전 수입니다(페이지 매김용).
  • page_size: 요청당 가져올 버전 수입니다. 반환값: AgentVersionSchema를 순회하는 PaginatedIterator입니다.
예시:

방법 get_agents

이 프로젝트의 에이전트 목록을 집계된 통계와 함께 조회합니다. 사용하면서 자동으로 페이지를 가져오는 PaginatedIterator(get_calls와 유사)를 반환합니다. len(...)은 전체 에이전트 수를 알려주며, 인덱싱과 슬라이싱을 지원합니다. 인수:
  • agent_name: 설정하면 결과를 이 에이전트로 제한합니다.
  • sort_by: 결과를 정렬할 기준 필드입니다.
  • limit: 반환할 에이전트의 최대 수입니다. None이면 모두 반환합니다.
  • offset: 반환하기 전에 건너뛸 에이전트 수입니다(페이지 매김용).
  • page_size: 요청당 가져올 에이전트 수입니다. 반환값: AgentSchema를 순회하는 PaginatedIterator입니다.
예시:

방법 get_aliases

객체 버전의 별칭을 조회합니다. 인수:
  • obj_ref: 객체 버전에 대한 레퍼런스이며, ObjectRef 또는 weave /// URI string입니다. 반환값: 별칭 string의 목록. 객체 버전이 최신인 경우 가상 “latest” 별칭을 포함합니다.

방법 get_annotation_queue

ID로 단일 어노테이션 큐를 조회합니다.

방법 get_annotation_queue_stats

어노테이션 큐의 항목 완료 통계를 조회합니다.

방법 get_call

ID로 단일 Call을 조회합니다. 인수:
  • call_id: 조회할 Call의 ID입니다.
  • include_costs: true이면 summary.weave에 비용 정보가 포함됩니다.
  • include_feedback: true이면 summary.weave.feedback에 피드백 정보가 포함됩니다.
  • columns: 응답에 포함할 열의 목록입니다. None이면 모든 열이 포함됩니다. 더 적은 열을 지정하면 성능이 향상될 수 있습니다. 일부 열은 항상 포함됩니다. id, project_id, trace_id, op_name, started_at 반환값: Call 객체입니다.

방법 get_calls

이 프로젝트에서 트레이스로 기록된 Call(오퍼레이션) 목록을 검색합니다. 이 방법은 트레이스 데이터를 쿼리할 수 있는 강력하고 유연한 인터페이스를 제공합니다. 페이지 매김, 필터링, 정렬, 필드 선택, 점수화 메타데이터를 지원하며, 맞춤형 트레이스 UI나 분석 도구를 구현하는 데 사용할 수 있습니다. 성능 팁: columns를 지정하고 filter 또는 query를 사용하여 결과 크기를 줄이세요. 인수:
  • filter: op_name, parent_ids 등의 필드로 결과를 좁히는 상위 수준 필터입니다.
  • limit: 반환할 Call의 최대 개수입니다.
  • offset: 결과를 반환하기 전에 건너뛸 Call의 개수입니다(페이지 매김에 사용).
  • sort_by: 결과 정렬에 사용할 필드 목록입니다(예: started_at desc).
  • query: 고급 필터링을 위한 Mongo와 유사한 표현식입니다. 모든 Mongo Operator가 지원되는 것은 아닙니다.
  • include_costs: True이면 summary.weave에 토큰/비용 정보를 포함합니다.
  • include_feedback: True이면 summary.weave.feedback에 피드백을 포함합니다.
  • include_storage_size: True이면 Call의 저장소 크기를 포함합니다.
  • include_total_storage_size: True이면 트레이스의 총 저장소 크기를 포함합니다.
  • include_usernames: True이면 각 Call의 wb_user_id를 wb_username으로 변환하려고 시도합니다.
  • columns: Call마다 반환할 필드 목록입니다. 이를 줄이면 성능이 크게 향상될 수 있습니다. (id, trace_id, op_name, started_at 등의 일부 필드는 항상 포함됩니다.)
  • scored_by: 하나 이상의 Scorer(이름 또는 ref URI)로 필터링합니다. 여러 Scorer는 AND로 결합됩니다.
  • page_size: 페이지당 가져올 Call의 개수입니다. 대규모 쿼리의 성능을 위해 이 값을 조정하세요.
반환값:
  • CallsIter: Call 객체를 순회하는 반복자입니다. 슬라이싱, 반복, .to_pandas()를 지원합니다.
예시:

방법 get_evaluation

URI로 특정 Evaluation 객체를 조회합니다. Evaluation URI는 일반적으로 다음 형식을 따릅니다: weave:///entity/project/object/Evaluation:version 평가의 “알기 쉬운” 이름으로도 조회할 수 있습니다: get_evaluation(“Evaluation:v1”) 인수:
  • uri (str): 조회할 평가의 고유 리소스 식별자입니다.
반환값:
  • Evaluation: 제공된 URI에 해당하는 Evaluation 객체입니다.
예외:
  • TypeError: URI의 객체가 Evaluation 인스턴스가 아닌 경우 발생합니다.
  • ValueError: URI가 유효하지 않거나 객체를 찾을 수 없는 경우 발생합니다.
예시:

방법 get_evaluations

현재 프로젝트에서 모든 Evaluation 객체를 가져옵니다. 반환값:
  • list[Evaluation]: 현재 프로젝트의 모든 Evaluation 객체 목록입니다. 평가를 찾을 수 없거나 모든 변환이 실패하면 빈 목록입니다.
예시:

방법 get_feedback

프로젝트를 쿼리하여 피드백을 가져옵니다. 예시:
인수:
  • query: Mongo 스타일의 쿼리 표현식입니다. 편의를 위해 피드백 UUID string도 허용합니다.
  • reaction: 편의를 위해 특정 반응 이모지로 필터링합니다.
  • offset: 피드백 객체를 가져오기 시작할 오프셋입니다.
  • limit: 가져올 피드백 객체의 최대 개수입니다. 반환값: FeedbackQuery 객체입니다.

방법 get_tags

객체 버전의 태그를 조회합니다. 인수:
  • obj_ref: 객체 버전에 대한 레퍼런스입니다. ObjectRef 또는 weave /// URI string입니다. 반환값: 태그 string 목록입니다. 객체 버전에 태그가 없으면 빈 목록을 반환합니다.

방법 get_tags_and_aliases

단일 Call로 객체 버전의 태그와 별칭을 모두 조회합니다. 인수:
  • obj_ref: 객체 버전에 대한 레퍼런스로, ObjectRef 또는 weave /// URI string입니다. 반환값: (tags, aliases) 튜플입니다. 각각은 string 목록입니다. 객체 버전에 태그나 별칭이 없으면 빈 목록을 반환합니다.

게시된 프롬프트 버전을 레지스트리에 연결합니다. 인수:
  • prompt: 게시된 프롬프트, ObjectRef 또는 완전 수식된 weave ///… URI string입니다.
  • target_path: <registry_project>/<portfolio_name> 형식의 레지스트리 대상 경로입니다. 예를 들어 wandb-registry-prompts/my-prompt-collection입니다.
  • aliases: 생성된 레지스트리 버전에 추가할 선택 별칭입니다. 반환값:
  • LinkAssetToRegistryRes: 레지스트리 연결 엔드포인트의 파싱된 응답입니다.

방법 list_aliases

프로젝트의 모든 고유한 별칭을 나열합니다. 반환값: 프로젝트의 모든 별칭 string 목록입니다.

방법 list_annotation_queue_items

어노테이션 큐에 부여된 Call 목록을 조회합니다.

방법 list_annotation_queues

이 프로젝트의 어노테이션 큐 목록을 조회합니다.

방법 list_tags

프로젝트의 중복 없는 모든 태그 목록을 조회합니다. 반환값: 프로젝트의 모든 태그 string 목록입니다.

방법 purge_costs

현재 프로젝트에서 비용을 영구 삭제합니다. 예시:
인수:

방법 query_costs

프로젝트의 비용을 쿼리합니다.
  • ids: 영구 삭제할 비용 ID입니다. 단일 ID 또는 ID 목록을 지정할 수 있습니다. 예시:
인수:
  • query: Mongo 스타일의 쿼리 표현식입니다. 편의를 위해 비용 UUID string도 허용합니다.
  • llm_ids: 편의를 위해 llm_ids 집합으로 필터링합니다.
  • offset: 비용 객체를 가져오기 시작할 오프셋입니다.
  • limit: 가져올 비용 객체의 최대 개수입니다. 반환값: CostQuery 객체입니다.

방법 remove_aliases

객체에서 하나 이상의 별칭을 제거합니다. 인수:

방법 remove_tags

객체 버전에서 태그를 제거합니다.
  • obj_ref: 객체에 대한 레퍼런스로, ObjectRef 또는 weave /// URI string입니다(별칭은 객체 범위에 속하므로 digest는 사용되지 않습니다).
  • alias: 제거할 별칭 이름 또는 별칭 이름 목록입니다. 인수:

방법 save

직접 호출하지 말고 weave.publish()를 사용하세요.
  • obj_ref: 객체 버전에 대한 레퍼런스로, ObjectRef 또는 weave /// URI string입니다.
  • tags: 제거할 태그 string의 목록입니다. 인수:
  • val: 저장할 객체입니다.
  • name: 객체를 저장할 이름입니다.
  • branch: 객체를 저장할 브랜치입니다. 기본값은 “latest”입니다. 반환값: 저장된 객체의 역직렬화된 버전입니다.

방법 search_agents

내용으로 에이전트 메시지를 검색하고 대화별로 그룹화합니다. 메시지 내용(및/또는 아래의 구조화된 필터)을 검색하고 일치하는 대화와 해당 대화에서 일치한 메시지를 반환합니다. query가 비어 있으면 필터를 기반으로 구조화된 검색을 수행합니다. 인수:
  • query: 메시지 내용에서 일치 여부를 확인할 부분 문자열입니다. 비어 있으면 모두 일치합니다.
  • agent_name: 이 에이전트의 메시지로 제한합니다.
  • conversation_id: 단일 대화로 제한합니다.
  • trace_id: 단일 트레이스로 제한합니다.
  • limit: 검색 시 고려할 일치하는 메시지의 최대 개수입니다.
  • offset: 건너뛸 일치 항목의 개수입니다(페이지 매김용). 반환값: results(일치하는 대화)가 포함된 AgentSearchRes입니다.
예시:

방법 set_aliases

객체 버전에 하나 이상의 별칭을 설정합니다. 인수:

방법 set_wandb_run_context

이 클라이언트가 생성한 Call의 wandb run_id와 step을 재정의합니다. 이를 통해 Weave Call을 전역 wandb.run 심볼에 바인딩되지 않은 특정 WandB run과 연결할 수 있습니다.
  • obj_ref: 객체 버전에 대한 레퍼런스로, ObjectRef 또는 weave /// URI string입니다.
  • alias: 설정할 별칭 이름 또는 별칭 이름 목록입니다(예: “production”). 인수:
  • run_id: run ID입니다(entity/project 접두사 제외). 클라이언트가 entity/project 접두사를 자동으로 추가합니다.
  • step: Call에 사용할 step 숫자입니다. None이면 step이 설정되지 않습니다. 예시:

방법 update_annotation_queue

어노테이션 큐 메타데이터를 업데이트합니다.

함수 get_obj_name


함수 get_parallelism_settings


함수 map_to_refs



함수 redact_sensitive_keys


함수 sanitize_object_name

마지막 수정일 2026년 9월 30일