API 문서
기존 OpenAI 호환 코드를 우리 엔드포인트에 적용하세요. 이 가이드는 제로 구성 오버헤드로 연결, 인증, 응답 스트리밍 방법을 보여줍니다.
인증 및 Base URL
클라이언트를 올바른 기본 URL로 가리키세요. 호환성을 위해 표준 OpenAI 헤더를 수락합니다. API 키는 Bearer 토큰으로 Authorization 헤더에 포함됩니다. 시크릿을 하드코딩하지 않도록 환경 변수에서 직접 전달하세요. 이 설정은 OpenAI 프로토콜을 지원하는 모든 라이브러리에서 작동합니다.
첫 번째 요청
연결성 확인을 위해 간단한 채팅 완료를 보내세요. 텍스트 생성을 위해 모델 ID "uncensored"를 사용하세요. 이 엔드포인트는 선택지 및 사용량 메트릭이 포함된 표준 JSON을 반환합니다. 401 오류가 발생하면 키 형식을 확인하세요. 402 오류는 선불 잔액이 부족함을 나타냅니다. 이 빠른 테스트는 통합이 프로덕션 트래픽에 준비되었음을 확인합니다.
curl https://api.mistralbaseurl.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List installed python packages with versions"}]
}'
Python SDK 통합
OpenAI Python 패키지를 베이스 URL과 함께 사용하세요. API 키와 모델 이름을 명시적으로 설정하세요. role과 content 키가 있는 사전 목록으로 메시지를 전달하세요. 응답 객체에는 choices[0].message.content에 생성된 텍스트가 포함됩니다. 실행 중 네트워크 또는 속도 제한 오류를 포착하기 위해 예외를 적절히 처리하세요.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralbaseurl.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)
Node.js SDK 설정
기본 URL과 키로 OpenAI 클라이언트를 초기화하세요. 사용자 및 어시스턴트 역할의 messages 배열을 정의합니다. uncensored 모델로 chat.completions.create를 호출합니다. 응답은 첫 번째 선택지에서 생성된 텍스트를 제공합니다. 이 패턴은 Node 애플리케이션의 동기 및 비동기 호출 모두에 사용하세요.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralbaseurl.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);
스트리밍 응답
stream을 true로 설정하여 스트리밍을 활성화합니다. API는 생성되는 대로 데이터 청크를 전송합니다. 각 청크에는 버퍼에 추가할 수 있는 델타 텍스트가 포함됩니다. 이 방법은 긴 출력의 지각된 지연 시간을 줄입니다. 마지막 청크에서 토큰 사용량을 모니터링하여 청구를 정확하게 추적합니다.
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)
제한 사항 & 컨텍스트 창
계정은 100,000개의 토큰 컨텍스트 윈도우를 지원합니다. 요청당 최대 출력은 16,000 토큰입니다. 분당 300회 요청을 보낼 수 있으며, 동시에 실행되는 요청은 8개까지입니다. 본문 크기가 8MB를 초과하는 요청은 실패합니다. 재시도 로직을 설계할 때 이러한 제한을 활용하세요. 429와 같은 오류는 속도 제한 도달을 나타냅니다. 거부된 요청은 크레딧을 소모하지 않습니다.
자주 묻는 질문
이 API를 위한 mistral 기본 URL은 무엇인가요?
베이스 URL로 HTTPS://api.mistralbaseurl.com/v1을 사용하세요. 이 URL은 모든 OpenAI 호환 SDK와 함께 작동합니다. 클라이언트를 해당 URL로 설정하고 모델을 uncensored로 지정하세요.
429 속도 제한 오류를 어떻게 처리하나요?
분당 300회 요청을 초과하면 429 오류가 발생합니다. 클라이언트에서 지수 백오프(exponential backoff)를 구현하세요. retry-after 헤더에 지정된 지연 시간 후 다시 시도하세요.
uncensored 모델은 스트리밍을 지원하나요?
네, 요청에 stream을 true로 설정합니다. API는 토큰 델타가 포함된 서버 전송 이벤트를 보냅니다. 이러한 청크를 파싱하여 전체 완료 대기 없이 UI를 실시간으로 업데이트할 수 있습니다.
API 키를 지금 받으세요
가입하고, 키를 가져온 후, 베이스 URL을 업데이트하세요. 그걸로 끝입니다.