OpenAI 호환 API 빠른 시작
기존 OpenAI 호환 코드를 무검열 LLM API에 로직 수정 없이 적용하세요. 이 가이드는 표준 모델 엔드포인트의 직접적이고 필터 없는 대체 솔루션이 필요한 개발자를 위한 필수 설정 단계를 다룹니다.
필수 조건 및 환경 설정
API 키와 올바른 베이스 URL이 필요합니다. Get API key 페이지에서 Google 또는 이메일로 가입하여 자격 증명을 즉시 받으세요. 체험 기간 동안 $0.50의 크레딧이 제공되며, 암호화폐를 통해 USDT 또는 USDC로 충전할 수 있습니다. 키를 안전하게 보관하고 계정 설정과 일치하는지 확인하세요.
표준 HTTP 요청이 지원되는지 확인하세요. 당사 서비스는 단일 uncensored 모델을 기반으로 하므로 여러 모델 엔드포인트를 관리할 필요가 없습니다. 호출 전 base URL을 HTTPS://api.openaiapicompatibility.com/v1로 설정하세요. 이렇게 하면 모든 요청이 조정된 추론 서버로 올바르게 라우팅됩니다.
공식 OpenAI SDK 설치
기존 OpenAI 워크플로우와의 호환성을 유지하려면 공식 SDK를 사용하세요. Python 및 Node 라이브러리는 표준 API 스키마를 따르기 때문에 우리 엔드포인트에서 직접 작동합니다. 선호하는 패키지 관리자를 사용하여 프로젝트 디렉토리에 패키지를 설치하세요. 이 방법은 사용자 정의 HTTP 클라이언트 코드가 필요하지 않습니다.
temperature, top_p, stop 시퀀스와 같은 표준 매개변수를 지원합니다. SDK는 JSON 직렬화 및 요청 헤더를 자동으로 처리합니다. 클라이언트 구성에서 기본 URL을 변경하여 우리 서버를 가리킬 수 있습니다. 이를 통해 애플리케이션 로직을 변경하지 않고도 제공업체 간에 전환할 수 있습니다.
베이스 URL 및 API 키 구성
클라이언트 구성 객체에 기본 URL과 API 키를 설정하세요. 기본 URL은 HTTPS://api.openaiapicompatibility.com/v1입니다. API 키는 Bearer 토큰으로 Authorization 헤더에 전달하세요. 이 구성은 요청이 인증되고 올바른 서비스로 라우팅되도록 보장합니다.
curl https://api.openaiapicompatibility.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list all python packages for data science"}]
}'GET /v1/models 엔드포인트를 호출하여 연결을 검증하세요. 이 엔드포인트는 uncensored 모델 ID를 포함한 사용 가능한 모델 목록을 반환합니다. 복잡한 프롬프트를 전송하기 전에 이 단계를 통해 네트워크 접근 권한과 자격 증명이 올바른지 확인하세요.
첫 번째 채팅 완료 요청하기
프롬프트 메시지를 사용하여 /v1/chat/completions으로 POST 요청을 보내세요. 필터링되지 않은 추론 엔진에 액세스하려면 모델을 uncensored로 정의하세요. 동작을 설정하기 위해 시스템 프롬프트를 포함하고, 생성할 콘텐츠에 대한 사용자 메시지를 추가하세요.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapicompatibility.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)응답에는 생성된 텍스트와 토큰 사용 통계가 포함됩니다. 온도와 같은 매개변수를 조정하여 창의성을 제어할 수 있습니다. 이 모델은 합법적인 성인 주제나 논쟁적인 주제를 거부하지 않으므로 다양한 사용 사례에 적합합니다. 출력에 액세스하려면 응답 객체의 content 필드를 확인하십시오.
SSE를 사용한 스트리밍 응답
요청에서 stream 파라미터를 true로 설정하여 스트리밍을 활성화하세요. 이는 생성되는 대로 부분 응답을 서버 전송 이벤트(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)각 청크는 응답의 델타를 포함합니다. 이 델타를 누적하여 전체 텍스트를 복원합니다. 마지막 청크에는 요청의 전체 토큰 사용량이 포함됩니다. 이 방법은 표준 SSE 클라이언트 또는 라이브러리 모두에서 작동합니다. 긴 형식 콘텐츠 생성 시 지각된 지연 시간을 줄입니다.
JSON 모드 및 함수 호출 처리
response_format을 json_object로 설정하여 JSON 모드를 사용하세요. 이는 모델이 자유 텍스트 대신 유효한 JSON을 출력하도록 강제합니다. 구조화된 데이터 추출이나 API 응답에 유용합니다. 도구 사용 시나리오의 경우 함수 호출과 함께 사용하세요.
tools 배열에 도구를 정의하세요. 함수 이름, 설명 및 매개변수를 지정하세요. 모델은 응답에서 함수 호출 세부 정보를 반환합니다. 그런 다음 함수를 실행하고 결과를 모델에 다시 보낼 수 있습니다. 이는 uncensored 모델과 함께 복잡한 다단계 워크플로우를 가능하게 합니다.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapicompatibility.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);자주 묻는 질문
이 API는 기존 클라이언트를 위한 OpenAI API 호환성을 지원하나요?
네, 저희 서비스는 OpenAI API 스키마와 완전히 호환됩니다. 기본 URL과 API 키만 변경하면 공식 OpenAI SDK를 사용할 수 있습니다. 이를 통해 코드 수정 없이 저희의 uncensored 모델을 교체할 수 있습니다.
토큰 제한 및 컨텍스트 윈도우 크기는 무엇입니까?
프롬프트와 completion을 합친 컨텍스트 윈도우는 100,000 토큰입니다. 요청당 최대 출력은 16,000 토큰이며, max_tokens을 설정하지 않은 경우 2,048 토큰입니다. 이 한도를 초과하는 요청은 오류를 반환합니다.
속도 제한 및 오류를 어떻게 처리하나요?
키당 분당 300회 요청 및 8개의 동시 요청으로 제한됩니다. 401 오류는 유효하지 않거나 누락된 API 키를 나타냅니다. 402 오류는 크레딧이 부족함을 의미하며, 429 오류는 속도 제한을 초과했음을 나타냅니다.
가입을 통해 키를 받으세요
가입, 키 복사, 기본 URL 업데이트. 이것뿐입니다.