Base URL 및 인증
당사의 API는 표준 OpenAI chat-completions 인터페이스를 따릅니다. 통합하려면 클라이언트 구성을 our specific base URL과 유효한 codex api 키로 업데이트하세요. 이 키는 대시보드에서 가입하는 동안 생성됩니다. 엔드포인트는 표준 및 스트리밍 요청을 모두 지원하여 OpenAI 호환 구조를 기대하는 대부분의 코딩 에이전트에 대체재로 사용할 수 있습니다.
인증은 Authorization 헤더에 의존합니다. 키를 Bearer 토큰으로 포함하세요. 프록시 또는 사용자 정의 에이전트 프레임워크를 사용하는 경우 표준 HTTP 헤더를 준수하는지 확인하세요. 이 서비스는 독립적이며 다른 벤더를 통해 라우팅되거나 모델을 집계하지 않습니다. 당신은 우리의 무검열 LLM에 직접 연결하고 있습니다.
채팅 완료 보내기
간단한 텍스트 요청으로 테스트를 시작하세요. 이는 인증과 base URL이 올바른지 확인합니다. 엔드포인트는 user 또는 assistant과 같은 역할의 메시지 목록을 받습니다. 모델 ID는 항상 uncensored입니다. 이 요청은 표준 완료 응답을 반환합니다. 복잡한 프롬프트로 이동하기 전에 에이전트가 JSON 구조를 구문 분석할 수 있는지 확인하세요.
페이로드가 8 MB 본문 제한 내에 있는지 확인하세요. 큰 컨텍스트 창이 지원되지만 총 토큰 수(입력 및 출력 합계)는 100,000 토큰 미만이어야 합니다. 이러한 제한을 초과하면 서버가 오류를 반환합니다. 연결을 확인하기 위해 작은 테스트로 시작하세요.
curl https://api.getcodexapi.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."}]
}'
스트리밍 활성화 (SSE)
실시간 토큰 생성이 필요한 코딩 에이전트의 경우 스트리밍을 활성화하세요. 요청 본문에서 stream 매개변수를 true로 설정하세요. 서버는 단일 JSON 객체 대신 서버 전송 이벤트(SSE) 시퀀스를 반환합니다. 각 이벤트는 응답의 부분 청크를 포함합니다. 이는 사용자의 지각된 지연 시간을 줄이고 에이전트가 토큰이 도착하는 대로 처리할 수 있게 합니다.
스트리밍은 가격 책정이나 토큰 카운팅에 영향을 주지 않습니다. 총 입력 및 출력 토큰에 대해 여전히 지불합니다. 클라이언트 코드에서 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)
함수 호출 사용
당사의 모델은 함수 호출을 지원하여 에이전트가 외부 도구를 실행할 수 있게 합니다. tools 매개변수에서 함수를 정의하세요. 모델은 함수가 필요하다고 판단할 경우 일반 텍스트 대신 도구 호출이 포함된 응답을 반환합니다. 에이전트는 이 응답을 구문 분석하고 도구를 실행한 후 결과를 대화에 피드백해야 합니다.
이 기능은 코드를 실행하거나 데이터베이스를 쿼리하거나 실시간 데이터를 가져와야 하는 코딩 에이전트에 필수적입니다. 도구 스키마는 표준 OpenAI 형식을 따릅니다. 에이전트가 모델과 도구 실행 로직 간의 왕복을 올바르게 처리하는지 확인하세요. 이는 구조화된 도구 결과를 사용하여 컨텍스트 창을 효율적으로 유지합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.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)
사용 가능한 모델 확인
GET /v1/models 엔드포인트를 사용하여 사용 가능한 모델을 확인하세요. 이 엔드포인트는 ID 및 생성 날짜를 포함한 모델 객체 목록을 반환합니다. 당사 API는 단일 모델인 uncensored을 제공합니다. 여러 벤더를 집계하는 프록시 릴레이와 달리 우리는 하나의 최적화된 LLM을 위한 전용 엔드포인트를 제공합니다. 이는 코딩 작업에 대해 일관된 동작과 예측 가능한 성능을 보장합니다.
클라이언트가 올바른 서비스에 연결되어 있는지 확인하려면 이 엔드포인트를 쿼리하세요. 표준 메타데이터 필드를 반환합니다. 모델 선택을 수동으로 관리할 필요가 없습니다. 클라이언트는 모든 채팅 완료에서 uncensored 모델 ID를 요청합니다. 이는 통합을 단순화하고 라우팅 오류를 피합니다.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.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는 키당 분당 300개의 요청 제한을 시행합니다. 이를 초과하면 429 Too Many Requests 오류가 발생합니다. 요청 본문 크기는 8 MB로 제한됩니다. 이러한 제약 사항은 높은 처리량의 에이전트를 위해 안정적인 성능을 보장합니다. 대용량 배치 처리 중이라면 클라이언트의 요청 주파수를 조정하세요.
인증 오류는 키가 유효하지 않을 경우 401 상태를 반환합니다. 크레딧 부족은 402 상태를 반환합니다. 요청을 보내기 전에 선불 잔액이 양수인지 확인하세요. 크레딧은 만료되지 않으므로 편리할 때 충전할 수 있습니다. codex api 키는 언제든지 재생성할 수 있으며 기존 키는 즉시 무효화됩니다. 키를 안전하게 보관하세요.