Chutes
Chutes
Chutes는 클라우드 네이티브 AI 배포 플랫폼으로, vLLM, SGLang 같은 인기 프레임워크용 사전 구축 템플릿으로 OpenAI 호환 API를 사용해 LLM 애플리케이션을 배포·실행·확장할 수 있게 해요.
출처: 문서
본문
개요 (Overview)
| 속성 | 설명 |
|---|---|
| 설명 | vLLM, SGLang 등 인기 프레임워크용 사전 구축 템플릿으로 OpenAI 호환 API를 사용해 LLM 애플리케이션을 배포·실행·확장하는 클라우드 네이티브 AI 배포 플랫폼 |
| LiteLLM 라우트 | chutes/ |
| 공급자 문서 | Chutes Website |
| 기본 URL | https://llm.chutes.ai/v1/ |
| 지원 작업 | /chat/completions, Embeddings |
Chutes란?
Chutes는 다음을 제공하는 강력한 AI 배포·서빙 플랫폼이에요:
- 사전 구축 템플릿: vLLM, SGLang, diffusion 모델, 임베딩용 준비된 설정
- OpenAI 호환 API: 표준 OpenAI SDK와 클라이언트 사용
- 다중 GPU 확장: 여러 GPU에 걸친 대형 모델 지원
- 스트리밍 응답: 실시간 모델 출력
- 사용자 지정 설정: 특정 요구사항에 맞게 파라미터 오버라이드
- 성능 최적화: 사전 구성된 최적화 설정
필수 변수
os.environ["CHUTES_API_KEY"] = "" # your Chutes API key
chutes.ai에서 Chutes API 키를 가져와요.
LiteLLM Python SDK 사용법
비스트리밍 (Non-streaming)
import os
import litellm
from litellm import completion
os.environ["CHUTES_API_KEY"] = "" # your Chutes API key
messages = [{"content": "What is the capital of France?", "role": "user"}]
# Chutes call
response = completion(
model="chutes/model-name", # Replace with actual model name
messages=messages
)
print(response)
스트리밍 (Streaming)
import os
import litellm
from litellm import completion
os.environ["CHUTES_API_KEY"] = "" # your Chutes API key
messages = [{"content": "Write a short poem about AI", "role": "user"}]
# Chutes call with streaming
response = completion(
model="chutes/model-name", # Replace with actual model name
messages=messages,
stream=True
)
for chunk in response:
print(chunk)
LiteLLM Proxy Server 사용법
1. 환경에 키 저장
export CHUTES_API_KEY=""
2. Proxy 시작
model_list:
- model_name: chutes-model
litellm_params:
model: chutes/model-name # Replace with actual model name
api_key: os.environ/CHUTES_API_KEY
지원되는 OpenAI 파라미터
Chutes는 모든 표준 OpenAI 호환 파라미터를 지원해요:
| 파라미터 | 타입 | 설명 |
|---|---|---|
| messages | array | 필수. 'role'과 'content'가 있는 메시지 객체 배열 |
| model | string | 필수. Model ID 또는 HuggingFace 모델 식별자 |
| stream | boolean | 선택. 스트리밍 응답 활성화 |
| temperature | float | 선택. 샘플링 온도 |
| top_p | float | 선택. Nucleus 샘플링 파라미터 |
| max_tokens | integer | 선택. 생성할 최대 토큰 수 |
| frequency_penalty | float | 선택. 빈번한 토큰에 패널티 |
| presence_penalty | float | 선택. 존재에 기반한 토큰 패널티 |
| stop | string/array | 선택. 중지 시퀀스 |
| tools | array | 선택. 사용 가능한 도구/함수 목록 |
| tool_choice | string/object | 선택. 도구/함수 호출 제어 |
| response_format | object | 선택. 응답 형식 사양 |
지원 프레임워크
Chutes는 인기 AI 프레임워크용 최적화 템플릿을 제공해요:
vLLM (고성능 LLM 서빙)
- OpenAI 호환 엔드포인트
- 다중 GPU 확장 지원
- 고급 최적화 설정
- 프로덕션 워크로드에 최적
SGLang (고급 LLM 서빙)
- 구조화 생성 기능
- 고급 기능과 컨트롤
- 사용자 지정 설정 옵션
- 복잡한 사용 사례에 최적
Diffusion 모델 (이미지 생성)
- 사전 구성된 이미지 생성 템플릿
- 최상의 결과를 위한 최적화 설정
- 인기 diffusion 모델 지원
임베딩 모델
- 텍스트 임베딩 템플릿
- 벡터 검색 최적화
- 인기 임베딩 모델 지원
인증 (Authentication)
Chutes는 여러 인증 방식을 지원해요:
X-API-Key헤더를 통한 API 키Authorization헤더를 통한 Bearer 토큰
LiteLLM 예시(환경 변수 사용):
os.environ["CHUTES_API_KEY"] = "your-api-key"
성능 최적화
Chutes는 하드웨어 선택과 최적화를 제공해요:
- 소형 모델 (7B-13B): 24GB VRAM GPU 1개
- 중형 모델 (30B-70B): 각 80GB VRAM GPU 4개
- 대형 모델 (100B+): 각 140GB+ VRAM GPU 8개
성능 미세 조정용 엔진 최적화 파라미터를 사용할 수 있어요.
배포 옵션
Chutes는 유연한 배포를 제공해요:
- 빠른 설정: 즉시 배포용 사전 구축 템플릿 사용
- 사용자 지정 이미지: 사용자 지정 Docker 이미지로 배포
- 확장: 최대 인스턴스와 자동 확장 임계값 설정
- 하드웨어: 특정 GPU 유형과 설정 선택