diff --git a/examples/bedrock_example.py b/examples/bedrock_example.py index de1a69d..16ceb9e 100755 --- a/examples/bedrock_example.py +++ b/examples/bedrock_example.py @@ -2,7 +2,7 @@ import ldclient from ldclient import Context from ldclient.config import Config -from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage +from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage import boto3 client = boto3.client("bedrock-runtime", region_name="us-east-1") @@ -43,14 +43,14 @@ def main(): # Pass a default for improved resiliency when the AI config is unavailable # or LaunchDarkly is unreachable; omit for a disabled default. # Example: - # default = AIConfig( + # default = AICompletionConfigDefault( # enabled=True, # model=ModelConfig(name='my-default-model'), # provider=ProviderConfig(name='bedrock'), # messages=[LDMessage(role='system', content='You are a helpful assistant.')], # ) - # config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) - config_value, tracker = aiclient.config( + # config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) + config_value = aiclient.config( ai_config_key, context, variables={'myUserVariable': "Testing Variable"} @@ -69,7 +69,7 @@ def main(): print("User Input:\n", USER_INPUT) chat_messages.append({'role': 'user', 'content': [{'text': USER_INPUT}]}) - converse = tracker.track_bedrock_converse_metrics( + converse = config_value.tracker.track_bedrock_converse_metrics( client.converse( modelId=config_value.model.name, messages=chat_messages, diff --git a/examples/gemini_example.py b/examples/gemini_example.py index 4099db7..a7e7ded 100644 --- a/examples/gemini_example.py +++ b/examples/gemini_example.py @@ -2,7 +2,7 @@ import ldclient from ldclient import Context from ldclient.config import Config -from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage +from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage from ldai.tracker import TokenUsage from google import genai from google.genai import types @@ -113,14 +113,14 @@ def main(): # Pass a default for improved resiliency when the AI config is unavailable # or LaunchDarkly is unreachable; omit for a disabled default. # Example: - # default = AIConfig( + # default = AICompletionConfigDefault( # enabled=True, # model=ModelConfig(name='gemini-pro'), # provider=ProviderConfig(name='google'), # messages=[LDMessage(role='system', content='You are a helpful assistant.')], # ) - # config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) - config_value, tracker = aiclient.config( + # config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) + config_value = aiclient.config( ai_config_key, context, variables={'myUserVariable': "Testing Variable"} @@ -144,7 +144,7 @@ def main(): user_message = types.Content(role="user", parts=[types.Part(text=USER_INPUT)]) messages.append(user_message) - completion = track_genai_metrics(tracker, lambda: client.models.generate_content( + completion = track_genai_metrics(config_value.tracker, lambda: client.models.generate_content( model=config_value.model.name, contents=messages, config=types.GenerateContentConfig( diff --git a/examples/langchain_example.py b/examples/langchain_example.py index e626626..f814ef6 100644 --- a/examples/langchain_example.py +++ b/examples/langchain_example.py @@ -2,7 +2,7 @@ import ldclient from ldclient import Context from ldclient.config import Config -from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage +from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage from ldai.tracker import TokenUsage from langchain.chat_models import init_chat_model @@ -86,14 +86,14 @@ def main(): # Pass a default for improved resiliency when the AI config is unavailable # or LaunchDarkly is unreachable; omit for a disabled default. # Example: - # default = AIConfig( + # default = AICompletionConfigDefault( # enabled=True, # model=ModelConfig(name='gpt-4'), # provider=ProviderConfig(name='openai'), # messages=[LDMessage(role='system', content='You are a helpful assistant.')], # ) - # config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) - config_value, tracker = aiclient.config( + # config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) + config_value = aiclient.config( ai_config_key, context, variables={'myUserVariable': "Testing Variable"} @@ -121,7 +121,7 @@ def main(): messages.append({'role': 'user', 'content': USER_INPUT}) # Track the LangChain completion with LaunchDarkly metrics - completion = track_langchain_metrics(tracker, lambda: llm.invoke(messages)) + completion = track_langchain_metrics(config_value.tracker, lambda: llm.invoke(messages)) ai_response = completion.content # Add the AI response to the conversation history. diff --git a/examples/openai_example.py b/examples/openai_example.py index f86672f..aefbc82 100755 --- a/examples/openai_example.py +++ b/examples/openai_example.py @@ -2,7 +2,7 @@ import ldclient from ldclient import Context from ldclient.config import Config -from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage +from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage from openai import OpenAI openai_client = OpenAI() @@ -44,14 +44,14 @@ def main(): # Pass a default for improved resiliency when the AI config is unavailable # or LaunchDarkly is unreachable; omit for a disabled default. # Example: - # default = AIConfig( + # default = AICompletionConfigDefault( # enabled=True, # model=ModelConfig(name='gpt-4'), # provider=ProviderConfig(name='openai'), # messages=[LDMessage(role='system', content='You are a helpful assistant.')], # ) - # config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) - config_value, tracker = aiclient.config( + # config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"}) + config_value = aiclient.config( ai_config_key, context, variables={'myUserVariable': "Testing Variable"} @@ -69,7 +69,7 @@ def main(): messages.append({'role': 'user', 'content': USER_INPUT}) # Track the OpenAI completion with LaunchDarkly metrics - completion = tracker.track_openai_metrics( + completion = config_value.tracker.track_openai_metrics( lambda: openai_client.chat.completions.create( model=config_value.model.name, diff --git a/pyproject.toml b/pyproject.toml index 30cb7c9..db30c86 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ direct-judge-example = 'examples.direct_judge_example:main' python = "^3.10" launchdarkly-server-sdk-ai = "^0.16.0" launchdarkly-server-sdk-ai-langchain = "^0.3.0" -launchdarkly-server-sdk-ai-openai = "^0.1.0" +launchdarkly-server-sdk-ai-openai = "^0.2.0" launchdarkly-observability = { version = ">=0.1.0", optional = true } boto3 = { version = ">=0.2.0", optional = true }