CompactifAI
CompactifAI
CompactifAI는 주요 언어 모델의 고압축 버전을 제공해 최대 70% 낮은 추론 비용, 4배 처리량 향상, 최소 품질 손실(5% 미만)로 저지연 추론을 제공해요. OpenAI 호환 API로 통합이 간단하며, 뛰어난 동시성과 리소스 효율로 초고효율·확장 가능한 AI 애플리케이션을 만들 수 있어요.
출처: 문서
본문
개요 (Overview)
| 속성 | 설명 |
|---|---|
| 설명 | 최대 70% 비용 절감과 4배 처리량 향상이 있는 주요 언어 모델의 압축 버전 제공 |
| LiteLLM 라우트 | compactifai/ (모델 이름에 이 접두사를 추가 — 예: compactifai/cai-llama-3-1-8b-slim) |
| 공급자 문서 | CompactifAI |
| API 엔드포인트 | https://api.compactif.ai/v1 |
| 지원 엔드포인트 | /chat/completions, /completions |
지원되는 OpenAI 파라미터
CompactifAI는 완전히 OpenAI 호환이며 다음 파라미터를 지원해요:
stream, stop, temperature, top_p, max_tokens, presence_penalty, frequency_penalty, logit_bias, user, response_format, seed, tools, tool_choice, parallel_tool_calls, extra_headers
API 키 설정 (API Key Setup)
CompactifAI API 키는 AWS Marketplace 구독을 통해 얻을 수 있어요:
- AWS Marketplace로 구독
- 구독 검증 완료 (24시간 검토 과정)
- 제공된 자격 증명으로 MultiverseIAM 대시보드 접근
- 대시보드에서 API 키 조회
import os
os.environ["COMPACTIFAI_API_KEY"] = "your-api-key"
사용법 (Usage)
SDK:
from litellm import completion
import os
os.environ['COMPACTIFAI_API_KEY'] = "your-api-key"
response = completion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[
{"role": "user", "content": "Hello from LiteLLM!"}
],
)
print(response)
Proxy:
model_list:
- model_name: llama-2-compressed
litellm_params:
model: compactifai/cai-llama-3-1-8b-slim
api_key: os.environ/COMPACTIFAI_API_KEY
스트리밍 (Streaming)
from litellm import completion
import os
os.environ['COMPACTIFAI_API_KEY'] = "your-api-key"
response = completion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[
{"role": "user", "content": "Write a short story"}
],
stream=True,
)
for chunk in response:
print(chunk)
고급 사용법 (Advanced Usage)
사용자 지정 파라미터
from litellm import completion
response = completion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[{"role": "user", "content": "Explain quantum computing"}],
temperature=0.7,
max_tokens=500,
top_p=0.9,
stop=["Human:", "AI:"],
)
Function Calling
CompactifAI는 OpenAI 호환 function calling을 지원해요.
from litellm import completion
functions = [
{
"name": "get_weather",
"description": "Get current weather information",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state"
}
},
"required": ["location"]
}
}
]
response = completion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[{"role": "user", "content": "What's the weather in San Francisco?"}],
tools=[{"type": "function", "function": f} for f in functions],
tool_choice="auto",
)
비동기 사용법
import asyncio
from litellm import acompletion
async def async_call():
response = await acompletion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[{"role": "user", "content": "Hello async world!"}]
)
return response
# Run async function
response = asyncio.run(async_call())
print(response)
사용 가능한 모델 (Available Models)
CompactifAI는 인기 모델의 압축 버전을 제공해요. 최신 목록은 /models 엔드포인트로 가져올 수 있어요.
import httpx
headers = {"Authorization": f"Bearer {your_api_key}"}
response = httpx.get("https://api.compactif.ai/v1/models", headers=headers)
models = response.json()
일반적인 모델 형식:
compactifai/cai-llama-3-1-8b-slimcompactifai/mistral-7b-compressedcompactifai/codellama-7b-compressed
혜택 (Benefits)
- 비용 효율: 표준 모델 대비 최대 70% 낮은 추론 비용
- 고성능: 최소 품질 손실(5% 미만)로 4배 처리량 향상
- 저지연: 빠른 응답 시간에 최적화
- 드롭인 교체: 완전한 OpenAI API 호환성
- 확장 가능: 뛰어난 동시성과 리소스 효율
에러 처리 (Error Handling)
CompactifAI는 표준 OpenAI 호환 에러 응답을 반환해요.
from litellm import completion
from litellm.exceptions import AuthenticationError, RateLimitError
try:
response = completion(
model="compactifai/cai-llama-3-1-8b-slim",
messages=[{"role": "user", "content": "Hello"}]
)
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded")