Anthropic 모델 모니터링

Anthropic은 안전성, 유용성, 그리고 신뢰할 수 있는 대화형 AI를 위해 설계된 대규모 언어 모델 제품군인 Claude를 제공합니다. 이 가이드에서는 Anthropic의 Claude 모델을 활용해 애플리케이션을 모니터링하고, OpenLLMetry 를 통해 Instana 로 텔레메트리 데이터를 전송하는 방법을 설명합니다.

전제조건

다음 전제조건이 충족되는지 확인하십시오.

  • Python 3.8 또는 이후에 설치된
  • Anthropic API 키 ( Anthropic 콘솔 에서 발급받으세요)
  • Generative AI 가시화 기능이 활성화된 Instana 백엔드 계정
  • 에이전트 모드 및 에이전트리스 모드에 대한 시작 가이드 검토

Anthropic 애플리케이션에 모니터링 기능 추가하기

  1. 필수 패키지를 설치하십시오.

    pip install anthropic traceloop-sdk
  2. Anthropic의 ‘ API ’ 키를 내보내세요.

    export ANTHROPIC_API_KEY="<your-anthropic-api-key>"
  3. 다음 코드가 포함된 ` Python ` 파일을 생성합니다.

    import os
    import anthropic
    from traceloop.sdk import Traceloop
    from traceloop.sdk.decorators import workflow
    
    # Initialize the Anthropic client
    client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
    
    # Initialize OpenLLMetry
    Traceloop.init(app_name="anthropic_chat_service", disable_batch=True)
    
    @workflow(name="claude_conversation")
    def ask_claude(question: str):
        """Send a question to Claude and get a response."""
    
        response = client.messages.create(
            model="claude-3-5-sonnet-20241022",
            max_tokens=1024,
            messages=[
                {
                    "role": "user",
                    "content": question
                }
            ]
        )
    
        return response.content[0].text
    
    # Example usage
    if __name__ == "__main__":
        questions = [
            "What is AIOps and how does it help with IT operations?",
            "Explain the benefits of observability in modern applications."
        ]
    
        for question in questions:
            print(f"\nQuestion: {question}")
            answer = ask_claude(question)
            print(f"Answer: {answer}\n")
            print("-" * 80)
  4. Anthropic 애플리케이션을 실행하세요.

    python3 anthropic_app.py

    이 애플리케이션은 클로드에게 질문을 보내고 답변을 표시합니다. OpenLLMetry 각 API 호출에 대한 추적 정보를 자동으로 수집하여 Instana 으로 전송합니다.

  5. Instana 에서 데이터를 확인하세요.

    애플리케이션을 실행하면 Instana 의 Gen AI 가시성 대시보드에 다음 항목들이 표시됩니다:

    • 사용된 모델 ( claude-3-5-sonnet-20241022 )
    • 토큰 사용 (입력 및 출력 토큰)
    • 응답 대기 시간
    • 요청 및 응답 내용

스트리밍 응답 사용

실시간 응답 스트리밍을 위해서는 다음 스트리밍 API 를 사용하십시오:

@workflow(name="claude_streaming")
def ask_claude_streaming(question: str):
    """Stream responses from Claude in real-time."""

    with client.messages.stream(
        model="claude-3-5-sonnet-20241022",
        max_tokens=1024,
        messages=[{"role": "user", "content": question}]
    ) as stream:
        for text in stream.text_stream:
            print(text, end="", flush=True)

    print()  # New line after streaming completes

문제점 해결

트레이스가 표시되지 않거나 연결 오류가 발생하는 등 일반적인 문제의 경우, ‘문제 해결’을 참조하십시오.

인증 오류

인증 오류가 발생할 경우:

  1. 설정이 ANTHROPIC_API_KEY 올바른지 확인하세요
  2. Anthropic 콘솔 에서 API 키가 유효한지 확인하세요
  3. API 키의 유효 기간이 만료되거나 취소되지 않았는지 확인하십시오

속도 제한 오류

속도 제한 오류가 발생할 경우:

  1. Anthropic 계정의 사용 한도를 확인하세요
  2. 여러 번 호출할 경우 요청 사이에 지연 시간을 두세요
  3. 한도를 높이려면 Anthropic 요금제를 업그레이드해 보세요
  4. 재시도에 지수적 백오프 적용

모델을 찾을 수 없다는 오류

‘모델을 찾을 수 없음’ 오류가 발생하면:

  1. 모델 이름이 올바른지 확인하십시오 (예: claude-3-5-sonnet-20241022)
  2. API 키가 지정된 모델에 대한 액세스 권한이 있는지 확인하십시오
  3. Anthropic 모델에 대해서는 ‘모델 개요’를 참조하십시오

다음 단계