본문으로 건너뛰기

Anthropic SDK

base_url 만 바꾸면 돼요.

python
import anthropic

client = anthropic.Anthropic(
    api_key="sk-so-...",
    base_url="https://oneport.kr",
)

message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "안녕하세요"}],
)
print(next(b.text for b in message.content if b.type == "text"))

스트리밍#

받는 대로 흘려받기
with client.messages.stream(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "분수 단원 수업 계획을 써줘"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

안 될 때#

  • 404 가 난다 — base_url 끝에 /v1 을 붙이셨을 거예요. SDK 가 /v1/messages 를 스스로 붙여서 두 번 붙어요. oneport.kr 까지만 적어주세요.
  • 400 이 난다 — max_tokens 를 안 보내셨을 수 있어요. Anthropic 은 이 값이 필수이고, 이 문은 번역이 없어서 저희가 채워드리지 않아요. /v1/chat/completions 쪽은 8,192 로 채워드려요.
  • temperature 로 400 이 난다 — Claude 5 세대가 이 값을 거절해요. 빼시거나, 저희가 알아서 빼주는 /v1/chat/completions 로 부르시면 돼요.
  • GPT·Gemini 를 넣었더니 400 이 난다 — 이 문은 Claude 만 받아요. 여러 벤더를 섞으시려면 /v1/chat/completions 쪽이 편해요.

원래대로 되돌리기#

base_url 한 줄을 지우시면 Anthropic 직접 연결로 돌아가요. 코드에 남는 우리 흔적이 그 줄 하나뿐이에요.

이 문서를 AI 에게 넘기시려면 마크다운 원문을 쓰세요 — 주소 끝에 .md 를 붙이면 나와요.