Skip to content

Commit 63578ac

Browse files
fix: update example code for sdk-ai 0.2.0 API changes
- AIConfig renamed to AICompletionConfigDefault for defaults - config() now returns AICompletionConfig directly instead of tuple - Access tracker via config_value.tracker instead of tuple unpacking - Updated openai, langchain, bedrock, and gemini examples Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent 63a6bf0 commit 63578ac

4 files changed

Lines changed: 20 additions & 20 deletions

File tree

examples/bedrock_example.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import ldclient
33
from ldclient import Context
44
from ldclient.config import Config
5-
from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage
5+
from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage
66
import boto3
77

88
client = boto3.client("bedrock-runtime", region_name="us-east-1")
@@ -43,14 +43,14 @@ def main():
4343
# Pass a default for improved resiliency when the AI config is unavailable
4444
# or LaunchDarkly is unreachable; omit for a disabled default.
4545
# Example:
46-
# default = AIConfig(
46+
# default = AICompletionConfigDefault(
4747
# enabled=True,
4848
# model=ModelConfig(name='my-default-model'),
4949
# provider=ProviderConfig(name='bedrock'),
5050
# messages=[LDMessage(role='system', content='You are a helpful assistant.')],
5151
# )
52-
# config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
53-
config_value, tracker = aiclient.config(
52+
# config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
53+
config_value = aiclient.config(
5454
ai_config_key,
5555
context,
5656
variables={'myUserVariable': "Testing Variable"}
@@ -69,7 +69,7 @@ def main():
6969
print("User Input:\n", USER_INPUT)
7070
chat_messages.append({'role': 'user', 'content': [{'text': USER_INPUT}]})
7171

72-
converse = tracker.track_bedrock_converse_metrics(
72+
converse = config_value.tracker.track_bedrock_converse_metrics(
7373
client.converse(
7474
modelId=config_value.model.name,
7575
messages=chat_messages,

examples/gemini_example.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import ldclient
33
from ldclient import Context
44
from ldclient.config import Config
5-
from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage
5+
from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage
66
from ldai.tracker import TokenUsage
77
from google import genai
88
from google.genai import types
@@ -113,14 +113,14 @@ def main():
113113
# Pass a default for improved resiliency when the AI config is unavailable
114114
# or LaunchDarkly is unreachable; omit for a disabled default.
115115
# Example:
116-
# default = AIConfig(
116+
# default = AICompletionConfigDefault(
117117
# enabled=True,
118118
# model=ModelConfig(name='gemini-pro'),
119119
# provider=ProviderConfig(name='google'),
120120
# messages=[LDMessage(role='system', content='You are a helpful assistant.')],
121121
# )
122-
# config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
123-
config_value, tracker = aiclient.config(
122+
# config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
123+
config_value = aiclient.config(
124124
ai_config_key,
125125
context,
126126
variables={'myUserVariable': "Testing Variable"}
@@ -144,7 +144,7 @@ def main():
144144
user_message = types.Content(role="user", parts=[types.Part(text=USER_INPUT)])
145145
messages.append(user_message)
146146

147-
completion = track_genai_metrics(tracker, lambda: client.models.generate_content(
147+
completion = track_genai_metrics(config_value.tracker, lambda: client.models.generate_content(
148148
model=config_value.model.name,
149149
contents=messages,
150150
config=types.GenerateContentConfig(

examples/langchain_example.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import ldclient
33
from ldclient import Context
44
from ldclient.config import Config
5-
from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage
5+
from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage
66
from ldai.tracker import TokenUsage
77
from langchain.chat_models import init_chat_model
88

@@ -86,14 +86,14 @@ def main():
8686
# Pass a default for improved resiliency when the AI config is unavailable
8787
# or LaunchDarkly is unreachable; omit for a disabled default.
8888
# Example:
89-
# default = AIConfig(
89+
# default = AICompletionConfigDefault(
9090
# enabled=True,
9191
# model=ModelConfig(name='gpt-4'),
9292
# provider=ProviderConfig(name='openai'),
9393
# messages=[LDMessage(role='system', content='You are a helpful assistant.')],
9494
# )
95-
# config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
96-
config_value, tracker = aiclient.config(
95+
# config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
96+
config_value = aiclient.config(
9797
ai_config_key,
9898
context,
9999
variables={'myUserVariable': "Testing Variable"}
@@ -121,7 +121,7 @@ def main():
121121
messages.append({'role': 'user', 'content': USER_INPUT})
122122

123123
# Track the LangChain completion with LaunchDarkly metrics
124-
completion = track_langchain_metrics(tracker, lambda: llm.invoke(messages))
124+
completion = track_langchain_metrics(config_value.tracker, lambda: llm.invoke(messages))
125125
ai_response = completion.content
126126

127127
# Add the AI response to the conversation history.

examples/openai_example.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import ldclient
33
from ldclient import Context
44
from ldclient.config import Config
5-
from ldai.client import LDAIClient, AIConfig, ModelConfig, ProviderConfig, LDMessage
5+
from ldai.client import LDAIClient, AICompletionConfigDefault, ModelConfig, ProviderConfig, LDMessage
66
from openai import OpenAI
77

88
openai_client = OpenAI()
@@ -44,14 +44,14 @@ def main():
4444
# Pass a default for improved resiliency when the AI config is unavailable
4545
# or LaunchDarkly is unreachable; omit for a disabled default.
4646
# Example:
47-
# default = AIConfig(
47+
# default = AICompletionConfigDefault(
4848
# enabled=True,
4949
# model=ModelConfig(name='gpt-4'),
5050
# provider=ProviderConfig(name='openai'),
5151
# messages=[LDMessage(role='system', content='You are a helpful assistant.')],
5252
# )
53-
# config_value, tracker = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
54-
config_value, tracker = aiclient.config(
53+
# config_value = aiclient.config(ai_config_key, context, default, {'myUserVariable': "Testing Variable"})
54+
config_value = aiclient.config(
5555
ai_config_key,
5656
context,
5757
variables={'myUserVariable': "Testing Variable"}
@@ -69,7 +69,7 @@ def main():
6969
messages.append({'role': 'user', 'content': USER_INPUT})
7070

7171
# Track the OpenAI completion with LaunchDarkly metrics
72-
completion = tracker.track_openai_metrics(
72+
completion = config_value.tracker.track_openai_metrics(
7373
lambda:
7474
openai_client.chat.completions.create(
7575
model=config_value.model.name,

0 commit comments

Comments
 (0)