Anthropic 모델 모니터링
Anthropic은 안전성, 유용성, 그리고 신뢰할 수 있는 대화형 AI를 위해 설계된 대규모 언어 모델 제품군인 Claude를 제공합니다. 이 가이드에서는 Anthropic의 Claude 모델을 활용해 애플리케이션을 모니터링하고, OpenLLMetry 를 통해 Instana 로 텔레메트리 데이터를 전송하는 방법을 설명합니다.
전제조건
다음 전제조건이 충족되는지 확인하십시오.
- Python 3.8 또는 이후에 설치된
- Anthropic API 키 ( Anthropic 콘솔 에서 발급받으세요)
- Generative AI 가시화 기능이 활성화된 Instana 백엔드 계정
- 에이전트 모드 및 에이전트리스 모드에 대한 시작 가이드 검토
Anthropic 애플리케이션에 모니터링 기능 추가하기
필수 패키지를 설치하십시오.
pip install anthropic traceloop-sdkAnthropic의 ‘ API ’ 키를 내보내세요.
export ANTHROPIC_API_KEY="<your-anthropic-api-key>"다음 코드가 포함된 ` 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)Anthropic 애플리케이션을 실행하세요.
python3 anthropic_app.py이 애플리케이션은 클로드에게 질문을 보내고 답변을 표시합니다. OpenLLMetry 각 API 호출에 대한 추적 정보를 자동으로 수집하여 Instana 으로 전송합니다.
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
문제점 해결
트레이스가 표시되지 않거나 연결 오류가 발생하는 등 일반적인 문제의 경우, ‘문제 해결’을 참조하십시오.
인증 오류
인증 오류가 발생할 경우:
- 설정이
ANTHROPIC_API_KEY올바른지 확인하세요 - Anthropic 콘솔 에서 API 키가 유효한지 확인하세요
- API 키의 유효 기간이 만료되거나 취소되지 않았는지 확인하십시오
속도 제한 오류
속도 제한 오류가 발생할 경우:
- Anthropic 계정의 사용 한도를 확인하세요
- 여러 번 호출할 경우 요청 사이에 지연 시간을 두세요
- 한도를 높이려면 Anthropic 요금제를 업그레이드해 보세요
- 재시도에 지수적 백오프 적용
모델을 찾을 수 없다는 오류
‘모델을 찾을 수 없음’ 오류가 발생하면:
- 모델 이름이 올바른지 확인하십시오 (예:
claude-3-5-sonnet-20241022) - API 키가 지정된 모델에 대한 액세스 권한이 있는지 확인하십시오
- Anthropic 모델에 대해서는 ‘모델 개요’를 참조하십시오
다음 단계
- Instana 에서 지원하는 다른 LLM 제공업체 살펴보기
- LLM 사용에 따른 비용 산정 방법 알아보기