From c30eba624537cdb1abcf00e2a688bac7abd79a84 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 28 Jan 2025 07:51:09 +0800 Subject: [PATCH] feat: add Novita AI deepseek models (#1647) Co-authored-by: Suchintan --- README.md | 2 +- setup.sh | 2 ++ skyvern/forge/sdk/api/llm/config_registry.py | 30 ++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 85c49691..1a441b55 100644 --- a/README.md +++ b/README.md @@ -294,7 +294,7 @@ More extensive documentation can be found on our [documentation website](https:/ | `ENABLE_GEMINI` | Register Gemini models| Boolean | `true`, `false` | | `ENABLE_NOVITA`| Register Novita AI models | Boolean | `true`, `false` | | `LLM_KEY` | The name of the model you want to use | String | Currently supported llm keys: `OPENAI_GPT4_TURBO`, `OPENAI_GPT4V`, `OPENAI_GPT4O`, `OPENAI_GPT4O_MINI`, `ANTHROPIC_CLAUDE3`, `ANTHROPIC_CLAUDE3_OPUS`, `ANTHROPIC_CLAUDE3_SONNET`, `ANTHROPIC_CLAUDE3_HAIKU`, `ANTHROPIC_CLAUDE3.5_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_OPUS`, `BEDROCK_ANTHROPIC_CLAUDE3_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_HAIKU`, `BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET`, `AZURE_OPENAI`, `GEMINI_PRO`, `GEMINI_FLASH`, `BEDROCK_AMAZON_NOVA_PRO`, `BEDROCK_AMAZON_NOVA_LITE`| -| `SECONDARY_LLM_KEY` | The name of the model for mini agents skyvern runs with | String | Currently supported llm keys: `OPENAI_GPT4_TURBO`, `OPENAI_GPT4V`, `OPENAI_GPT4O`, `OPENAI_GPT4O_MINI`, `ANTHROPIC_CLAUDE3`, `ANTHROPIC_CLAUDE3_OPUS`, `ANTHROPIC_CLAUDE3_SONNET`, `ANTHROPIC_CLAUDE3_HAIKU`, `ANTHROPIC_CLAUDE3.5_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_OPUS`, `BEDROCK_ANTHROPIC_CLAUDE3_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_HAIKU`, `BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET`, `AZURE_OPENAI`, `GEMINI_PRO`, `GEMINI_FLASH`, `NOVITA_LLAMA_3_3_70B`, `NOVITA_LLAMA_3_2_1B`, `NOVITA_LLAMA_3_2_3B`, `NOVITA_LLAMA_3_2_11B_VISION`, `NOVITA_LLAMA_3_1_8B`, `NOVITA_LLAMA_3_1_70B`, `NOVITA_LLAMA_3_1_405B`, `NOVITA_LLAMA_3_8B`, `NOVITA_LLAMA_3_70B`| +| `SECONDARY_LLM_KEY` | The name of the model for mini agents skyvern runs with | String | Currently supported llm keys: `OPENAI_GPT4_TURBO`, `OPENAI_GPT4V`, `OPENAI_GPT4O`, `OPENAI_GPT4O_MINI`, `ANTHROPIC_CLAUDE3`, `ANTHROPIC_CLAUDE3_OPUS`, `ANTHROPIC_CLAUDE3_SONNET`, `ANTHROPIC_CLAUDE3_HAIKU`, `ANTHROPIC_CLAUDE3.5_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_OPUS`, `BEDROCK_ANTHROPIC_CLAUDE3_SONNET`, `BEDROCK_ANTHROPIC_CLAUDE3_HAIKU`, `BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET`, `AZURE_OPENAI`, `GEMINI_PRO`, `GEMINI_FLASH`, `NOVITA_DEEPSEEK_R1`, `NOVITA_DEEPSEEK_V3`, `NOVITA_LLAMA_3_3_70B`, `NOVITA_LLAMA_3_2_1B`, `NOVITA_LLAMA_3_2_3B`, `NOVITA_LLAMA_3_2_11B_VISION`, `NOVITA_LLAMA_3_1_8B`, `NOVITA_LLAMA_3_1_70B`, `NOVITA_LLAMA_3_1_405B`, `NOVITA_LLAMA_3_8B`, `NOVITA_LLAMA_3_70B`| | `OPENAI_API_KEY` | OpenAI API Key | String | `sk-1234567890` | | `OPENAI_API_BASE` | OpenAI API Base, optional | String | `https://openai.api.base` | | `OPENAI_ORGANIZATION` | OpenAI Organization ID, optional | String | `your-org-id` | diff --git a/setup.sh b/setup.sh index c06a2d41..409a4830 100755 --- a/setup.sh +++ b/setup.sh @@ -127,6 +127,8 @@ setup_llm_providers() { update_or_add_env_var "NOVITA_API_KEY" "$novita_api_key" update_or_add_env_var "ENABLE_NOVITA" "true" model_options+=( + "NOVITA_DEEPSEEK_R1" + "NOVITA_DEEPSEEK_V3" "NOVITA_LLAMA_3_3_70B" "NOVITA_LLAMA_3_2_1B" "NOVITA_LLAMA_3_2_3B" diff --git a/skyvern/forge/sdk/api/llm/config_registry.py b/skyvern/forge/sdk/api/llm/config_registry.py index 4c0a87e6..ed7dc97e 100644 --- a/skyvern/forge/sdk/api/llm/config_registry.py +++ b/skyvern/forge/sdk/api/llm/config_registry.py @@ -290,6 +290,36 @@ if settings.ENABLE_GEMINI: ) if settings.ENABLE_NOVITA: + LLMConfigRegistry.register_config( + "NOVITA_DEEPSEEK_R1", + LLMConfig( + "openai/deepseek/deepseek-r1", + ["NOVITA_API_KEY"], + supports_vision=False, + add_assistant_prefix=False, + litellm_params=LiteLLMParams( + api_base="https://api.novita.ai/v3/openai", + api_key=settings.NOVITA_API_KEY, + api_version=settings.NOVITA_API_VERSION, + model_info={"model_name": "openai/deepseek/deepseek-r1"}, + ), + ), + ) + LLMConfigRegistry.register_config( + "NOVITA_DEEPSEEK_V3", + LLMConfig( + "openai/deepseek/deepseek_v3", + ["NOVITA_API_KEY"], + supports_vision=False, + add_assistant_prefix=False, + litellm_params=LiteLLMParams( + api_base="https://api.novita.ai/v3/openai", + api_key=settings.NOVITA_API_KEY, + api_version=settings.NOVITA_API_VERSION, + model_info={"model_name": "openai/deepseek/deepseek_v3"}, + ), + ), + ) LLMConfigRegistry.register_config( "NOVITA_LLAMA_3_3_70B", LLMConfig(