From 0d863f00ad57eef4928fa94614c416092182a0e3 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Tue, 10 Oct 2023 07:34:55 -0700 Subject: [PATCH] refactor(bedrock.py): take model names from model cost dict --- docs/my-website/docs/providers/bedrock.md | 21 +++++++++++-------- litellm/__init__.py | 8 +++---- litellm/__pycache__/__init__.cpython-311.pyc | Bin 13291 -> 13370 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 159723 -> 159802 bytes litellm/tests/test_completion.py | 2 +- litellm/utils.py | 5 +++++ 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/docs/my-website/docs/providers/bedrock.md b/docs/my-website/docs/providers/bedrock.md index ebf18f8fb9d..eed9627b317 100644 --- a/docs/my-website/docs/providers/bedrock.md +++ b/docs/my-website/docs/providers/bedrock.md @@ -29,7 +29,7 @@ os.environ["AWS_SECRET_ACCESS_KEY"] = "" os.environ["AWS_REGION_NAME"] = "" response = completion( - model="bedrock/anthropic.claude-instant-v1", + model="anthropic.claude-instant-v1", messages=[{ "content": "Hello, how are you?","role": "user"}] ) ``` @@ -41,7 +41,7 @@ import os from litellm import completion response = completion( - model="bedrock/anthropic.claude-instant-v1", + model="anthropic.claude-instant-v1", messages=[{ "content": "Hello, how are you?","role": "user"}], aws_access_key_id="", aws_secret_access_key="", @@ -66,7 +66,7 @@ bedrock = boto3.client( ) response = completion( - model="bedrock/anthropic.claude-instant-v1", + model="anthropic.claude-instant-v1", messages=[{ "content": "Hello, how are you?","role": "user"}], aws_bedrock_client=bedrock, ) @@ -84,7 +84,7 @@ bedrock = dev_session.client( ) response = completion( - model="bedrock/anthropic.claude-instant-v1", + model="anthropic.claude-instant-v1", messages=[{ "content": "Hello, how are you?","role": "user"}], aws_bedrock_client=bedrock, ) @@ -95,11 +95,14 @@ Here's an example of using a bedrock model with LiteLLM | Model Name | Command | Environment Variables | |--------------------------|------------------------------------------------------------------|---------------------------------------------------------------------| -| Anthropic Claude-V2 | `completion(model='bedrock/anthropic.claude-v2', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | -| Anthropic Claude-Instant V1 | `completion(model='bedrock/anthropic.claude-instant-v1', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | -| Anthropic Claude-V1 | `completion(model='bedrock/anthropic.claude-v1', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | -| AI21 J2-Ultra | `completion(model='bedrock/ai21.j2-ultra', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | -| AI21 J2-Mid | `completion(model='bedrock/ai21.j2-mid', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | +| Anthropic Claude-V2 | `completion(model='anthropic.claude-v2', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | +| Anthropic Claude-Instant V1 | `completion(model='anthropic.claude-instant-v1', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | +| Anthropic Claude-V1 | `completion(model='anthropic.claude-v1', messages=messages)` | `os.environ['ANTHROPIC_ACCESS_KEY_ID']`, `os.environ['ANTHROPIC_SECRET_ACCESS_KEY']` | +| Amazon Titan Lite | `completion(model='amazon.titan-text-lite-v1', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | +| Amazon Titan Express | `completion(model='amazon.titan-text-express-v1', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | +| Cohere Command | `completion(model='cohere.command-text-v14', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | +| AI21 J2-Mid | `completion(model='ai21.j2-mid-v1', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | +| AI21 J2-Ultra | `completion(model='ai21.j2-ultra-v1', messages=messages)` | `os.environ['AWS_ACCESS_KEY_ID']`, `os.environ['AWS_SECRET_ACCESS_KEY']`, `os.environ['AWS_REGION_NAME']` | ## Streaming diff --git a/litellm/__init__.py b/litellm/__init__.py index dcdf2f96a4e..09ca2b2487b 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -94,6 +94,7 @@ vertex_code_text_models: List = [] ai21_models: List = [] nlp_cloud_models: List = [] aleph_alpha_models: List = [] +bedrock_models: List = [] for key, value in model_cost.items(): if value.get('litellm_provider') == 'openai': open_ai_chat_completion_models.append(key) @@ -120,6 +121,8 @@ for key, value in model_cost.items(): nlp_cloud_models.append(key) elif value.get('litellm_provider') == 'aleph_alpha': aleph_alpha_models.append(key) + elif value.get('litellm_provider') == 'bedrock': + bedrock_models.append(key) # well supported replicate llms replicate_models: List = [ @@ -196,11 +199,6 @@ petals_models = [ "petals-team/StableBeluga2", ] -bedrock_models: List = [ - "amazon.titan-tg1-large", - "ai21.j2-grande-instruct" -] - ollama_models = [ "llama2" ] diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index efd2f42d5a970354dce1a977d377eaff496dbdbe..c3290d45bfbee7f1b1978383bc749a79e982ed45 100644 GIT binary patch delta 1755 zcmaKrUrbw79LMji7ic%iLzy(yg0YSS62)Y=O_Hq?+Tk_^W3)gyE$!N#v%)xs;-&m| zc5}`-*Fo9YzlUiUE_2C}C8p}b9yPw2LP)ms!T8{tFZyg^Jm=S@#$>nmwBP$Zzw`Tj z&Y#@#NAlUE^&6{ok0PG$qpjr24XeX6SpRLCN3$gr)K4^0j}ILYqvXKmDgHof z-fY;UC};o;l0jb3np*JTN2;Pc5&zPI-=7u?#&@tW>?6-|8rC&d(f!7t5WW% zQjSaICVZF|Y8wQr~f$JAX0+DTuj#PO12%Bfkm(TY43zz0Z%V->*3s(^?Qpsx&gmGqYYFZyM!)*pQWF$%jh!r59z1u3c3Pbr=PK_=qmU*`Z>E6M%SQ|reCn@ z=sNg$nq@c84e$$ejjf|~mP0wVfi~DpbQ9u>l(Spt7Q2mZvpeVx#FF$b>@rF3!F!4S zw)f3uH(sU>*cRG?oE7>tdx#ziulkkt)qG3+vpRD_oM1hbnC6AX-z~+uaxeegzJqnG z#ab#3Eq0*Yt`Cc&E?N`wbLkX|re?`ZY)bcwm>%G#o$dA!Ic!-VdYUXnV^c+KHb$8q zsWzY1W_Mg{$Y}+|A%5G6XbwV?ITJj?D|^@5;;OZ*?!a1Jb%}G7_;# z5*k2*Ft|CyLx&~Y`AC+e$Lv?W@SF22N0Rgd(6f1w=QKz#@O+Le70y@?-l`CM76fcT zc)LRAwIG;J33fJxx#noF_gQ3r`&{;~4v*tB3~XL1Pl&s)_Ys@>v6!9DkA}ftra2@S z#$Iz{-(mazpIY~B#~$b}zjbJjQ(Kn{-A}vNRv2e3 z8Q)nj`YMcbmW+Qb82$?5T?>Y-&~Cv9>@w=%e3{X@*LSfMrZfqk-I7rd6ma7HF7^*F zx2rpScuve+3qN8G)f~zP zSrH^SAQF@F&WPL?>vU37#9h*HNn(=%Yhp@l&59H+)<~2_QB;<&7sttTm_HNd z{@TI37taxcW>Hqe=E(wGM2o@`vP75BvhbAT=n7g9K1o*TWpr8i6#0PWQC|2oS)*6b z72)3}SLro$O?aJrNUx*o!e_`w^ai>iyg@#uH(y0J#Ue{Sp|{X2;TK4O-bS~DU;NZr z-{Qqf#H4r8U3w4QqxaE$5sH%sVvacZOgxv(F6WUZFV2xK=oZ=%IV!8VTg`ak3P)4cF7gXW{eb#rqYm96MB&C=^-Ad)*($2 zG1Y)lZ9J=KiKI5Gnj4KTT?mWt0_X-TMb$(}NvnkFV|=%2M$Lc$$&y3OWpyZ3XH*TS zIuAMvmHQ|u3xuVQ^FqY@yU~A|_wlT-j`C^+lWfptyQ0pd55J{^UOTgZt?B?&cre%{x+q-13A= o@sHynn>lyFe5L7UrD?}uKWJO4TUT}@yKEEkL^x;hpA$XGe_yfD6951J diff --git a/litellm/__pycache__/utils.cpython-311.pyc b/litellm/__pycache__/utils.cpython-311.pyc index 9f46f02db4f614e65f41e4da3478621a65de5e41..0f7870fb4c227c74db1f08c275dcfb6da07ac3fa 100644 GIT binary patch delta 5842 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