Open Interpreter를 커스텀 OpenAI 호환 엔드포인트에서 실행하기.
Updated 2026-07-30
Open Interpreter는 api_base를 직접 노출합니다. 이를 https://api.apisrouter.com/v1로 지정하고, LiteLLM이 chat completions로 말하도록 모델 id 앞에 openai/를 붙이면, 여러분의 컴퓨터에서 코드를 쓰고 실행하는 모델이 키 하나 아래 카탈로그의 어떤 id든 될 수 있습니다.
빠른 답: api_base와 openai/ 모델 프리픽스.
Open Interpreter는 두 인터페이스 모두에서 커스텀 엔드포인트 경로를 문서화합니다. CLI에서는 엔드포인트와 함께 --api_base를 넘기고, id에 openai/ 프리픽스를 붙인 --model을 넘기세요. Python에서는 chat()을 호출하기 전에 interpreter.llm.api_base, interpreter.llm.api_key, interpreter.llm.model을 설정하세요. 프리픽스는 장식이 아닙니다. Open Interpreter는 LiteLLM 위에서 실행되며, LiteLLM은 어떤 프로바이더 클라이언트를 쓸지 모델 문자열에서 해석합니다. openai/claude-sonnet-4-6은 "api_base가 무엇이든 그곳에 OpenAI chat-completions 프로토콜로 말하되, model 필드는 claude-sonnet-4-6으로 하라"는 뜻입니다. 프리픽스를 빼면 LiteLLM은 대신 맨 이름에서 프로바이더를 추론하며, claude-* id를 Anthropic의 클라이언트 쪽으로 라우팅하고 여러분이 설정한 엔드포인트는 무시됩니다.
export OPENAI_API_KEY=sk-APIsRouter-...
interpreter \
--api_base https://api.apisrouter.com/v1 \
--model openai/claude-sonnet-4-6Open Interpreter가 자신의 모델로 하는 일.
Open Interpreter(GitHub의 openinterpreter, 약 6.6만 스타)는 언어 모델에게 여러분의 컴퓨터에서 쓸 수 있는 코드 인터프리터를 줍니다: 자연어로 목표를 말하면, 모델이 Python이나 셸을 쓰고, Open Interpreter가 그것을 로컬에서 실행하며, 출력이 다음 단계를 위한 대화로 다시 흘러들어갑니다. 그 루프는 채팅 클라이언트와 질적으로 다르게 만듭니다. 모델은 산문을 만드는 것이 아니라 여러분 사용자의 권한으로 실행되는 코드를 만들며, 여러분의 실제 시스템에서 나온 실제 오류를 상대로 반복합니다. 라우팅에는 두 가지 결과가 따릅니다. 첫째, 모델 품질은 직접적으로 안전과 정확성의 속성입니다: 플래그를 환각하거나 트레이스백을 잘못 읽는 모델은 또 다른 실패한 왕복을 만들며, auto-run 모드에서는 여러분이 검토하지 않은 채로 만듭니다. 둘째, 그 루프는 특유의 방식으로 토큰을 게걸스럽게 먹습니다: 매 턴마다 커지는 대화, 코드, 캡처된 출력을 다시 보내므로, 긴 디버깅 세션은 컨텍스트를 빠르게 누적시킵니다. api_base 설정이 이 루프 전체를 엔드포인트 하나로 옮깁니다. openai/ 프리픽스 뒤의 model 필드가 그냥 문자열로 전달되므로, Claude id, GPT id, DeepSeek id는 별개의 프로바이더 설정이 아니라 서로 바꿔 끼울 수 있는 플래그 하나짜리 선택이 됩니다.
전체 설정: Python API와 프로필.
Python 경로는 interpreter.llm에 같은 세 값을 설정하고, LiteLLM이 커스텀 id에 대해 발견할 수 없는 두 설정을 더합니다: context_window와 max_tokens. Open Interpreter는 context_window를 사용해 대화 기록을 얼마나 유지할지 결정한 뒤 잘라내므로, 20만 토큰짜리 모델에서 이를 설정하지 않거나 기본값에 맡기면 필요한 것보다 훨씬 일찍 잘라냅니다; 모델이 실제로 지원하는 것을 선언하세요. 영속적인 설정을 위해서는 같은 키들이 llm: 블록 아래 프로필 YAML에 있습니다(interpreter --profiles로 프로필 디렉터리를 여세요). 프로필은 엔드포인트, 모델, 윈도우 설정을 셸 기록 밖에 두고 여러 머신에서 공유 가능한 설정으로 만들어 주며, 키는 여전히 환경에서 공급됩니다.
import os
from interpreter import interpreter
interpreter.llm.api_base = "https://api.apisrouter.com/v1"
interpreter.llm.api_key = os.environ["APISROUTER_API_KEY"]
interpreter.llm.model = "openai/claude-sonnet-4-6"
# LiteLLM cannot infer these for a custom id; declare them:
interpreter.llm.context_window = 200000
interpreter.llm.max_tokens = 8192
interpreter.llm.supports_functions = True
interpreter.chat("Profile data.csv and plot the top 10 rows by revenue.")여러분의 코드를 쓰는 모델 고르기.
여기서 모델 비교는 유별나게 구체적입니다: 두 모델에 같은 작업을 주고 작동하는 결과까지의 왕복 횟수를 세세요. 키별 사용량 뷰가 세션당 토큰 비용을 더해 주며, 왕복 횟수와 함께 그것이 비교의 전부입니다. 엔드포인트 하나 뒤에서 각 후보는 플래그 하나입니다.
- 메인 루프는 실행 가능한 코드를 쓰고 첫 시도에서 트레이스백을 잘 읽는 모델을 원합니다; claude-sonnet-4-6과 gpt-5.5가 믿을 만한 중간이며, 더 나은 모델이 피해주는 실패한 왕복 하나하나가 절약되는 토큰과 실제 시간입니다.
- deepseek-v4-pro는 물량이 중요한 코드 중심 세션의 강력한 후보입니다; 엔드포인트 하나를 통하면 여러분의 작업으로 시험하는 것은 --model 변경 한 번입니다.
- 빠른 유틸리티 세션(파일 이름 바꾸기, 일회성 변환, 포맷 전환)은 프론티어급 추론이 필요 없습니다; claude-haiku-4-5-20251001이나 glm-5.2가 빠르고 저렴하게 유지해 줍니다.
- Auto-run 모드(-y)는 코드 생성과 실행 사이의 사람 검토 단계를 제거합니다. 조금이라도 쓴다면, 실행하는 모델 중 가장 강한 것으로, 샌드박스나 컨테이너 안에서, 아직 평가 중인 모델로는 절대 쓰지 마세요.
사용한 만큼 지불 · 공식 요금보다 저렴
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| 모델 | 공식 요금 | 저희 요금 |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
Open Interpreter에 특유한 실패 패턴.
프리픽스 없는 모델 id는 여러분의 엔드포인트를 우회해 라우팅됩니다. openai/ 프리픽스 없이는 LiteLLM이 이름에서 프로바이더를 해석합니다: claude-* id는 Anthropic의 클라이언트로 향하며, 그 결과는 여러분이 설정한 적 없는 호스트에 대한 인증이나 라우팅 오류입니다. 오류가 여러분의 게이트웨이가 아니라 벤더 SDK를 언급한다면, 프리픽스가 빠진 것입니다. 기본 컨텍스트 가정이 여러분의 세션을 잘라냅니다. LiteLLM이 인식하지 못하는 id에 대해서는 아무것도 컨텍스트 윈도우를 채워주지 않습니다; Open Interpreter는 보수적인 동작으로 폴백하고 기록을 일찍 잘라냅니다. context_window를 명시적으로 선언하세요, 이전 시도를 잃은 코드 디버깅 세션은 같은 실수를 다시 저지르기 때문입니다. 세션이 커지면 청구서도 커집니다. 매 턴마다 대화에 코드와 캡처된 출력을 더해 다시 보냅니다. 큰 데이터프레임이나 긴 로그를 루프에 붙여넣는 세션은 그것을 이후 모든 요청에 싣고 다닙니다. 파일 내용을 채팅에 붙여넣기보다 모델이 파일을 검사하는 코드를 쓰게 하고, 작업이 바뀌면 새 세션을 시작하세요. 함수 호출 불일치. Open Interpreter는 지원되는 곳에서 구조화된 함수 호출을 쓸 수 있습니다; supports_functions 플래그는 감지가 잘못 추측하는 id를 위해 존재합니다. 능력이 있다고 아는 모델에서 코드 블록이 잘못된 형식으로 도착한다면 명시적으로 True로 설정하고, 모델이 정말로 툴 지원이 없다면 폴백 경로가 작동하도록 False로 설정하세요. 실행 쪽은 여러분의 몫입니다. api_base는 모델 트래픽을 옮길 뿐, 코드는 여전히 여러분의 권한으로 로컬에서 실행됩니다. 게이트웨이는 아무것도 샌드박싱하지 않으므로, auto-run은 컨테이너에 국한시키고 다른 모든 곳에서는 안전 검토를 루프 안에 남겨두세요.
어떤 사람들이 게이트웨이를 통해 Open Interpreter를 쓰는가.
- Open Interpreter를 일상 자동화 도구로 쓰며 Claude급 코드 생성, GPT의 다양성, 빠른 유틸리티 id를 키 하나 뒤에 두고 싶은 개발자.
- 탐색적 분석 루프를 실행하는 데이터 담당자 — 세션이 놀랄 만큼 많은 컨텍스트를 소모할 수 있고, 키별 사용량이 노트북 한 편에 상당하는 비용을 눈에 보이게 해줍니다.
- 작동까지의 왕복 횟수라는 가장 정직한 벤치마크로 코드 작성 모델을 비교하는 엔지니어 — 후보당 --model 플래그 하나.
- 예약되거나 컨테이너화된 interpreter 작업을 실행하는 애호가 — 벤더별 자격 증명 세트보다 환경 변수 엔드포인트와 시크릿 하나가 낫습니다.
- 특정 벤더의 결제 수단에 접근할 수 없는 개발자. 카드 없이 충전만으로 사용할 수 있어 프로바이더별 가입 의존성이 사라집니다.
엔드포인트 검증 및 첫 세션 디버깅.
먼저 게이트웨이의 모델을 나열하세요; openai/ 뒤의 id는 버전 접미사까지 포함해 서빙되는 id와 정확히 일치해야 합니다. 첫 세션의 실패는 패턴을 따릅니다. anthropic이나 다른 벤더 SDK를 언급하는 오류는 openai/ 프리픽스가 빠져 LiteLLM이 이름으로 라우팅했다는 뜻입니다. 401은 interpreter를 실행한 셸에서 키가 보이지 않거나, 실제로 쓰이는 변수와 다른 변수에 설정되었다는 뜻입니다; 프리픽스가 제대로 있으면 OPENAI_API_KEY와 명시적인 api_key 둘 다 작동합니다. 게이트웨이에서 나오는 model-not-found 오류는 id 오타입니다. 연결 오류는 보통 api_base가 /v1 접미사를 잃었다는 뜻입니다; 클라이언트는 여러분이 준 base에 /chat/completions를 붙입니다. 루프가 실행되면 APIsRouter 콘솔에서 요청별 모델, 토큰 수, 지출을 볼 수 있습니다. Interpreter 세션은 작게 느껴지지만 중간 정도로 청구되는 전형적인 경우이며, 사용량 뷰는 어느 세션이 실제로 토큰을 짊어졌는지 보는 방법입니다.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50자주 묻는 질문
Open Interpreter가 엔드포인트 하나로 Claude나 DeepSeek 모델을 실행할 수 있나요?
네. api_base를 게이트웨이로 지정하고 모델 id에 openai/ 프리픽스를 붙이면, LiteLLM이 그 엔드포인트에 표준 chat completions로 말하고 id를 그냥 문자열로 전달합니다. Claude, GPT, DeepSeek, GLM id 모두 같은 두 설정으로 작동합니다.
모델 id에 왜 openai/ 프리픽스가 필요한가요?
Open Interpreter는 LiteLLM 위에서 실행되며, 이는 모델 문자열에서 프로바이더 클라이언트를 고릅니다. openai/ 프리픽스는 여러분의 api_base를 향한 OpenAI-프로토콜 클라이언트를 강제합니다. 프리픽스 없는 claude-* id는 대신 Anthropic의 클라이언트로 해석되어 여러분의 엔드포인트를 무시합니다.
어떤 환경 변수가 키를 담나요?
openai/ 프리픽스를 쓸 때는 OPENAI_API_KEY가 관례적인 선택이며, 또는 Python에서 interpreter.llm.api_key를 명시적으로 설정하거나 CLI에서 --api_key를 넘기세요. 키는 프로필과 스크립트 밖에 두세요; 환경이 그것의 올바른 자리입니다.
context_window를 수동으로 설정해야 하나요?
커스텀 id에는 네. LiteLLM은 인식하지 못하는 모델의 윈도우를 추론할 수 없으며, Open Interpreter는 이 수치에 대해 대화 기록을 잘라냅니다. 모델의 실제 윈도우를 선언하세요(표의 Claude id는 200000), 그렇지 않으면 긴 세션이 이전 컨텍스트를 잃습니다.
게이트웨이를 통해 라우팅하면 auto-run(-y)이 안전해지나요?
아니요. 게이트웨이는 모델 트래픽을 옮길 뿐, 생성된 코드는 여전히 여러분의 권한으로 로컬에서 실행됩니다. Auto-run은 검토 단계를 제거하므로, 어떤 엔드포인트가 모델을 서빙하든 컨테이너나 샌드박스에 국한시키세요.
interpreter 세션 하나에 토큰이 몇 개나 드나요?
턴 수와 루프에 들어가는 것에 비례합니다: 매 왕복마다 대화, 코드, 캡처된 출력을 다시 보냅니다. 짧은 유틸리티 작업은 적당하고, 데이터를 붙여넣은 긴 디버깅 세션은 빠르게 누적됩니다. APIsRouter 콘솔의 키별 사용량 뷰가 세션당 실제 수치를 보여줍니다.