필수 조건: SDK 및 환경
선호하는 OpenAI 호환 SDK를 설치하세요. 유효한 API 키와 당사 서비스의 기본 URL만 있으면 됩니다.
키를 환경 변수에 내보내어 스크립트가 안전하게 접근할 수 있도록 하세요. Google 또는 이메일을 통해 새 계정을 생성하면 즉시 키를 받을 수 있습니다. 이 단계에는 전화번호 인증이 필요하지 않습니다.
표준 HTTP 라이브러리가 지원되는지 확인하세요. API는 모든 요청에 표준 JSON 페이로드를 기대합니다. 벤더별 드라이버를 설치할 필요가 없습니다.
Base URL 설정
무장비 추론을 위한 전용 엔드포인트로 SDK 클라이언트를 설정하세요. 기본 URL은 구성에서 표준 OpenAI 엔드포인트를 대체합니다.
베이스 URL로 HTTPS://api.apikeymistral.com/v1을 사용하세요. 이렇게 하면 모든 요청이 고처리량 서버로 라우팅됩니다. SDK가 /chat/completions을 기본값으로 사용하는 경우 엔드포인트 경로를 변경할 필요가 없습니다.
API 키를 메모리나 안전한 저장소에 보관하세요. 이 키는 이 URL로 보내는 모든 요청을 인증합니다.
첫 번째 POST 요청 수행하기
텍스트 출력을 받으려면 표준 채팅 완료 요청을 보내세요. 조정된 모델에 액세스하려면 모델 ID "uncensored"를 사용하세요.
Specify the temperature and other parameters to control creativity. The endpoint accepts standard JSON bodies with messages array.
연결성을 테스트하기 위한 기본 curl 명령어입니다:
curl https://api.apikeymistral.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "return json object with keys name age"}]
}'응답에 생성된 텍스트가 포함되어 있는지 확인하세요. 성공의 경우 상태 코드가 200인지 확인하세요.
Python SDK 통합
Python 클라이언트를 베이스 URL로 설정하세요. API 키와 커스텀 엔드포인트로 클라이언트를 초기화하세요.
프롬프트와 함께 chat.completions.create 메서드를 호출하세요. 응답 객체에는 choices[0].message.content에 생성된 텍스트가 포함되어 있습니다.
과도 사용 제한 또는 유효하지 않은 키와 같은 잠재적 오류를 우아하게 처리하세요. 비용 추적을 위해 토큰 사용량을 로깅하세요.
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeymistral.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)이 방식은 모든 OpenAI 호환 라이브러리와 함께 작동합니다. 기존 코드를 최소한의 변경으로 재사용할 수 있습니다.
Node SDK 통합
커스텀 베이스 URL을 사용하여 Node.js 클라이언트를 초기화합니다. 구성 객체에 API 키를 전달하세요.
원하는 매개변수와 함께 chat.completions.create 함수를 호출합니다. 응답은 표준 OpenAI 형식을 따릅니다.
필요에 따라 스트림 또는 최종 응답을 처리합니다. 오류 처리는 네트워크 문제나 인증 실패를 포착해야 합니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apikeymistral.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);이 설정을 통해 Node 애플리케이션에 uncensored 추론을 빠르게 통합할 수 있습니다.
ストリーミングレスポンスの処理
요청에 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 토큰입니다. 2,048 기본값에 도달하지 않도록 max_tokens을 명시적으로 설정하세요.
속도 제한은 키당 분당 300회 요청을 허용합니다. 동시에 8개의 동시 요청을 보낼 수 있습니다.
키 유효성을 확인하여 401 오류를 처리합니다. 402 오류는 크레딧 부족을 나타냅니다. 429 오류는 속도 제한에 도달했음을 의미합니다.
본문 크기 제한인 8MB를 초과하는 요청은 실패합니다. 페이로드를 적절히 계획하세요.