이번 주에 API 호출 코드를 만지다 보면, “DeepSeek도 OpenAI SDK로 붙일 수 있나?”가 먼저 걸린다. 특히 스트리밍/논스트리밍 분기와 모델명 매핑이 얽히면, 배포 직전까지도 호출 포맷이 흔들린다.

DeepSeek v4가 쓰는 호출 포맷과 폐기 일정

DeepSeek API는 OpenAI/Anthropic과 호환되는 API 포맷을 사용한다. 설정을 바꾸면 OpenAI/Anthropic SDK나 OpenAI/Anthropic API와 호환되는 소프트웨어로 DeepSeek API에 접근할 수 있다.

또한 모델 이름 deepseek-chat과 deepseek-reasoner는 2026/07/24에 폐기된다. 이때 deepseek-chat은 deepseek-v4-flash의 non-thinking mode에, deepseek-reasoner는 thinking mode에 각각 대응한다.

예전 코드에서 바뀌는 지점: 모델명과 호출 모드 매핑

예전에는 deepseek-chat(비생각 모드)과 deepseek-reasoner(생각 모드)를 모델명으로 직접 호출하는 방식이 자연스러웠다. 이제는 2026/07/24 이후를 대비해 deepseek-v4-flash의 non-thinking mode와 thinking mode로의 매핑을 코드 레벨에서 고정해야 한다.

또한 DeepSeek은 OpenAI API 포맷 예제 스크립트를 제공하며, 예제는 논스트림(non-stream) 호출 예시다. 다만 stream 파라미터를 true로 바꾸면 스트림 응답을 받을 수 있다고 안내된다. 즉, “호환 포맷”만 맞추는 것으로 끝나지 않고, stream 플래그가 실제 응답 처리(이벤트 누적, 타임아웃, 파서)에 어떤 영향을 주는지도 같이 점검해야 한다.

개발자가 바로 체감하는 변화는 “호출 포맷 유지 + 모델명 교체”다

개발자가 바로 체감하는 변화는 두 가지로 좁혀진다. 첫째, OpenAI/Anthropic 형식 호환 덕분에 기존 SDK 연결 구조를 유지한 채 DeepSeek으로 전환할 수 있다. 둘째, deepseek-chat과 deepseek-reasoner가 2026/07/24에 폐기되므로, 모델명 매핑을 deepseek-v4-flash의 thinking/non-thinking 모드로 옮기지 않으면 이후 호출이 깨질 수 있다.

이 업데이트는 “SDK 호환”과 “모델명 폐기”가 동시에 들어오는 케이스라, 6개월 뒤에는 호출 래퍼와 모델 라우팅 테이블을 먼저 정리하는 팀이 유리해진다.