Uncensored Local LLM API 통합
OpenAI 호환 클라이언트를 호스팅된 엔드포인트에 연결하여 Uncensored Local LLM API를 통합하세요. 로컬 GPU 인프라 관리 없이 100k 컨텍스트 창, 스트리밍 지원 및 원본 모델 출력 결과를 얻으세요.
- 기본 URL
- https://api.uncensoredlocalllm.com/v1
- 모델
- 무검열
Base URL 및 인증
당사의 API는 OpenAI SDK와 완전히 호환됩니다. base_url만 업데이트하고 API 키를 제공하면 됩니다. API 키 받기 페이지에서 가입하여 즉시 키를 받으세요. 체험 크레딧 시작에 전화번호나 신용카드가 필요하지 않습니다. 베이스 URL은 https://api.uncensoredlocalllm.com/v1입니다. 키를 안전하게 보관하세요. 언제든지 재생성할 수 있으며, 이전 키는 즉시 무효화됩니다. 이를 통해 로컬 추론 관리의 복잡성 없이 애플리케이션에 단일 안정 엔드포인트를 제공할 수 있습니다.
첫 번째 요청
선호하는 HTTP 클라이언트를 사용하여 첫 API 호출을 수행하세요. 엔드포인트는 표준 chat-completions 형식을 지원합니다. 아래는 기본 요청을 보여주는 cURL 예제입니다. YOUR_API_KEY을 실제 키로 바꾸세요. 이 요청은 프롬프트를 보내고 텍스트 응답을 기대합니다. 모델 ID는 uncensored입니다. 이 오픈 웨이트 모델은 합법적인 성인 사용에 대한 콘텐츠 거부 없이 답변하도록 조정되어 있어 사용 사례에 직접적인 출력을 제공합니다.
curl https://api.uncensoredlocalllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
응답에는 choices 배열에 생성된 텍스트가 포함됩니다. 401 오류가 발생하면 API 키가 잘못되었거나 누락되었습니다. 올바른 베이스 URL을 사용하고 있으며 키가 재생성 후 무효화되지 않았는지 확인하세요.
Python SDK 통합
공식 OpenAI Python SDK를 사용하여 빠르게 통합하세요. 클라이언트 초기화 시 base_url 및 api_key을 설정하세요. 이 방법은 chat.completions.create()과 같은 익숙한 메서드를 사용할 수 있게 해줍니다. SDK는 JSON 직렬화 및 HTTP 요청을 자동으로 처리합니다. 이는 대량의 텍스트를 처리해야 하는 백엔드 서비스나 스크립트에 이상적입니다. SDK 버전에 관계없이 모델 ID는 uncensored로 유지됩니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredlocalllm.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에서 응답 로직을 처리해야 할 때 효율적입니다. 환경에 openai 패키지가 설치되어 있는지 확인하세요. SDK는 동기식 및 비동기식 작업을 모두 지원하여 다양한 아키텍처 요구에 부합합니다.
Node SDK 통합
JavaScript 또는 TypeScript 환경에서는 OpenAI Node SDK가 유사한 경험을 제공합니다. Base URL과 API 키로 클라이언트를 초기화하세요. 이는 웹 애플리케이션이나 서버리스 함수에 특히 유용합니다. SDK는 HTTP 세부 정보를 추상화하여 애플리케이션 로직에 집중할 수 있게 해줍니다. 다른 OpenAI 호환 서비스와 동일한 구조로 완료 엔드포인트를 호출할 수 있습니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredlocalllm.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.js 마이크로서비스에 이 통합을 사용하세요. SDK는 Promise와 async/await 패턴을 지원하여 오류 처리를 간단하게 만듭니다. 분산 시스템에서는 잠재적인 네트워크 오류를 우아하게 처리하도록 주의하세요.
스트리밍 응답
요청에 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)
클라이언트 코드에서 스트림 이벤트를 처리하세요. 각 청크는 최종 응답의 일부입니다. 이러한 청크를 집계하여 전체 메시지를 복원하세요. 이 방식은 Python 및 Node.js용 OpenAI SDK와 원활하게 작동합니다.
속도 제한, 오류 및 컨텍스트 창
API는 키당 분당 300개의 요청 제한을 적용합니다. 최대 요청 본문 크기는 8 MB입니다. 속도 제한을 초과하면 429 오류가 발생합니다. 402 오류는 선불 크레딧 부족을 나타냅니다. 대시보드를 통해 사용량을 모니터링하고 계정을 충전하세요. 크레딧은 만료되지 않으며, 암호화폐(USDT 또는 USDC)로 결제할 수 있습니다.
컨텍스트 창은 프롬프트와 완료를 모두 포함하여 100,000 토큰입니다. 이는 광범위한 대화나 대규모 문서 처리를 가능하게 합니다. 제한을 초과하면 API가 요청을 거부합니다. 모델 ID는 uncensored이며, 확장된 기능을 위한 도구/함수 호출을 지원합니다.
API 사양
크레딧을 구매하기 전에 확인할 수 있도록 API의 실제 한도와 기능을 한곳에 정리했습니다.
| 항목 | 내용 |
|---|---|
| 형식 | OpenAI 호환: 어떤 OpenAI SDK든 base URL과 키만 바꾸면 동작 |
| 모델 ID | uncensored |
| 엔드포인트 | POST /v1/chat/completions · GET /v1/models |
| 인증 | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.uncensoredlocalllm.com/v1 |
| 함수 호출 | 지원 — tools, tool_choice; 응답에 tool_calls (스트리밍 포함), 결과는 role: tool로 전송 |
| 파라미터 | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 컨텍스트 창 | 100,000 토큰 (입력 + 출력) |
| 최대 출력 | 100,000 토큰 윈도우의 남은 만큼; max_tokens는 선택 사항(별도 상한 없음) |
| JSON 모드 | response_format: {"type": "json_object"} |
| 스트리밍 | 지원 — SSE, 마지막 청크에 토큰 사용량 포함 |
| 요청 크기 | 최대 8 MB |
| 응답 헤더 | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| 동시 요청 | 키당 동시 8개 |
| 속도 제한 | 키당 분당 300회 |
| 보너스 | $50 이상 +5%, $100 이상 +10% |
| 충전 | USDT (TRC20) 또는 USDC (Base), $10~$500 사이 원하는 정수 금액 |
| 가격 | 입력 100만 토큰당 $0.25 · 출력 100만 토큰당 $1.00 |
| 무료 체험 | $0.50, 7일, 카드 불필요 · 체험 키: 동시 요청 2건, 분당 60건. 첫 충전 후 전체 한도(8건, 300건) 적용 |
| 과금 | 선불 크레딧에서 실제 사용량만큼 차감, 오류·거부는 무료 |
| 유효기간 | 유료 크레딧은 만료되지 않으며 구독 없음 |
| 로그인 | Google 또는 이메일과 비밀번호 |
| 키 | 계정당 활성 키 1개, 새 키를 만들면 이전 키는 무효 |
| 콘텐츠 | 성인 콘텐츠 허용, 미성년자가 관련된 성적 콘텐츠는 거부 |
오류 코드
오류는 고정된 type을 가진 JSON으로 반환되며, 실패하거나 거부된 요청은 과금되지 않습니다.
| 코드 | 유형 | 의미 |
|---|---|---|
400 | bad_request | 잘못된 JSON, 빈 메시지, 잘못된 파라미터 또는 컨텍스트 초과 |
401 | missing_key · invalid_key · key_revoked | 키 없음·잘못됨·새 키로 교체됨 |
402 | no_credit | 잔액 없음 — 충전하면 즉시 재개 |
403 | content_blocked | 미성년자 관련 성적 콘텐츠 — 거부, 과금 없음 |
404 | not_found | 알 수 없는 엔드포인트 |
413 | request_too_large | 본문 8 MB 초과 |
429 | rate_limited · concurrency | 분당 300회 또는 동시 8개 초과 — 잠시 후 재시도 |
503 | upstream_busy | 모델 혼잡 — 몇 초 후 재시도 |
질문과 답변
컨텍스트 창 크기는 얼마인가요?
API는 입력 프롬프트와 출력 결과물을 모두 포함하는 100,000 토큰 컨텍스트 창을 지원합니다. 이를 통해 단일 요청으로 긴 대화나 대용량 문서 처리가 가능합니다.
스트리밍 응답은 어떻게 처리하나요?
요청에 <code>stream: true</code>를 설정하여 서버 전송 이벤트(SSE)를 받으세요. Python 및 Node.js용 OpenAI SDK는 이 플래그가 활성화되면 스트리밍을 자동으로 처리합니다. 그런 다음 도착하는 각 청크를 처리할 수 있습니다.
크레딧이 부족하면 어떻게 되나요?
크레딧이 없음을 나타내는 <code>402</code> 오류가 발생합니다. 암호화폐(USDT 또는 USDC)로 최소 $10부터 계정을 충전할 수 있습니다. 크레딧은 만료되지 않으며, 대량 충전 시 보너스가 적용됩니다.