feat(llm): add native Novita AI provider via OpenAI-compatible endpoint (#155)
* feat(llm): add native Novita AI provider via OpenAI-compatible endpoint Wire Novita AI (https://api.novita.ai/openai/v1) as a first-class LLM provider, following the same pattern used for DeepSeek/HuggingFace/NanoGPT: dispatched through the existing OpenAIAdapter, resolved via NOVITA_API_KEY, with a default model, model catalog entries, config/setup wiring, and regression tests. * fixup(llm): use deepseek/deepseek-v4-flash-0731 as the second Novita model Swap the curated Novita model catalog's second entry from qwen/qwen3-coder-30b-a3b-instruct to deepseek/deepseek-v4-flash-0731 per requested model selection. Verified live against api.novita.ai/openai/v1/models. * fixup(llm): replace superseded DeepSeek Flash id with current Pro flagship QA flagged that deepseek/deepseek-v4-flash-0731 has been superseded in the live Novita catalog; deepseek/deepseek-v4-pro-0813 is now the current serving DeepSeek flagship. Swap the second Novita model catalog entry accordingly. --------- Co-authored-by: jax-novita <jax-novita@users.noreply.github.com> Co-authored-by: Joseph Magly <1159087+jmagly@users.noreply.github.com>
This commit is contained in:
13 files changed
+274
-7
No files matched your search
@@ -44,10 +44,17 @@ export VENICE_API_KEY=...
|
||||
export ANTHROPIC_API_KEY=...
|
||||
export OPENAI_API_KEY=...
|
||||
export DEEPSEEK_API_KEY=...
|
||||
export NOVITA_API_KEY=... # third-party hosted OpenAI-compatible API
|
||||
export LITELLM_BASE_URL=http://localhost:4000/v1
|
||||
export LITELLM_API_KEY=... # only if your LiteLLM proxy requires one
|
||||
```
|
||||
|
||||
Hosted providers receive the model id, prompts/context, generated output, and
|
||||
request metadata needed to serve the request. For Novita, review the current
|
||||
[privacy policy](https://novita.ai/legal/privacy-policy) and
|
||||
[terms](https://novita.ai/legal/terms-of-service) before sending sensitive
|
||||
target data; T3MP3ST does not independently certify it for sensitive workloads.
|
||||
|
||||
Local/offline example with Ollama:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -5621,6 +5621,7 @@
|
||||
<option value="venice">Venice · OpenAI-compatible</option>
|
||||
<option value="openai">OpenAI · OpenAI-compatible</option>
|
||||
<option value="nanogpt">NanoGPT · OpenAI-compatible</option>
|
||||
<option value="novita">Novita AI · OpenAI-compatible</option>
|
||||
<option value="anthropic">Claude · Anthropic Messages API</option>
|
||||
</select>
|
||||
</div>
|
||||
@@ -9244,6 +9245,7 @@ o.id === 'coordinator' ? `1. MISSION_STATUS: Progress assessment
|
||||
venice: 'https://api.venice.ai/api/v1',
|
||||
openai: 'https://api.openai.com/v1',
|
||||
nanogpt: 'https://nano-gpt.com/api/v1',
|
||||
novita: 'https://api.novita.ai/openai/v1',
|
||||
anthropic: 'https://api.anthropic.com',
|
||||
};
|
||||
function uacProvider() { return document.getElementById('uacProvider')?.value || 'openrouter'; }
|
||||
|
||||
Reference in new issue
Block a user