몇 분 안에 Uncensored LLM API 통합
기존 OpenAI SDK 클라이언트를 우리의 베이스 URL로 가리키고 API 키를 주입하여 즉시 미선적 응답을 시작하세요.
공식 OpenAI SDK 설치
프로젝트 환경에 클라이언트 라이브러리를 추가하는 것으로 시작하세요. 이는 사용자 정의 HTTP 로직 없이 표준 요청 형식 및 스트리밍 프로토콜과의 호환성을 보장합니다.
패키지는 인증 헤더와 JSON 직렬화를 자동으로 처리합니다. 워크스페이스에서 종속성이 해결되면 구성으로 진행할 수 있습니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.unlimitedllmapi.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)
기본 URL 및 API 키 구성
다음을 설정하여 트래픽을 엔드포인트로 직접 연결하세요. base_url 변수를 사용하여 고유한 API 키를 클라이언트 인스턴스에 주입하세요. 이 간단한 변경만으로 코드 구조를 수정하지 않고도 요청을 최적화된 uncensored 모델로 라우팅할 수 있습니다.
연결성 확인 호출 /v1/models 엔드포인트입니다. 이 시스템은 사용 가능한 모델 식별자를 반환하여 자격 증명이 유효하고 네트워크 경로가 열려 있음을 확인합니다.
curl https://api.unlimitedllmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list all available endpoints for user authentication"}]
}'
첫 번째 채팅 완료 요청 보내기
모델 ID를 사용하여 표준 채팅 완료 페이로드를 구성합니다. uncensored 원하는 메시지 배열을 사용합니다. API는 텍스트 입력을 처리하고 생성된 텍스트를 반환하며, 다음과 같은 파라미터를 지원합니다. temperature 및 top_p 어조 조정을 위해 사용합니다.
요청 본문이 8 MB 제한 내에 있도록 하세요. 시스템은 표준 JSON 객체를 받아 애플리케이션이 즉시 구문 분석할 수 있는 구조화된 응답을 반환합니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unlimitedllmapi.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 flag를 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)
함수 호출 및 JSON 모드 활성화
구조화된 출력을 활성화하려면 response_format 수신하여 {"type": "json_object"}. 이는 모델이 엄격하게 유효한 JSON을 반환하도록 강제하며, 이는 프론트엔드 폼이나 백엔드 서비스와의 신뢰할 수 있는 통합에 필수적입니다.
요청 본문에 도구를 정의하여 함수 호출을 활성화할 수 있습니다. 모델은 특정 함수 이름과 인수를 반환하여 코드가 사용자 의도에 따라 외부 로직을 실행할 수 있도록 합니다.
속도 제한 및 컨텍스트 윈도우 이해하기
API 키는 분당 300개의 요청과 최대 8개의 동시 요청을 지원합니다. 이러한 한계를 초과하면 시스템은 창이 초기화될 때까지 429 오류를 반환합니다.
컨텍스트 윈도우는 프롬프트와 completion을 합쳐 총 100,000개의 토큰을 허용합니다. 출력은 요청당 16,000개 토큰으로 제한되며, 지정하지 않을 경우 2,048개 토큰입니다. max_tokens오류와 거부는 크레딧을 소비하지 않습니다.
자주 묻는 질문
401 또는 402 오류의 원인은 무엇인가요?
401 오류는 유효하지 않거나 만료된 API 키를 나타냅니다. 402 오류는 현재 요청의 토큰 사용량을 감당할 만큼 선불 크레딧 잔액이 부족함을 의미합니다.
100,000 토큰 컨텍스트 창은 어떻게 작동합니까?
100,000개의 토큰 제한은 입력 프롬프트와 생성된 완성의 합산 총계에 적용됩니다. 대용량 문서를 보낼 수 있지만, 출력 요청이 요청당 최대 16,000개의 토큰을 초과하지 않도록 해야 합니다.
스트리밍을 위해 코드를 변경해야 하나요?
예, 단일 JSON 응답을 기다리는 대신 서버 전송 이벤트(SSE) 스트림을 처리해야 합니다. 대부분의 공식 SDK는 생성되는 순서대로 토큰을 순차적으로 반환하는 스트림 반복자를 제공합니다.