Skip to content

Commit 0d7136b

Browse files
feat: update universal endpoint scripts (#195)
Co-authored-by: abhijit <abhijitastlar@gmail.com>
1 parent 53580d2 commit 0d7136b

5 files changed

Lines changed: 18 additions & 18 deletions

File tree

examples/azure-openai/azure-universal.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,13 @@ def initialize_client():
3131

3232
# Create the Azure client
3333
azure_client = AzureOpenAI(
34-
# Typically "2023-07-01-preview" or a more recent version
35-
api_version="2023-07-01-preview",
36-
azure_endpoint="https://javelinpreview.openai.azure.com",
37-
api_key=azure_openai_api_key,
34+
api_version="2023-09-15-preview"
3835
)
3936

4037
# Initialize the Javelin client and register the Azure client
4138
config = JavelinConfig(javelin_api_key=javelin_api_key)
4239
javelin_client = JavelinClient(config)
43-
rout_name = "azureopenai_univ" # Define the unversal route name
44-
javelin_client.register_azureopenai(azure_client, route_name=rout_name)
40+
javelin_client.register_azureopenai(azure_client)
4541

4642
return azure_client
4743

examples/bedrock/bedrock_client_universal.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ def init_bedrock():
2626
javelin_client = JavelinClient(config)
2727
javelin_client.register_bedrock(
2828
bedrock_runtime_client=bedrock_runtime_client,
29-
bedrock_client=bedrock_client,
30-
route_name="amazon_univ",
29+
bedrock_client=bedrock_client
3130
)
3231
return bedrock_runtime_client
3332

examples/openai/openai-universal.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,12 @@ def init_javelin_client_sync(openai_client):
3434
"""Initialize JavelinClient for synchronous usage and register the OpenAI route."""
3535
try:
3636
# Set (and print) the Javelin key
37-
javelin_api_key = os.getenv(
38-
"JAVELIN_API_KEY"
39-
) # define your javelin api key here
37+
javelin_api_key = os.getenv("JAVELIN_API_KEY")
4038
config = JavelinConfig(
4139
javelin_api_key=javelin_api_key,
4240
)
4341
client = JavelinClient(config)
44-
rout_name = "openai_univ" # define your universal route name here
45-
client.register_openai(openai_client, route_name=rout_name)
42+
client.register_openai(openai_client)
4643
return client
4744
except Exception as e:
4845
raise e

javelin_sdk/client.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ def register_provider(
198198
"/"
199199
) # Remove trailing slash if present
200200

201-
# Update Javelin headers into the client's _custom_headers
202-
openai_client._custom_headers["x-javelin-provider"] = base_url_str
201+
# default route name to provider name if not provided
202+
route_name = route_name or provider_name
203203
openai_client._custom_headers["x-javelin-route"] = route_name
204204

205205
# Store the original methods only if not already stored
@@ -521,12 +521,12 @@ def get_nested_attr(obj, attr_path):
521521

522522
return openai_client
523523

524-
def register_openai(self, openai_client: Any, route_name: str = None) -> Any:
524+
def register_openai(self, openai_client: Any, route_name: str = "") -> Any:
525525
return self.register_provider(
526526
openai_client, provider_name="openai", route_name=route_name
527527
)
528528

529-
def register_azureopenai(self, openai_client: Any, route_name: str = None) -> Any:
529+
def register_azureopenai(self, openai_client: Any, route_name: str = "") -> Any:
530530
return self.register_provider(
531531
openai_client, provider_name="azureopenai", route_name=route_name
532532
)
@@ -546,7 +546,7 @@ def register_bedrock(
546546
bedrock_runtime_client: Any,
547547
bedrock_client: Any = None,
548548
bedrock_session: Any = None,
549-
route_name: str = None,
549+
route_name: str = "",
550550
) -> None:
551551
"""
552552
Register an AWS Bedrock Runtime client
@@ -582,6 +582,9 @@ def register_bedrock(
582582
self.bedrock_session = bedrock_session
583583
self.bedrock_runtime_client = bedrock_runtime_client
584584

585+
if not route_name:
586+
route_name = "amazon"
587+
585588
# Store the default bedrock route
586589
if route_name is not None:
587590
self.use_default_bedrock_route = True

javelin_sdk/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,9 @@ class Template(BaseModel):
350350
class Templates(BaseModel):
351351
templates: List[Template] = Field(default=[], description="List of templates")
352352

353+
class SecretType(str, Enum):
354+
AWS = "aws"
355+
KUBERNETES = "kubernetes"
353356

354357
class Secret(BaseModel):
355358
api_key: str = Field(default=None, description="Key of the Secret")
@@ -367,6 +370,8 @@ class Secret(BaseModel):
367370
enabled: Optional[bool] = Field(
368371
default=True, description="Whether the secret is enabled"
369372
)
373+
secret_name: str = Field(default=None, description="Secret Name of the Secret")
374+
secrets_provider: SecretType = Field(default=SecretType.KUBERNETES, description="Type of the secret: aws or kubernetes")
370375

371376
def masked(self):
372377
"""

0 commit comments

Comments
 (0)