인증 및 Base URL 설정
API 키는 서버로의 모든 요청을 인증합니다. Google 또는 이메일 주소로 회원가입하고 대시보드에서 키를 복사하세요. 환경 변수에 다음처럼 붙여넣으세요. DEEPSEEK_API_KEY 클라이언트를 https://api.keyapideepseek.com/v1이 기본 URL은 모든 표준 OpenAI 호환 라이브러리와 함께 작동합니다.
curl https://api.keyapideepseek.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check the system health and confirm uptime status"}]
}'사용 가능한 모델을 나열하여 설정을 확인할 수 있습니다. 응답은 키가 유효하고 활성 상태임을 확인합니다. 이 단계는 프롬프트를 보내기 전에 통합이 올바른 필터링 없는 엔드포인트를 가리키고 있는지 보장합니다.
채팅 완료 엔드포인트
The POST /v1/chat/completions 엔드포인트는 프롬프트를 받아 모델 응답을 반환합니다. 메시지, 시스템 지시문, 온도 같은 매개변수를 포함하는 JSON 본문을 전송합니다. 모델 ID는 항상 uncensored. 이 단일 모델은 라우팅 복잡성 없이 모든 텍스트 생성 필요를 처리합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.keyapideepseek.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Python SDK는 HTTP 요청을 자동으로 처리합니다. 키와 베이스 URL을 클라이언트 생성자에 전달합니다. 나머지 코드는 표준 OpenAI 패턴을 따릅니다. 이를 통해 나중에 벤더를 변경하더라도 전체 애플리케이션 로직을 다시 작성하지 않고도 전환할 수 있습니다.
스트리밍 응답 및 토큰 사용량
stream을 true로 설정하여 스트리밍 활성화 stream: true 요청에 포함됩니다. API는 청크의 서버 전송 이벤트(SSE) 스트림을 반환합니다. 각 청크에는 부분 텍스트와 사용량 통계가 포함됩니다. 마지막 청크에는 요청의 총 토큰 수가 포함됩니다.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)스트리밍은 사용자에게 지각된 지연 시간을 줄여줍니다. 도착하는 토큰을 즉시 표시할 수 있습니다. 이는 장문 생성이나 대화형 채팅 인터페이스에 중요합니다. 마지막 청크의 토큰 사용량을 모니터링하여 선불 크레딧 소비를 정확하게 추적하세요.
JSON 모드 및 함수 호출
response_format을 설정하여 구조화된 출력을 강제하세요. response_format 수신하여 {"type": "json_object"}. 모델은 자유 형식 텍스트 대신 유효한 JSON을 반환합니다. 이는 API 통합이나 데이터 추출 작업에 이상적입니다. 도구 사용을 위해 프롬프트에 함수 정의도 정의할 수 있습니다.
이 모델은 지원함 tool_choice 매개변수입니다. 특정 함수를 강제하거나 모델이 결정하도록 할 수 있습니다. 이 유연성은 복잡한 에이전트 구축을 가능하게 합니다. 클라이언트 코드에서 구문 분석 오류를 피하기 위해 함수 스키마가 엄격하게 타입 지정되어 있는지 확인하세요.
속도 제한 및 동시성
각 API 키는 분당 300회 요청으로 제한됩니다. 동시에 최대 8개의 요청을 처리할 수 있습니다. 최대 요청 본문 크기는 8MB입니다. 이러한 제한은 남용을 방지하고 모든 사용자에게 안정적인 성능을 보장합니다. 이러한 제한을 초과하면 429 오류가 반환됩니다.
클라이언트 코드에서 지수 백오프를 구현하세요. 짧은 지연 시간 후 실패한 요청을 재시도하세요. 이는 일시적인 네트워크 문제를 적절히 처리합니다. 선불 크레딧은 속도 제한으로 인한 재시도가 아닌 성공적인 완료에만 청구됩니다.
오류 처리 및 거부
401 오류는 키가 유효하지 않거나 만료되었음을 의미합니다. 402 오류는 미결제 크레딧이 부족함을 나타냅니다. 429 오류는 속도 제한에 도달했음을 신호합니다. 모델은 미성년자가 포함된 성적인 콘텐츠에 대한 요청을 거부합니다. 그 외의 합법적인 성인 콘텐츠는 허용됩니다.
자세한 메시지가 포함된 오류 응답 본문을 확인하세요. 통합 문제 디버깅을 위해 이러한 오류를 로그에 기록하세요. 실패한 요청에는 크레딧이 소모되지 않습니다. 이러한 투명한 청구 모델은 숨겨진 요금 없이 비용을 정확하게 예측하는 데 도움이 됩니다.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.keyapideepseek.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);