Novita AI
Novita AI
| 속성 | 내용 |
|---|---|
| 설명 | Novita AI는 저렴하고 신뢰할 수 있는 GPU 클라우드 인프라를 기반으로, 간단한 API로 개발자가 AI 모델을 쉽게 배포할 수 있게 돕는 AI 클라우드 플랫폼이에요. LiteLLM은 Novita AI의 모든 모델을 지원해요. |
| LiteLLM 제공자 라우트 | novita/ |
| 제공자 문서 | Novita AI Docs ↗ |
| 제공자 API 엔드포인트 | https://api.novita.ai/v3/openai |
| 지원 OpenAI 엔드포인트 | /chat/completions, /completions |
API 키 (API Keys)
API 키는 여기서 받을 수 있어요.
import os
os.environ["NOVITA_API_KEY"] = "your-api-key"
지원 OpenAI 파라미터 (Supported OpenAI Params)
max_tokensstreamstream_optionsnseedfrequency_penaltypresence_penaltyrepetition_penaltystoptemperaturetop_ptop_kmin_plogit_biaslogprobstop_logprobstoolsresponse_formatseparate_reasoning
샘플 사용법 (Sample Usage)
- SDK
- PROXY
import os
from litellm import completion
os.environ["NOVITA_API_KEY"] = ""
response = completion(
model="novita/deepseek/deepseek-r1-turbo",
messages=[{"role": "user", "content": "List 5 popular cookie recipes."}]
)
content = response.get('choices', [{}])[0].get('message', {}).get('content')
print(content)
- config.yaml에 모델 추가
model_list:
- model_name: deepseek-r1-turbo
litellm_params:
model: novita/deepseek/deepseek-r1-turbo
api_key: os.environ/NOVITA_API_KEY
- 프록시 시작
$ litellm --config /path/to/config.yaml
- 요청 보내기!
curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ***' \
-d '{
"model": "deepseek-r1-turbo",
"messages": [
{"role": "user", "content": "List 5 popular cookie recipes."}
]
}
'
도구 호출 (Tool Calling)
from litellm import completion
import os
# set env
os.environ["NOVITA_API_KEY"] = ""
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["location"],
},
},
}
]
messages = [{"role": "user", "content": "What's the weather like in Boston today?"}]
response = completion(
model="novita/deepseek/deepseek-r1-turbo",
messages=messages,
tools=tools,
)
# Add any assertions, here to check response args
print(response)
assert isinstance(response.choices[0].message.tool_calls[0].function.name, str)
assert isinstance(
response.choices[0].message.tool_calls[0].function.arguments, str
)
JSON 모드 (JSON Mode)
- SDK
- PROXY
from litellm import completion
import json
import os
os.environ['NOVITA_API_KEY'] = ""
messages = [
{
"role": "user",
"content": "List 5 popular cookie recipes."
}
]
response = completion(
model="novita/deepseek/deepseek-r1-turbo",
messages=messages,
response_format={"type": "json_object"} # 👈 KEY CHANGE
)
print(json.loads(response.choices[0].message.content))
- config.yaml에 모델 추가
model_list:
- model_name: deepseek-r1-turbo
litellm_params:
model: novita/deepseek/deepseek-r1-turbo
api_key: os.environ/NOVITA_API_KEY
- 프록시 시작
$ litellm --config /path/to/config.yaml
- 요청 보내기!
curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ***" \
-d '{
"model": "deepseek-r1-turbo",
"messages": [
{"role": "user", "content": "List 5 popular cookie recipes."}
],
"response_format": {"type": "json_object"}
}
'
채팅 모델 (Chat Models)
🚨 LiteLLM은 모든 Novita AI 모델을 지원해요. model=novita/<your-novita-model>로 보내면 Novita AI로 전송돼요. 모든 Novita AI 모델은 여기서 확인하세요.
| 모델명 | 함수 호출 |
|---|---|
novita/deepseek/deepseek-r1-turbo |
completion('novita/deepseek/deepseek-r1-turbo', messages) |
novita/deepseek/deepseek-v3-turbo |
completion('novita/deepseek/deepseek-v3-turbo', messages) |
novita/deepseek/deepseek-v3-0324 |
completion('novita/deepseek/deepseek-v3-0324', messages) |
novita/qwen/qwen3-235b-a22b-fp8 |
completion('novita/qwen/qwen/qwen3-235b-a22b-fp8', messages) |
novita/qwen/qwen3-30b-a3b-fp8 |
completion('novita/qwen/qwen3-30b-a3b-fp8', messages) |
novita/qwen/qwen/qwen3-32b-fp8 |
completion('novita/qwen/qwen3-32b-fp8', messages) |
novita/qwen/qwen3-30b-a3b-fp8 |
completion('novita/qwen/qwen3-30b-a3b-fp8', messages) |
novita/qwen/qwen2.5-vl-72b-instruct |
completion('novita/qwen/qwen2.5-vl-72b-instruct', messages) |
novita/meta-llama/llama-4-maverick-17b-128e-instruct-fp8 |
completion('novita/meta-llama/llama-4-maverick-17b-128e-instruct-fp8', messages) |
novita/meta-llama/llama-3.3-70b-instruct |
completion('novita/meta-llama/llama-3.3-70b-instruct', messages) |
novita/meta-llama/llama-3.1-8b-instruct |
completion('novita/meta-llama/llama-3.1-8b-instruct', messages) |
novita/meta-llama/llama-3.1-8b-instruct-max |
completion('novita/meta-llama/llama-3.1-8b-instruct-max', messages) |
novita/meta-llama/llama-3.1-70b-instruct |
completion('novita/meta-llama/llama-3.1-70b-instruct', messages) |
novita/gryphe/mythomax-l2-13b |
completion('novita/gryphe/mythomax-l2-13b', messages) |
novita/google/gemma-3-27b-it |
completion('novita/google/gemma-3-27b-it', messages) |
novita/mistralai/mistral-nemo |
completion('novita/mistralai/mistral-nemo', messages) |
출처: 문서