Add Novita as a third LLM provider for generate() - #19
Open
jax-novita wants to merge 3 commits into
Open
Conversation
Novita AI exposes an OpenAI-compatible Chat Completions API, so the implementation follows the same shape as _call_openai: same request kwargs, same structured-output response_format handling, only the client's base_url and default API key env var differ.
The models listed for Novita were older ids that no longer reflect what the platform leads with. Point the recommendations at the three current flagships instead, each verified against api.novita.ai: moonshotai/kimi-k3 1M context, native vision zai-org/glm-5.2 1M context, long-horizon agentic work deepseek/deepseek-v4-flash-0731 1M context, cheapest of the three Context windows, output limits, input modalities and pricing were taken from the live /openai/v1/models response rather than carried over.
QA flagged tests/test_llm_pipeline.py:246 as failing `ruff format --check`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
provider="novita"togenerate(), calling Novita AI's OpenAI-compatible Chat Completions API (same request shape as_call_openai, onlybase_urland the default API key env var differ)moonshotai/kimi-k3when no model is passed; readsNOVITA_API_KEYwhen noapi_keyis passedprovidertype hint, docstring, and error message; updates the README example to mention the new optionTest Plan
pytest)ruff check src/ tests/,ruff format --check)NOVITA_API_KEY