|
3 | 3 | from ldclient.integrations.test_data import TestData
|
4 | 4 | from ldclient.testing.builders import *
|
5 | 5 |
|
6 |
| -from ldai.client import AIConfig, AIConfigData, LDAIClient, LDMessage |
| 6 | +from ldai.client import AIConfig, LDAIClient, LDMessage |
7 | 7 | from ldai.tracker import LDAIConfigTracker
|
8 | 8 |
|
9 | 9 |
|
@@ -85,77 +85,67 @@ def ldai_client(client: LDClient) -> LDAIClient:
|
85 | 85 | def test_model_config_interpolation(ldai_client: LDAIClient, tracker):
|
86 | 86 | context = Context.create('user-key')
|
87 | 87 | default_value = AIConfig(
|
88 |
| - config=AIConfigData( |
89 |
| - model={'modelId': 'fakeModel'}, |
90 |
| - prompt=[LDMessage(role='system', content='Hello, {{name}}!')], |
91 |
| - ), |
92 | 88 | tracker=tracker,
|
93 | 89 | enabled=True,
|
| 90 | + model={'modelId': 'fakeModel'}, |
| 91 | + prompt=[LDMessage(role='system', content='Hello, {{name}}!')], |
94 | 92 | )
|
95 | 93 | variables = {'name': 'World'}
|
96 | 94 |
|
97 | 95 | config = ldai_client.model_config('model-config', context, default_value, variables)
|
98 | 96 |
|
99 |
| - assert config.config.prompt is not None |
100 |
| - assert len(config.config.prompt) > 0 |
101 |
| - assert config.config.prompt[0].content == 'Hello, World!' |
| 97 | + assert config.prompt is not None |
| 98 | + assert len(config.prompt) > 0 |
| 99 | + assert config.prompt[0].content == 'Hello, World!' |
102 | 100 | assert config.enabled is True
|
103 | 101 |
|
104 | 102 |
|
105 | 103 | def test_model_config_no_variables(ldai_client: LDAIClient, tracker):
|
106 | 104 | context = Context.create('user-key')
|
107 |
| - default_value = AIConfig( |
108 |
| - config=AIConfigData(model={}, prompt=[]), tracker=tracker, enabled=True |
109 |
| - ) |
| 105 | + default_value = AIConfig(tracker=tracker, enabled=True, model={}, prompt=[]) |
110 | 106 |
|
111 | 107 | config = ldai_client.model_config('model-config', context, default_value, {})
|
112 | 108 |
|
113 |
| - assert config.config.prompt is not None |
114 |
| - assert len(config.config.prompt) > 0 |
115 |
| - assert config.config.prompt[0].content == 'Hello, !' |
| 109 | + assert config.prompt is not None |
| 110 | + assert len(config.prompt) > 0 |
| 111 | + assert config.prompt[0].content == 'Hello, !' |
116 | 112 | assert config.enabled is True
|
117 | 113 |
|
118 | 114 |
|
119 | 115 | def test_context_interpolation(ldai_client: LDAIClient, tracker):
|
120 | 116 | context = Context.builder('user-key').name("Sandy").build()
|
121 |
| - default_value = AIConfig( |
122 |
| - config=AIConfigData(model={}, prompt=[]), tracker=tracker, enabled=True |
123 |
| - ) |
| 117 | + default_value = AIConfig(tracker=tracker, enabled=True, model={}, prompt=[]) |
124 | 118 | variables = {'name': 'World'}
|
125 | 119 |
|
126 | 120 | config = ldai_client.model_config(
|
127 | 121 | 'ctx-interpolation', context, default_value, variables
|
128 | 122 | )
|
129 | 123 |
|
130 |
| - assert config.config.prompt is not None |
131 |
| - assert len(config.config.prompt) > 0 |
132 |
| - assert config.config.prompt[0].content == 'Hello, Sandy!' |
| 124 | + assert config.prompt is not None |
| 125 | + assert len(config.prompt) > 0 |
| 126 | + assert config.prompt[0].content == 'Hello, Sandy!' |
133 | 127 | assert config.enabled is True
|
134 | 128 |
|
135 | 129 |
|
136 | 130 | def test_model_config_multiple(ldai_client: LDAIClient, tracker):
|
137 | 131 | context = Context.create('user-key')
|
138 |
| - default_value = AIConfig( |
139 |
| - config=AIConfigData(model={}, prompt=[]), tracker=tracker, enabled=True |
140 |
| - ) |
| 132 | + default_value = AIConfig(tracker=tracker, enabled=True, model={}, prompt=[]) |
141 | 133 | variables = {'name': 'World', 'day': 'Monday'}
|
142 | 134 |
|
143 | 135 | config = ldai_client.model_config(
|
144 | 136 | 'multiple-prompt', context, default_value, variables
|
145 | 137 | )
|
146 | 138 |
|
147 |
| - assert config.config.prompt is not None |
148 |
| - assert len(config.config.prompt) > 0 |
149 |
| - assert config.config.prompt[0].content == 'Hello, World!' |
150 |
| - assert config.config.prompt[1].content == 'The day is, Monday!' |
| 139 | + assert config.prompt is not None |
| 140 | + assert len(config.prompt) > 0 |
| 141 | + assert config.prompt[0].content == 'Hello, World!' |
| 142 | + assert config.prompt[1].content == 'The day is, Monday!' |
151 | 143 | assert config.enabled is True
|
152 | 144 |
|
153 | 145 |
|
154 | 146 | def test_model_config_disabled(ldai_client: LDAIClient, tracker):
|
155 | 147 | context = Context.create('user-key')
|
156 |
| - default_value = AIConfig( |
157 |
| - config=AIConfigData(model={}, prompt=[]), tracker=tracker, enabled=False |
158 |
| - ) |
| 148 | + default_value = AIConfig(tracker=tracker, enabled=False, model={}, prompt=[]) |
159 | 149 |
|
160 | 150 | config = ldai_client.model_config('off-config', context, default_value, {})
|
161 | 151 |
|
|
0 commit comments