인증 및 Base URL 설정
API 키는 채팅 완료 엔드포인트에 즉시 접근할 수 있는 권한을 부여합니다. 대시보드에서 Google 또는 이메일을 통해 키를 생성하고 환경 변수에 붙여넣으세요. 기본 URL은 https://api.cheapaiapikeys.com/v1 표준 OpenAI SDK 클라이언트와 함께 작동합니다.
- 設定
OPENAI_API_KEY생성된 문자열에 추가하십시오. - 재정의
base_url호스팅 서버를 가리키세요. - 연결성 확인 호출
GET /v1/models사용 가능한 모델을 나열합니다.
curl https://api.cheapaiapikeys.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List three common regex patterns for validating email addresses"}]
}'
첫 번째 채팅 완료 요청 보내기
표준 채팅 완료 구조를 사용하여 텍스트 입력을 보내고 생성된 텍스트를 받으세요. 단일 uncensored 모델은 합법적인 성인 또는 논쟁적인 주제에 대한 거부가 없이 요청을 처리합니다. , 와 같은 매개변수를 조정할 수 있습니다. temperature 및 top_p 무작위성을 제어합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.cheapaiapikeys.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)
스트리밍 활성화 및 SSE 이벤트 처리
다음 설정하여 실시간 토큰 전달 활성화 stream: true 요청에 포함됩니다. 서버는 점진적으로 파싱해야 하는 서버 전송 이벤트(SSE)를 반환합니다. 토큰 사용량 세부 정보는 스트림의 마지막 청크에 나타납니다. 이 접근 방식은 긴 응답의 지각된 지연 시간을 줄여줍니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.cheapaiapikeys.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);
함수 호출 및 JSON 모드 사용
구조화된 출력 또는 외부 함수 실행을 활성화하기 위해 요청 페이로드에 도구를 정의하세요. 다음을 사용하세요. response_format: {type: "json_object"} 엄격한 JSON 준수를 강제합니다. 모델은 tool_choice 어떤 함수를 호출할지 정밀하게 제어하기 위해. 이는 애플리케이션 로직을 위한 신뢰할 수 있는 파싱을 보장합니다.
토큰 제한 및 가격 책정 이해하기
가격은 투명하며 입력 토큰 100만 토큰당 $0.15, 출력 토큰 100만 토큰당 $0.50입니다. 오류와 거부 요청은 크레딧을 소모하지 않습니다. 컨텍스트 윈도우는 총 100,000 토큰을 지원합니다. 제한을 초과하는 요청은 429 상태 코드(rate limit) 오류를 반환합니다. 바디 오류를 피하려면 페이로드가 8 MB 미만인지 확인하십시오.
오류 및 예외 케이스 처리
자주 발생하는 오류에는 키가 잘못되어 401, 크레딧 부족으로 402가 포함됩니다. 429 상태는 분당 300개 요청을 초과했음을 나타냅니다. 속도 제한 후 재시도 시 지수 백오프를 사용하십시오. 확인하십시오. error JSON 응답의 object에서 특정 세부 정보를 확인하세요. 환불은 제공되지 않으므로 사용량을 주의 깊게 모니터링하세요.
스트리밍
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)