From 57ea73b02c3a1b293f3fdb5b404bb729a1cb5256 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Thu, 5 Dec 2024 00:10:34 -0800 Subject: [PATCH] litellm Amazon Nova support --- README.md | 2 +- poetry.lock | 17 +++++++++-------- pyproject.toml | 2 +- skyvern/forge/sdk/api/llm/config_registry.py | 6 +++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index fd6ee9bf71..17c6a87503 100644 --- a/README.md +++ b/README.md @@ -285,7 +285,7 @@ More extensive documentation can be found on our [documentation website](https:/ | `ENABLE_AZURE` | Register Azure OpenAI models | Boolean | `true`, `false` | | `ENABLE_BEDROCK` | Register AWS Bedrock models. To use AWS Bedrock, you need to make sure your [AWS configurations](https://github.com/boto/boto3?tab=readme-ov-file#using-boto3) are set up correctly first. | Boolean | `true`, `false` | | `ENABLE_GEMINI` | Register Gemini 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_FLUSH`, `BEDROCK_AMAZON_NOVA_PRO`, `BEDROCK_AMAZON_NOVA_MICRO`| +| `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_FLUSH`, `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_FLUSH`| | `OPENAI_API_KEY` | OpenAI API Key | String | `sk-1234567890` | | `OPENAI_API_BASE` | OpenAI API Base, optional | String | `https://openai.api.base` | diff --git a/poetry.lock b/poetry.lock index 3945ff4922..b7b29620ea 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2460,22 +2460,23 @@ files = [ [[package]] name = "litellm" -version = "1.52.6" +version = "1.53.6" description = "Library to easily interface with LLM API providers" optional = false python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.52.6-py3-none-any.whl", hash = "sha256:9b3e9fb51f7e2a3cc8b50997b346c55aae9435a138d9a656f18e262750a1bfe1"}, - {file = "litellm-1.52.6.tar.gz", hash = "sha256:d67c653f97bd07f503b975c167de1e25632b7bc6bb3c008c46921e4acc81ec60"}, + {file = "litellm-1.53.6-py3-none-any.whl", hash = "sha256:61af22d09523ca72d63f514be745b35919b7042baea7a9fb69658713c0880731"}, + {file = "litellm-1.53.6.tar.gz", hash = "sha256:63bfc61a82c5075458f1c50146df106e4c926f605115c8ed657767ea15483a69"}, ] [package.dependencies] aiohttp = "*" click = "*" +httpx = ">=0.23.0,<0.28.0" importlib-metadata = ">=6.8.0" jinja2 = ">=3.1.2,<4.0.0" jsonschema = ">=4.22.0,<5.0.0" -openai = ">=1.54.0" +openai = ">=1.55.3" pydantic = ">=2.0.0,<3.0.0" python-dotenv = ">=0.2.0" requests = ">=2.31.0,<3.0.0" @@ -3103,13 +3104,13 @@ sympy = "*" [[package]] name = "openai" -version = "1.54.3" +version = "1.56.2" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" files = [ - {file = "openai-1.54.3-py3-none-any.whl", hash = "sha256:f18dbaf09c50d70c4185b892a2a553f80681d1d866323a2da7f7be2f688615d5"}, - {file = "openai-1.54.3.tar.gz", hash = "sha256:7511b74eeb894ac0b0253dc71f087a15d2e4d71d22d0088767205143d880cca6"}, + {file = "openai-1.56.2-py3-none-any.whl", hash = "sha256:82d0c48f9504e04c7797e9b799dcf7f49a246d99b6cbfd90f3193ea80815b69e"}, + {file = "openai-1.56.2.tar.gz", hash = "sha256:17312af69bc7670d4048f98ab5849f8784d98c39ac64fcde19406e3774a0c1e5"}, ] [package.dependencies] @@ -6170,4 +6171,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.11,<3.12" -content-hash = "60837e146972c10579020565a94867ab1e29f74407da37dfc4f9b16c6f75e7ca" +content-hash = "196f2a935f35a54e254b6dd29d827181f3ce2f480946cf126083be05d1f88b3b" diff --git a/pyproject.toml b/pyproject.toml index c43da92423..bede173b2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ python-multipart = "^0.0.6" toml = "^0.10.2" jinja2 = "^3.1.2" uvicorn = {extras = ["standard"], version = "^0.24.0.post1"} -litellm = "1.52.6" +litellm = "1.53.6" selenium = "^4.13.0" playwright = "1.46.0" pre-commit = "^3.5.0" diff --git a/skyvern/forge/sdk/api/llm/config_registry.py b/skyvern/forge/sdk/api/llm/config_registry.py index 7359459a1a..9667444800 100644 --- a/skyvern/forge/sdk/api/llm/config_registry.py +++ b/skyvern/forge/sdk/api/llm/config_registry.py @@ -211,16 +211,16 @@ def get_config(cls, llm_key: str) -> LLMRouterConfig | LLMConfig: LLMConfigRegistry.register_config( "BEDROCK_AMAZON_NOVA_PRO", LLMConfig( - "bedrock/amazon.nova-pro-v1:0", + "bedrock/us.amazon.nova-pro-v1:0", ["AWS_REGION"], supports_vision=True, add_assistant_prefix=True, ), ) LLMConfigRegistry.register_config( - "BEDROCK_AMAZON_NOVA_MICRO", + "BEDROCK_AMAZON_NOVA_LITE", LLMConfig( - "bedrock/amazon.nova-micro-v1:0", + "bedrock/us.amazon.nova-lite-v1:0", ["AWS_REGION"], supports_vision=True, add_assistant_prefix=True,