Ollama API와 OpenAI API: 프로젝트에 적합한 것은? 적합한 것은?
Ollama는 모델이 귀하의 머신에서 실행되는 반면, OpenAI는 모델을 자체 서버에서 실행합니다. 이 페이지는 호스팅, 요청 형식, 비용, 제한 사항 및 콘텐츠 규칙 측면에서 두 가지를 비교한 후 중간 옵션을 소개합니다.
업데이트됨

주요 포인트
- Ollama는 직접 호스팅하는 로컬 런타임이며, OpenAI API는 토큰당 과금되는 호스팅 서비스입니다.
- 두 API 모두 OpenAI 스타일의 채팅 요청을 수락하므로 기본 URL만 변경하면 하나의 클라이언트가 둘 중 하나와 통신할 수 있습니다.
- 로컬 실행은 하드웨어와 시간 비용이 발생하고, 호스팅 실행은 토큰 비용이 발생하며, 손익 분기점은 사용량에 따라 달라집니다.
- 오픈 웨이트 모델을 사용한 호스팅된 OpenAI 호환 엔드포인트는 GPU 소유 없이 종량제를 제공합니다.
짧은 답변
Ollama API와 OpenAI API의 질문은 모델이 실행되는 위치가 핵심입니다. Ollama의 경우 모델이 사용자가 제어하는 컴퓨터에 존재하며, 코드에서 localhost를 호출합니다. OpenAI의 경우 모델은 타사의 데이터 센터에 존재하며, 코드에서는 키와 월말 청구서가 있는 공개 HTTPS 주소로 호출합니다.
비용 구조, 조정 가능한 지연 시간, 프롬프트를 보는 주체, 선택 가능한 모델, 동시 요청 처리 방식 등 나머지 모든 요소는 이 차이에서 파생됩니다. 표는 양쪽에 적용되는 사실을 제공합니다.
| 주제 | Ollama | OpenAI API |
|---|---|---|
| 실행 위치 | 노트북, 워크스테이션 또는 서버 | OpenAI 서버 |
| 모델을 설정하는 주체 | 사용자가 직접 가중치를 가져와서 업데이트함 | OpenAI가 모델을 선택하고 업데이트함 |
| 결제 | 로컬 런타임에는 토큰당 요금이 없으며, 하드웨어와 전력 비용이 발생함 | 과금이 활성화된 계정 기준 토큰당 |
| 요청 형식 | 네이티브 라우트와 OpenAI 스타일의 /v1 레이어 추가 | 원래의 OpenAI 형식 |
| 처리량 | 하드웨어에 따라 제한됨 | 계정 속도 제한에 의해 제한됨 |
중간 경로를 원한다면 동일한 OpenAI 형식을 사용하지만 오픈 웨이트 모델을 제공하는 호스팅 엔드포인트가 이 페이지의 마지막 부분에 설명되어 있습니다.
각 API의 실제 정의
Ollama
Ollama는 오픈 웨이트 모델을 다운로드하여 머신에서 HTTP로 제공하는 프로그램입니다. 기본적으로 포트 11434에서 수신 대기합니다. /api/chat 및 /api/generate과 같은 자체 라우트와 기존 OpenAI 클라이언트 코드가 가리킬 수 있도록 /v1 아래에 OpenAI 스타일 레이어도 노출합니다. 일반적인 로컬 설정에는 계정이나 키가 없습니다. 키 필드를 고집하는 클라이언트는 자리 표시자 문자열을 받습니다.
사용자가 모델, 양자화 및 컨텍스트 설정을 선택합니다. 이 자유로움이 주요 매력이자 비용입니다. 모델이 메모리에 맞지 않으면 속도가 느리거나 로드되지 않을 수 있습니다.
OpenAI API
OpenAI API는 호스팅 서비스입니다. 계정을 생성하고 과금을 추가한 후 키를 생성하여 OpenAI 주소로 요청을 보냅니다. OpenAI가 제공하는 모델을 사용 정책과 계정 등급이 허용하는 제한 사항 내에서 사용할 수 있습니다. 용량, 업그레이드 및 가동 시간 관리가 사용자의 책임이 아닙니다. 대부분의 튜토리얼에서 보는 messages 배열과 응답의 choices 배열이 포함된 요청 형식은 이 API에서 비롯되었습니다.
두 가지를 비교하는 이유
비교가 필요한 이유는 두 API 모두 동일한 클라이언트 코드로 접근할 수 있기 때문입니다. 공식 OpenAI SDK는 베이스 URL을 재정의할 수 있으며, Ollama의 /v1 레이어는 채팅 완성을 이해합니다. 따라서 한쪽을 위해 작성된 스크립트는 한 줄의 변경으로 다른 쪽을 가리킬 수 있습니다. 이는 편리하지만 실제 차이점을 숨기기도 하며, 다음 섹션에서 이를 자세히 살펴보겠습니다.
동일한 클라이언트 코드, 두 개의 기본 URL
전환 비용이 낮은 이유입니다. 아래 Python 스크립트는 로컬 Ollama 서버와 통신합니다. 기본 URL, 키 및 모델 이름만 대상에 고유합니다.
from openai import OpenAI
# Local Ollama through its OpenAI-style layer
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
reply = client.chat.completions.create(
model="llama3.2", # whatever model you pulled locally
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)호스팅된 OpenAI 호환 엔드포인트에 동일한 요청을 보내려면 세 가지 값을 변경해야 합니다. 다음은 이 사이트의 버전이며 모델 ID는 uncensored입니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaapi.com/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)동일한 요청은 curl로도 작동하며, 애플리케이션 코드를 수정하기 전에 빠르게 테스트할 때 유용합니다.
curl https://api.ollamaapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}]}'이러한 대상 간 전환 시 모든 경우에 적용되는 주의 사항이 있습니다. 호환성은 동작이 아닌 요청 및 응답의 구조를 의미합니다. 서로 다른 모델은 지시사항을 다르게 따르고, 도구 호출을 다르게 처리하며, 다른 형식을 생성합니다. 신뢰하기 전에 새 대상에서 자체 프롬프트를 테스트하세요.
비용: 내가 소유한 하드웨어 vs 내가 구매하는 토큰
로컬 추론은 청구서가 도착하지 않아 무료처럼 보입니다. 하지만 무료가 아닙니다. GPU 또는 대용량 머신 구매, 전기 요금, 드라이버 설치, 양자화 수준 선택 및 메모리가 부족해 서버를 다시 시작하는 데 보낸 시간 비용이 발생합니다. 이미 강력한 하드웨어를 보유하고 있고 하루에 몇 번의 프롬프트만 실행한다면 실제 비용은 거의 0에 가깝습니다. 원하는 모델을 실행하기 위해 카드를 구매해야 한다면 계산 결과가 달라집니다.
호스팅 가격은 정반대의 형태입니다: 선지불이 없고 사용량에 따라 요금이 증가합니다. 이 사이트에서는 선불 크레딧을 구독 없이 사용하며, 입력 토큰 100만 개당 $0.15, 출력 토큰 100만 개당 $0.50의 요금이 적용됩니다. OpenAI의 경우 모델에 따라 가격이 다르며 시간이 지남에 따라 변경되므로 현재 가격 페이지를 확인하세요.
이 엔드포인트에서 현실적인 작업에 대한 호스팅 비용 계산은 다음과 같습니다. 애플리케이션이 한 달에 40,000개의 요청을 보내며, 각 요청은 1,500개의 입력 토큰과 400개의 출력 토큰을 포함한다고 가정합니다.
- 입력: 40,000 x 1,500 = 60,000,000 토큰, 즉 60M입니다. 1M당 $0.15이므로 $9.00입니다.
- 출력: 40,000 x 400 = 16,000,000 토큰, 즉 16M입니다. 1M당 $0.50이므로 $8.00입니다.
- 합계: 한 달에 $17.00입니다.
이 금액을 적합한 머신의 구매, 전력 및 유지보수 비용과 비교할 수 있습니다. 경량 또는 버스트형 트래픽의 경우 토큰당 과금이 일반적으로 유리합니다. 이미 보유한 하드웨어에서 지속적인 고부하 트래픽의 경우 로컬이 일반적으로 유리합니다. 충전 금액과 보너스에 대해서는 가격 페이지를 참조하세요.
모델, 콘텐츠 규칙 및 프라이버시
Ollama를 사용하면 실행할 오픈 웨이트 모델을 결정할 수 있으며, 프롬프트와 가중치 사이에 제3자가 개입하지 않습니다. 콘텐츠 동작은 해당 모델의 동작과 같습니다. 일부 커뮤니티 모델은 거부하는 성향이 약하게 조정된 반면, 그렇지 않은 모델도 있으며 자유롭게 교체할 수 있습니다.
호스팅 벤더는 자체 사용 정책과 자체 필터링을 적용합니다. 이는 범용 서비스에 대한 합리적인 입장이며, 일부 작가, 역할극 개발자 및 성숙한 소설을 다루는 연구자들이 호스팅 답변이 단축되는 이유이기도 합니다. 의존할 계획인 제공업체의 정책을 읽고, 가정하지 말고 현재 규칙을 확인하세요.
이 사이트는 다른 위치에 있습니다. 독립적인 제공업체가 실행하고 합법적인 성인 사용에 콘텐츠 거절 없이 답변하도록 조정된 하나의 오픈 웨이트 모델을 제공합니다. 이는 OpenAI, Meta, Mistral 또는 기타 벤더의 공식 API가 아니며, 벤더 간 라우터도 아닙니다. 하나의 하드 제한 사항이 있습니다: 미성년자가 포함된 성 콘텐츠는 금지됩니다. 프롬프트는 학습에 사용되지 않습니다. 실패하거나 거부된 요청은 과금되지 않습니다.
프라이버시 측면에서 로컬 Ollama는 프롬프트를 사용자의 머신에 유지하므로 호스팅 서비스로는 이를 따라잡기 어렵습니다. 데이터가 절대 외부로 나가서는 안 된다면 로컬에서 실행하고 비교를 멈추십시오. 텍스트를 호스팅 서비스로 보낼 수 있다면 제공자의 프라이버시 페이지를 먼저 확인하십시오. 당사는 /privacy/에 관련 정보를 게시하고 있습니다.
제한 사항, 동시성 및 기능
로컬 제한은 물리적입니다. 하나의 GPU는 각 요청이 느려지기 전에 몇몇 동시 요청을 처리하며, 긴 컨텍스트는 메모리를 빠르게 소모합니다. 호스팅된 제한은 정책입니다. 이 엔드포인트에서 전체 키는 8개의 동시 요청과 분당 300개의 요청을 허용하며, 체험 키는 2개의 동시 요청과 분당 60개의 요청을 허용합니다. 컨텍스트 창은 프롬프트와 완료를 합산하여 100,000 토큰이며, 요청 본문은 최대 8 MB까지 가능합니다.
제한을 초과하면 HTTP 429 오류가 발생합니다. 분당 요청 수에 대한 오류 코드는 rate_limited이며, 동시에 너무 많은 요청을 보낼 경우의 오류 코드는 concurrency입니다. Retry-After: 5 헤더가 포함된 429 오류는 일시적인 과부하를 의미하므로 5초 동안 대기한 후 다시 시도하십시오. 스트리밍 요청은 스트리밍이 끝날 때까지 동시성 슬롯을 유지하므로 병렬로 여러 스트림을 열 때 이를 고려해야 합니다.
호스팅 측의 기능 지원은 채팅에 중점을 둡니다. 사용량 정보를 끝부분에 포함하는 SSE 기반 스트리밍, 도구 호출, JSON 모드, temperature, top_p, stop, seed 및 페널티의 전달을 지원합니다. 이미지, 오디오 또는 비디오 생성, 임베딩, 파인튜닝은 제공되지 않습니다. 이러한 기능이 필요하면 다른 곳에서 확보해야 합니다. 당사 문서에는 정확한 요청 필드 목록이 나와 있습니다.
응답 헤더에는 X-Request-Id 및 X-Balance-USD이 포함되어 있으므로, 별도의 호출 없이 요청을 로깅하고 남은 크레딧을 확인할 수 있습니다.
선택 방법
가장 큰 제약 조건에 따라 선택하십시오.
- 프롬프트는 하드웨어에 머물러야 합니다. 로컬에서 Ollama를 사용하세요.
- 유능한 GPU를 이미 보유하고 실험하고 싶습니다. 로컬 Ollama를 사용하다가 트래픽이 이를 초과하면 이후에 호스팅 서비스로 전환하십시오.
- 특정 벤더의 최전선 모델이나 그 생태계가 필요합니다. 해당 벤더의 API를 사용하십시오. 다른 제공자는 특정 모델의 대체재가 아닙니다.
- 호스팅된, 사용량 기반의 오픈 웨이트 모델에 대한 접근이 필요하며, 합법적인 성인 사용에 대한 거절이 없고, 관리할 하드웨어가 필요 없습니다. 이 같은 호스팅된 OpenAI 호환 엔드포인트를 사용하세요.
많은 팀은 두 가지를 모두 사용합니다: 개발용 노트북에서는 Ollama를, 서버나 고객 브라우저에서 접근해야 하는 모든 작업에는 호스팅된 엔드포인트를 사용합니다. 둘 다 동일한 요청 형식을 지원하므로 전환은 재작성이 아닌 구성 값의 변경으로 가능합니다. 호스팅된 서비스를 사용해 보려면 로그인 후 API 키 페이지에서 한 번의 클릭으로 $0.50의 체험 크레딧을 받을 수 있습니다. 카드가 필요 없으며 7일 동안 유효합니다. 유료 충전은 $20부터 시작하며 카드나 암호화폐를 지원합니다.
더 많은 가이드
질문과 답변
Ollama API는 OpenAI SDK와 호환됩니까?
Ollama는 채팅 완료를 처리하는 /v1 하단의 OpenAI 스타일 레이어를 노출하므로 공식 OpenAI SDK는 Base URL을 변경하여 이를 가리킬 수 있습니다. 버전이 지원하는 필드에 대해서는 Ollama 문서를 확인하십시오.
Ollama가 OpenAI API보다 저렴합니까?
하드웨어와 사용량에 따라 다릅니다. 로컬 런타임에는 토큰당 요금이 없지만 머신 및 유지보수 비용이 발생합니다. 경량 또는 불규칙한 사용의 경우 토큰당 과금이 GPU 구매보다 저렴할 수 있습니다.
로컬 Ollama 대신 이 사이트의 엔드포인트를 사용할 수 있습니까?
네, 호스팅된 OpenAI 호환 엔드포인트가 필요하시면 가능합니다. 베이스 URL을 https://api.ollamaapi.com/v1로 설정하고 모델을 uncensored로 선택하세요. Ollama가 아니며, 귀하의 머신에서 실행되지도 않습니다.
호스팅된 엔드포인트는 함수 호출과 스트리밍을 지원합니까?
네. SSE 기반 스트리밍, 함수 호출, JSON 모드를 지원하며, 100,000개의 토큰 컨텍스트 창을 제공합니다.