Anthropic SDK
Anthropic 공식 Python 또는 TypeScript SDK로 AGTCloud Messages 호환 인터페이스를 호출합니다.
Anthropic 공식 SDK는 사용자 정의 Base URL로 AGTCloud의 Anthropic Messages 호환 진입점을 호출할 수 있습니다. 이 튜토리얼은 Python과 TypeScript의 설치, 비스트리밍 요청 및 스트리밍 출력 예시를 제공합니다.
이 페이지는 Messages 호출만 다룹니다. 배치 처리, 파일, 관리 인터페이스 및 기타 Anthropic 플랫폼 리소스의 사용 가능 여부는 AGTCloud API Reference를 기준으로 합니다.
준비 사항
시작하기 전에 다음 사항을 확인합니다.
- API Keys 페이지에서 AGTCloud API Key를 생성합니다.
- 모델 목록에서 Anthropic Messages를 지원하는 전체 모델 ID를 복사합니다.
- Python
3.9+또는 Node.js20+서버 실행 환경을 준비합니다.
이 페이지는 MODEL_ID와 your-api-key를 자리표시자로 사용합니다. 실제 API Key를 브라우저 프런트엔드, 모바일 설치 패키지 또는 공개 저장소에 저장하지 않습니다.
SDK 설치
python -m pip install anthropic현재 안정 버전을 설치하고 프로젝트의 의존성 잠금 파일로 실제 사용 버전을 고정하는 것이 좋습니다.
API Key 설정
API Key를 서버 환경 변수에 저장합니다.
export AGTCLOUD_API_KEY="your-api-key"예시 코드는 AGTCLOUD_API_KEY에서 자격 증명을 읽고 Anthropic SDK에 명시적으로 전달합니다. SDK가 x-api-key Header로 자격 증명을 보내고 Messages 요청에 필요한 anthropic-version Header를 자동으로 추가합니다.
클라이언트 생성 및 요청 전송
Base URL은 이 페이지에 표시된 API Origin을 사용하고 /v1 또는 /v1/messages를 추가하지 않습니다. SDK가 해당 주소 뒤에 Messages 경로를 추가합니다.
import os
from anthropic import Anthropic
api_key = os.environ["AGTCLOUD_API_KEY"]
client = Anthropic(
api_key=api_key,
base_url="https://api.agtcloud.cn",
)
message = client.messages.create(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "세 문장으로 자신을 소개해 주세요.",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)Anthropic Messages의 content는 콘텐츠 블록 배열입니다. 텍스트를 읽을 때 블록 유형을 확인하고 응답에 항상 텍스트 블록 하나만 있다고 가정하지 않습니다. 도구 호출, 이미지 및 기타 콘텐츠 유형은 다른 블록 구조를 사용합니다.
스트리밍 출력
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["AGTCLOUD_API_KEY"],
base_url="https://api.agtcloud.cn",
)
with client.messages.stream(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "벡터 검색이 무엇인지 간단히 설명해 주세요.",
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)스트리밍 Messages는 SSE 이벤트로 반환됩니다. 운영 환경에서는 연결 중단, 타임아웃, 요청 제한 및 스트림이 끝나기 전에 전체 내용을 받지 못하는 상황도 처리해야 합니다.
자주 묻는 질문
| 증상 | 확인 항목 |
|---|---|
401 또는 403 | AGTCLOUD_API_KEY가 로드되었고 불필요한 공백이 없으며 자격 증명이 여전히 유효한지 확인합니다 |
404 또는 비정상 경로 | base_url / baseURL에는 https://api.agtcloud.cn만 입력하고 /v1 또는 전체 엔드포인트를 추가하지 않습니다 |
| 모델 사용 불가 | MODEL_ID를 현재 API Key에 표시되며 Anthropic Messages를 지원하는 모델 ID로 교체합니다 |
| 요청 필드 미지원 | 대상 모델 기능을 확인하고 Anthropic Messages Reference의 필드 정의를 참고합니다 |
| TypeScript가 브라우저 실행 거부 | Anthropic SDK는 기본적으로 서버 환경용이며 제한을 우회하기 위해 API Key를 브라우저에 노출하지 않습니다 |
| 스트리밍 내용이 비어 있음 | 이벤트 유형을 확인하고 코드가 text_delta 또는 SDK의 텍스트 스트림 보조 인터페이스를 읽는지 확인합니다 |
이 튜토리얼은 x-api-key를 사용합니다
AGTCloud API Key를 SDK의 api_key / apiKey 매개변수에 전달하고 SDK가 Messages 프로토콜에 따라 x-api-key를 보내도록 합니다. 같은 호출에 다른 인증 Header를 직접 추가하지 않습니다.
다음 단계
- Anthropic Messages API Reference에서 Content Blocks, 도구 호출, 확장된 사고 및 전체 응답 필드를 확인합니다.
- 기존 공식 SDK 프로젝트는 공식 SDK 마이그레이션을 참고하여 설정을 개별 교체하고 회귀 테스트를 수행할 수 있습니다.
- 요청에 실패하면 인증 및 API Key와 오류 및 문제 해결을 참고합니다.