DeepSeek V4 - Anthropic 호환 인터페이스
- Anthropic Messages 프로토콜로 DeepSeek V4 모델 호출
deepseek-v4-flash/deepseek-v4-pro지원- 요청 / 응답 구조는 Anthropic API와 정렬되어 있음
- 순수 텍스트 대화 (현재 이미지 / 문서 콘텐츠 유형은 미지원)
- 시스템 프롬프트: 최상위
system필드로 전달 - 사고 모드:
thinking객체 스위치; 사고 내용은content[type=thinking]block으로 반환 - 스트리밍 출력: SSE 이벤트 스트림
- 도구 호출: Anthropic
tool_use/tool_result흐름 호환
인증
##모든 인터페이스는 Bearer Token 인증이 필요합니다## **API Key 받기**: [API Key 관리 페이지](https://starmagic.ai/app/api-keys)를 방문하여 API Key를 받으세요 **사용 시 요청 헤더에 추가**: ``` Authorization: Bearer YOUR_API_KEY ``` **참고**: Anthropic 네이티브 API는 `x-api-key` 헤더를 사용하지만, EvoLink는 `/v1/messages`에 대해 Bearer Token 인증을 일괄 채택합니다.
Authorization: Bearer YOUR_API_KEY요청 본문
application/json호출할 모델 - `deepseek-v4-flash`: 빠른 범용 - `deepseek-v4-pro`: 심층 추론 **팁**: 두 모델 **모두 기본적으로 thinking이 활성화**되어 있어 응답에 항상 `type="thinking"` content block이 포함됩니다. 끄려면 `thinking.type="disabled"`를 명시적으로 지정하세요. 지정되지 않았거나 지원되지 않는 model은 자동으로 `deepseek-v4-flash`에 매핑됩니다.
"deepseek-v4-flash"생성할 최대 token 수 (**필수**) **설명**: - V4 시리즈는 최대 **384,000**까지 가능 - thinking에서 생성된 token도 max_tokens 상한에 포함됩니다
1024대화 메시지 목록, 턴별로 user / assistant 교대 **설명**: - 최소 1개의 메시지 포함 - 마지막 메시지는 일반적으로 `role=user` - `image` / `document` 콘텐츠 유형은 현재 미지원
[
{
"role": "user",
"content": null
}
]시스템 프롬프트, AI 역할 및 동작 설정에 사용 **설명**: - 문자열 또는 문자열 배열 지원 - OpenAI 엔드포인트의 `system` 메시지와 달리, Anthropic 엔드포인트는 최상위 `system` 필드를 사용합니다
샘플링 온도 **설명**: - 범위 `[0.0, 2.0]` - 기본값 1; 값이 높을수록 발산적이고, 낮을수록 결정적
1핵 샘플링 임계값 **설명**: - 범위 `[0, 1]` - temperature와 top_p를 동시에 조정하지 않는 것을 권장합니다
1사용자 정의 중지 시퀀스 **설명**: - 모델이 어떤 문자열이든 만나면 생성을 중단 - 최대 4개 (Anthropic 규격 준수)
[
"string"
]SSE 스트리밍으로 반환할지 여부 - `true`: Server-Sent Events 스트리밍 반환 - `false`: 완전한 응답 후 한 번에 반환 (기본값)
false사고 모드 제어 (V4) **설명**: - **두 모델 모두 기본 활성화** (`type=enabled`) - 활성화하면 응답 `content` 배열에 `type="thinking"`의 추론 과정 block이 나타납니다 (출력 token으로 과금) - **주의**: 이 API는 Anthropic 네이티브 `budget_tokens` 필드를 **무시**합니다. 깊이를 제어하려면 `output_config.effort`를 사용하세요 - 다중 턴 대화에서는 이전 턴 응답의 thinking block을 그대로 assistant `content` 배열에 되돌려 놓으면 됩니다 (Anthropic 프로토콜 스타일은 더 관대하여 thinking이 없어도 오류를 일으키지 않지만, signature를 유지하면 컨텍스트 일관성에 도움이 됩니다)
{
"type": "enabled",
"budget_tokens": 0
}출력 설정 (V4 확장) **설명**: Deepseek는 `effort` 필드만 지원합니다
{
"effort": "medium"
}도구 정의 목록 **설명**: - Anthropic tool 정의 규격 준수 - `input_schema`는 JSON Schema 객체 사용
[
{
"name": "string",
"description": "string",
"input_schema": {}
}
]도구 호출 동작 제어 **가능한 type**: - `auto`: 모델이 자동 결정 (tools 제공 시 기본값) - `any`: 어떤 도구든 반드시 호출 (지정 없음) - `tool`: 지정된 `name`을 반드시 호출 - `none`: 도구 호출 금지
{
"type": "auto",
"name": "string",
"disable_parallel_tool_use": true
}응답
application/json응답 본문
메시지 고유 ID
"string"응답 객체 유형
"message""assistant"실제 사용된 모델
"deepseek-v4-pro"응답 콘텐츠 블록 목록 **포함될 수 있는 block type**: - `thinking`: 추론 과정 (thinking 활성화 시에만) - `text`: 최종 응답 텍스트 - `tool_use`: 모델이 시작한 도구 호출
[
{
"type": "text",
"text": "string",
"thinking": "string",
"signature": "string",
"id": "string",
"name": "string",
"input": {}
}
]중지 원인 - `end_turn`: 자연 종료 - `max_tokens`: max_tokens 상한 도달 - `stop_sequence`: stop_sequences 히트 - `tool_use`: 모델이 도구 호출 트리거
"end_turn"stop_reason=`stop_sequence`일 때 히트한 구체적인 시퀀스, 그렇지 않으면 null
Token 사용 통계 (Anthropic 규격)
{
"input_tokens": 10,
"output_tokens": 30,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"service_tier": "standard"
}
