KO ▾
지금 시작하기
입력 토큰 1M당
$0.15
출력 토큰 / 1M
$0.50
토큰 컨텍스트
100,000
체험 크레딧
$0.50
분당 요청
300

OpenAI API 대체: 마이그레이션 체크리스트

OpenAI API 대체제는 먼저 세 가지를 확인해야 원활하게 작동합니다: 코드에서 호출하는 엔드포인트, 의존하는 기능 및 새 모델이 프롬프트에서 어떻게 작동하는지입니다. 이 체크리스트는 오늘 실행할 수 있는 명령어와 함께 이 세 가지를 모두 다룹니다.

마지막 업데이트:

켜진 상태와 꺼진 상태의 상태 패널 보드 옆에서 두 밸브 사이로 파이프가 우회되는 모습

요약

  • Base URL 변경 후 채팅 완료, 응답, 스트리밍, 도구 및 JSON 모드는 표준 OpenAI SDK와 함께 작동합니다.
  • 임베딩, 이미지, 오디오 및 파인튜닝 엔드포인트는 사용할 수 없습니다. 해당 기능은 기존 제공업체에 유지하세요.
  • 모델이 다르므로 전환 전에 프롬프트를 테스트하세요. 전환을 되돌릴 수 있는 플래그를 유지하세요.
  • 선불 및 토큰 단위 과금: 입력 100만 토큰당 $0.15, 출력 100만 토큰당 $0.50.

단계 1: 코드가 호출하는 항목 인벤토리

무언가를 변경하기 전에 실제로 사용하는 OpenAI 기능을 나열하세요. 대부분의 프로젝트는 생각하는 것보다 적은 기능을 사용하며, 이 목록이 이 교체가 5분짜리 작업인지 부분적인 작업인지 결정합니다. 프로젝트 루트에서 다음을 실행하세요:

# New values you will point the project at:
export OPENAI_BASE_URL="https://api.alternativeapiopenai.com/v1"
export OPENAI_API_KEY="YOUR_API_KEY"
export MODEL="uncensored"

# What does the code call today?
grep -rnE "embeddings|images\.|audio\.|fine_tuning|moderations|assistants|batches" --include="*.py" --include="*.js" --include="*.ts" .
grep -rnE "model *[=:] *['\"]" --include="*.py" --include="*.js" --include="*.ts" .

첫 번째 grep은 이 API에서 제공하지 않는 엔드포인트를 찾습니다. 두 번째는 변경해야 할 모든 하드코딩된 모델 이름을 나열합니다. 각 기능(사용됨, 사용 안 됨, 그리고 그에 대한 조치)에 대한 행이 하나씩 있는 짧은 표로 결과를 정리하세요.

단계 2: 지원되는 항목과 비교

OpenAI 기능여기서참고
채팅 완성예POST /v1/chat/completions
응답 API예POST /v1/responses
모델 목록예GET /v1/models은 uncensored을 반환합니다
스트리밍예SSE, 사용량 정보는 마지막에 제공
함수 호출예tools, tool_choice, 스트리밍된 tool_calls, role: "tool" 결과
JSON 모드예response_format: {"type":"json_object"}
파라미터예temperature, top_p, stop, seed, penalties
임베딩아니요제공되지 않음
이미지, 오디오, 비디오 생성아니요텍스트 전용
파인튜닝아니요제공되지 않음

이 테이블의 지원되지 않는 쪽에 있는 모든 항목은 문서에서 확인하기 전까지 사용 불가로 간주하세요. 여기에는 스키마 제약이 있는 출력이 포함됩니다. JSON 모드는 모델이 유효한 JSON을 반환하게 하지만 자체 스키마를 강제하지는 않으므로 검증 코드를 유지하세요. 채팅 메시지에 대한 이미지 입력도 나열되지 않았으므로 텍스트 프롬프트만 계획하세요.

이 모델은 독립적인 제공업체에서 운영하는 단일 오픈 웨이트 모델입니다. OpenAI의 모델이 아니며 어떤 벤더의 공식 API도 아니며 벤더 간 라우팅도 수행하지 않습니다. 다른 스타일, 다른 강점 및 다른 실패 모드를 예상하세요.

단계 3: 교체하기

공식 Python SDK를 사용할 경우 세 가지 값이 변경됩니다:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.alternativeapiopenai.com/v1",  # was the default OpenAI URL
    api_key="YOUR_API_KEY",                               # was your old key
)

resp = client.chat.completions.create(
    model="uncensored",                                   # was your old model name
    messages=[{"role": "user", "content": "Give me three names for a coffee shop."}],
)
print(resp.choices[0].message.content)

더 나은 방법은 베이스 URL, 키 및 모델 이름을 구성에 유지하여 동일한 빌드가 어느 제공업체든 가리킬 수 있게 하는 것입니다. 간단한 패턴은 세 가지 환경 변수입니다: LLM_BASE_URL, LLM_API_KEY 및 LLM_MODEL. 그러면 롤백은 새 릴리스를 배포하는 것이 아니라 세 가지 값을 변경하고 재시작하는 것으로 끝납니다.

코드에서 응답 API를 사용하는 경우 동일한 세 가지 값이 적용됩니다. LangChain이나 LlamaIndex와 같은 프레임워크의 경우 OpenAI 호환 커넥터를 찾고 동일한 베이스 URL과 모델 이름을 전달하세요.

단계 4: 프로덕션 전 테스트

어떤 모델 교체에서도 위험은 연결이 아닌 동작에 있습니다. 다음 순서로 테스트하세요:

  1. 연결. curl로 요청을 하나 보내세요. 응답이 반환되면 키와 URL이 정확합니다.
  2. 실제 프롬프트. 최소 20개의 프로덕션 프롬프트를 재생하고 출력을 검토하세요. 어조, 길이 및 지시사항 준수를 확인하세요.
  3. 도구 호출. 각 도구를 실행하고 모델이 생성하는 인수를 확인하세요. 스트리밍된 응답에서 tool_calls을 처리하는 루프가 제대로 작동하는지 확인하세요.
  4. JSON 출력. JSON 모드 호출을 100회 실행하고 파서 또는 스키마 검증에 실패한 횟수를 세세요.
  5. 긴 입력. 컨텍스트 창은 프롬프트와 완료를 합쳐 100,000 토큰입니다. 소요 시간을 파악하기 위해 큰 프롬프트를 한 번 테스트하세요.
  6. 한도. 전체 키는 동시 요청 8개와 분당 300개를 허용합니다. 실제 피크 부하로 테스트하세요.

토큰 수는 다릅니다

코드가 다른 모델을 위해 빌드된 토크나이저 라이브러리로 토큰을 추정한다면 결과를 근사치로 간주하세요. 과금 및 예산 관리를 위해 각 응답의 usage 객체를 사용하고, 100,000토큰 컨텍스트 창에 맞게 이력을 줄일 때 안전 마진을 두세요. max_tokens 설정은 선택 사항이지만, 합리적인 상한선은 계획된 비용보다 더 많은 비용을 소비하는 폭주하는 응답을 방지합니다.

오류의 형태

한도를 초과하면 API는 코드 rate_limited(분당 요청) 또는 concurrency(동시 요청 과다)와 함께 HTTP 429를 반환합니다. 일시적 과부하도 429를 반환하며 Retry-After: 5 헤더를 포함합니다. 스트리밍 요청은 스트림이 끝날 때까지 동시 요청 슬롯을 유지하므로, 느린 클라이언트는 동시 요청 한도를 차지합니다. 실패하거나 거부된 요청은 요금이 부과되지 않습니다.

단계 5: 비용 확인

가격은 입력 토큰 100만 개당 $0.15, 출력 토큰 100만 개당 $0.50이며 선불 크레딧에서 차감됩니다. 현재 청구금과 비교하려면 usage 필드의 자체 토큰 수를 사용하고 다음 공식을 적용하세요: 비용 = 입력_토큰 x 0.15 / 1,000,000 + 출력_토큰 x 0.50 / 1,000,000. 다른 제공업체의 경우 현재 가격을 확인하고 동일한 토큰 수를 적용하세요.

계산 예시: 지원 도구는 월 30,000건의 요청을 처리하며 각 요청당 입력 토큰 1,200개와 출력 토큰 250개를 사용합니다. 입력은 36M 토큰으로 비용은 $5.40입니다. 출력은 7.5M 토큰으로 비용은 $3.75입니다. 월 총액은 $9.15입니다. 동일한 부하가 컨텍스트 창을 채우는 경우(입력 토큰 100,000개) 각 요청의 입력 비용만 $0.015이므로 프롬프트 크기가 주의해야 할 숫자입니다.

가격 책정 페이지에는 충전 금액이 나열되어 있습니다. 금액은 $20부터 $500까지이며, $50부터 +5%, $100부터 +10%, $200부터 +15%의 보너스가 제공됩니다. 암호화폐(TRC20의 USDT 또는 Base의 USDC)로만 결제됩니다. 크레딧은 만료되지 않으며 구독은 없습니다. uncensored 모델의 API 가격 책정 관련 가이드는 비용 구조를 더 자세히 설명합니다.

6단계: 롤아웃 및 롤백 준비

새로운 엔드포인트에 작은 비율의 트래픽을 먼저 보냅니다. X-Request-Id 헤더에서 요청 ID를 로그하여 잘못된 응답을 추적할 수 있게 하고, 호출 후 X-Balance-USD 값을 기록하여 크레딧이 알아차리지 못한 채 고갈되지 않도록 합니다. 잔액이 며칠 치 지출액 미만으로 떨어지면 알림을 설정하세요.

그림자 테스트 트래픽이 양호해 보이면 비율을 단계적으로 높이고 기존 제공업체의 키를 1주일 동안 유효하게 유지하세요. 성인 콘텐츠와 관련된 모든 사항에 대해 모델은 합법적인 성인 용도로 설계되었으며, 미성년자가 관련된 성적 콘텐츠는 항상 거부됩니다. 프롬프트는 학습에 사용되지 않습니다.

새 계정에서는 API 키 페이지에서 한 번의 클릭으로 7일 동안 유효한 $0.50의 무료 체험 크레딧을 받을 수 있으며, 이를 통해 트래픽 샘플에 대한 전체 체크리스트를 실행하기에 충분한 시간을 확보할 수 있습니다.

자주 묻는 질문

기존 OpenAI SDK 코드가 작동합니까?

채팅 완료 및 응답의 경우 가능합니다. Base URL, API 키 및 모델 이름을 변경하세요. 임베딩, 이미지, 오디오 또는 파인튜닝 호출은 작동하지 않습니다.

응답 품질이 OpenAI의 모델과 동일한가요?

아니요. 이는 서로 다른 오픈 웨이트 모델입니다. 양방향의 동등성을 가정하기보다 직접 프롬프트를 테스트하세요.

문제가 발생하면 어떻게 롤백하나요?

Base URL, API 키 및 모델을 구성에 유지하고 기존 제공업체의 API 키를 활성화된 상태로 두세요. 그러면 구성 변경만으로 이전 제공업체로 전환할 수 있습니다.

함수 호출을 지원하나요?

네. tools 및 tool_choice를 사용하고 role이 tool인 메시지 형태로 결과를 반환하세요. 스트리밍되는 tool_calls도 지원됩니다.

API 키 생성은 양식 작성만으로 충분합니다

회원가입 후 API 키를 복사하고 Base URL을 업데이트하세요. 이것이 필요한 모든 구성 작업입니다.