OpenAI codex API: Python으로 빠르게 시작하기
이 가이드는 openai 호환 API를 통해 표준 OpenAI SDK와 함께 무검열 LLM을 사용하는 방법을 보여줍니다. 기본 URL과 API 키를 업데이트하여 즉시 요청을 보낼 수 있습니다.
공식 SDK 설치
공식 SDK를 사용하여 OpenAI 호환 API와의 호환성을 보장하세요. 이 방법은 OpenAI 프로토콜을 지원하는 모든 표준 라이브러리에서 작동합니다.
- 선호하는 패키지 매니저를 통해 패키지를 설치하세요.
- 라이브러리를 가져와 설치되었는지 확인하십시오.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);
Base URL 및 키 설정
클라이언트를 저희 openai 게이트웨이 엔드포인트로 연결하여 uncensored AI 모델에 접근하세요. 기본 베이스 URL을 저희 특정 엔드포인트로 교체하세요.
- 환경 변수에 API 키를 설정하세요.
- 기본 URL을 다음으로 구성하세요
https://api.openaicodexapi.com/v1.
이러한 구성은 기존 코드 구조를 수정하지 않고도 요청이 당사 서버로 올바르게 라우팅되도록 보장합니다.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
첫 번째 요청 보내기
모델 ID를 사용하여 연결을 테스트하기 위한 간단한 텍스트 완성을 사용하세요. uncensored 요청용.
- 메시지 콘텐츠를 정의하세요.
- 요청을 실행합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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 모드 활성화
낮은 지연 시간용 스트림 응답 또는 구조화된 데이터용 JSON 모드를 사용하세요. 설정하세요. stream=true 실시간 토큰 전달을 위해
- 사용
response_formatJSON 출력을 위한 것입니다. - 코드에서 청크를 처리하세요.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'스트리밍은 부분 결과를 빠르게 표시하는 데 도움이 됩니다.
도구 및 함수 호출 처리
함수 호출을 활성화하기 위해 요청에 도구를 정의하세요. 도구 정의를 지정하고 모델이 언제 이를 사용할지 결정하게 하세요.
- 함수 스키마를 정의하세요.
- 응답의 도구 호출을 파싱합니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);이 기능은 외부 시스템과의 통합을 허용합니다.
제한 사항, 오류 및 컨텍스트 윈도우
속도 제한 또는 오류를 피하려면 사용량을 모니터링하세요. 컨텍스트 윈도우는 프롬프트와 완료를 합해 총 100,000개의 토큰을 지원합니다.
- 잘못된 키의 경우 401 오류를 처리합니다.
- 402 오류를 처리하여 크레딧 부족을 해결하세요.
- 429 오류를 처리하여 속도 제한을 관리하세요.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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 = 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)자주 묻는 질문
오픈AI 코덱 API란 무엇인가요?
OpenAI 프로토콜과 호환되는 무검열 LLM API입니다. 기본 URL만 업데이트하면 표준 SDK와 함께 사용할 수 있습니다.
오류를 어떻게 처리하나요?
자주 발생하는 오류에는 키가 잘못되어 401, 크레딧 없음으로 402, 속도 제한으로 429가 포함됩니다. 계정 잔액과 키 유효성을 확인하십시오.
컨텍스트 윈도우 크기는 얼마인가요?
컨텍스트 윈도우는 프롬프트와 완성을 합쳐 100,000개의 토큰입니다. 최대 출력은 요청당 16,000개의 토큰입니다.
API 키 받기
등록, 키 복사, 기본 URL 업데이트. 그거면 됩니다.