Weights & Biases Weave
Weights & Biases Weave
Weights & Biases Weave로 Haystack 파이프라인을 트레이싱하는 방법을 알아봐요. Haystack 트레이싱 도구가 수집한 정보(API 호출, 컨텍스트 데이터, 프롬프트 등)를 Weights & Biases로 보내서 파이프라인 실행의 전체 트레이스를 볼 수 있어요.
출처: 문서
본문
- 트레이서 클래스:
WeaveTracer - 활성화 방법:
tracing.enable_tracing(WeaveTracer(project_name="..."))로 트레이서를 활성화하거나,WeaveConnector컴포넌트를 파이프라인에 추가 - 콘텐츠 트레이싱: 필요.
HAYSTACK_CONTENT_TRACING_ENABLED를true로 설정 - 패키지:
weave-haystack - API 참조: Weave
개요 (Overview)
Weights & Biases에서 파이프라인 실행을 트레이싱하고 시각화해요. Haystack 트레이싱 도구가 수집한 정보 — API 호출, 컨텍스트 데이터, 프롬프트 같은 — 가 Weights & Biases로 보내져, 파이프라인 실행의 전체 트레이스를 볼 수 있어요.
설치 (Installation)
weave-haystack 패키지를 설치하세요:
pip install weave-haystack
사전 조건 (Prerequisites)
Weave 계정이 필요해요. Weights & Biases 웹사이트에서 무료로 가입할 수 있어요.
WANDB_API_KEY환경 변수에 Weights & Biases API 키를 설정하세요. 로그인 후 홈 페이지에서 API 키를 찾을 수 있어요.HAYSTACK_CONTENT_TRACING_ENABLED환경 변수를true로 설정하세요.
사용법 (Usage)
컴포넌트를 추가하지 않고도 WeaveTracer 를 직접 활성화해 모든 Haystack 파이프라인을 트레이싱할 수 있어요. project_name 은 Weave 프로젝트에 표시될 이름이에요.
import os
os.environ["HAYSTACK_CONTENT_TRACING_ENABLED"] = "true"
from haystack import Pipeline, tracing
from haystack.components.builders import ChatPromptBuilder
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage
from haystack_integrations.tracing.weave import WeaveTracer
# Enable the Weave tracer
tracing.enable_tracing(WeaveTracer(project_name="test_pipeline"))
pipe = Pipeline()
pipe.add_component("prompt_builder", ChatPromptBuilder())
pipe.add_component("llm", OpenAIChatGenerator())
pipe.connect("prompt_builder.prompt", "llm.messages")
messages = [
ChatMessage.from_system(
"Always respond in German even if some input data is in other languages.",
),
ChatMessage.from_user("Tell me about {{location}}"),
]
response = pipe.run(
data={
"prompt_builder": {
"template_variables": {"location": "Berlin"},
"template": messages,
},
},
)
print(response["llm"]["replies"][0])
그 후 https://wandb.ai//projects 에서 지정한 프로젝트 이름 아래에 파이프라인의 전체 트레이스를 볼 수 있어요.
대안: WeaveConnector 컴포넌트
트레이싱을 파이프라인 정의의 일부로 관리하고 싶다면, 대신 WeaveConnector 컴포넌트를 추가할 수 있어요. 실행되는 즉시 같은 Weave 트레이싱을 활성화해요.
참고: 전체 사용 예시는
WeaveConnector문서 페이지를 참고하세요.
더 알아보기 (Learn more)
- WeaveConnector — 파이프라인에 트레이싱을 넣는 컴포넌트
- Weave API 참조
- GitHub 저장소