25
25
26
26
class KernelConfig :
27
27
def __init__ (self ) -> None :
28
- self ._text_services : Dict [
28
+ self ._text_completion_services : Dict [
29
29
str , Callable [["KernelBase" ], TextCompletionClientBase ]
30
30
] = {}
31
31
self ._chat_services : Dict [
32
32
str , Callable [["KernelBase" ], ChatCompletionClientBase ]
33
33
] = {}
34
- self ._embedding_services : Dict [
34
+ self ._text_embedding_generation_services : Dict [
35
35
str , Callable [["KernelBase" ], EmbeddingGeneratorBase ]
36
36
] = {}
37
37
38
- self ._default_text_service : Optional [str ] = None
38
+ self ._default_text_completion_service : Optional [str ] = None
39
39
self ._default_chat_service : Optional [str ] = None
40
- self ._default_embedding_service : Optional [str ] = None
40
+ self ._default_text_embedding_generation_service : Optional [str ] = None
41
41
42
42
self ._retry_mechanism : RetryMechanism = PassThroughWithoutRetry ()
43
43
@@ -46,14 +46,14 @@ def get_ai_service(
46
46
) -> Callable [["KernelBase" ], T ]:
47
47
matching_type = {}
48
48
if type == TextCompletionClientBase :
49
- service_id = service_id or self ._default_text_service
50
- matching_type = self ._text_services
49
+ service_id = service_id or self ._default_text_completion_service
50
+ matching_type = self ._text_completion_services
51
51
elif type == ChatCompletionClientBase :
52
52
service_id = service_id or self ._default_chat_service
53
53
matching_type = self ._chat_services
54
54
elif type == EmbeddingGeneratorBase :
55
- service_id = service_id or self ._default_embedding_service
56
- matching_type = self ._embedding_services
55
+ service_id = service_id or self ._default_text_embedding_generation_service
56
+ matching_type = self ._text_embedding_generation_services
57
57
else :
58
58
raise ValueError (f"Unknown AI service type: { type .__name__ } " )
59
59
@@ -64,16 +64,16 @@ def get_ai_service(
64
64
65
65
return matching_type [service_id ]
66
66
67
- def all_text_services (self ) -> List [str ]:
68
- return list (self ._text_services .keys ())
67
+ def all_text_completion_services (self ) -> List [str ]:
68
+ return list (self ._text_completion_services .keys ())
69
69
70
70
def all_chat_services (self ) -> List [str ]:
71
71
return list (self ._chat_services .keys ())
72
72
73
- def all_embedding_services (self ) -> List [str ]:
74
- return list (self ._embedding_services .keys ())
73
+ def all_text_embedding_generation_services (self ) -> List [str ]:
74
+ return list (self ._text_embedding_generation_services .keys ())
75
75
76
- def add_text_service (
76
+ def add_text_completion_service (
77
77
self ,
78
78
service_id : str ,
79
79
service : Union [
@@ -83,16 +83,16 @@ def add_text_service(
83
83
) -> "KernelConfig" :
84
84
if not service_id :
85
85
raise ValueError ("service_id must be a non-empty string" )
86
- if not overwrite and service_id in self ._text_services :
86
+ if not overwrite and service_id in self ._text_completion_services :
87
87
raise ValueError (
88
88
f"Text service with service_id '{ service_id } ' already exists"
89
89
)
90
90
91
- self ._text_services [service_id ] = (
91
+ self ._text_completion_services [service_id ] = (
92
92
service if isinstance (service , Callable ) else lambda _ : service
93
93
)
94
- if self ._default_text_service is None :
95
- self ._default_text_service = service_id
94
+ if self ._default_text_completion_service is None :
95
+ self ._default_text_completion_service = service_id
96
96
97
97
return self
98
98
@@ -118,13 +118,13 @@ def add_chat_service(
118
118
self ._default_chat_service = service_id
119
119
120
120
if isinstance (service , TextCompletionClientBase ):
121
- self .add_text_service (service_id , service )
122
- if self ._default_text_service is None :
123
- self ._default_text_service = service_id
121
+ self .add_text_completion_service (service_id , service )
122
+ if self ._default_text_completion_service is None :
123
+ self ._default_text_completion_service = service_id
124
124
125
125
return self
126
126
127
- def add_embedding_service (
127
+ def add_text_embedding_generation_service (
128
128
self ,
129
129
service_id : str ,
130
130
service : Union [
@@ -134,28 +134,28 @@ def add_embedding_service(
134
134
) -> "KernelConfig" :
135
135
if not service_id :
136
136
raise ValueError ("service_id must be a non-empty string" )
137
- if not overwrite and service_id in self ._embedding_services :
137
+ if not overwrite and service_id in self ._text_embedding_generation_services :
138
138
raise ValueError (
139
139
f"Embedding service with service_id '{ service_id } ' already exists"
140
140
)
141
141
142
- self ._embedding_services [service_id ] = (
142
+ self ._text_embedding_generation_services [service_id ] = (
143
143
service if isinstance (service , Callable ) else lambda _ : service
144
144
)
145
- if self ._default_embedding_service is None :
146
- self ._default_embedding_service = service_id
145
+ if self ._default_text_embedding_generation_service is None :
146
+ self ._default_text_embedding_generation_service = service_id
147
147
148
148
return self
149
149
150
150
# TODO: look harder at retry stuff
151
151
152
- def set_default_text_service (self , service_id : str ) -> "KernelConfig" :
153
- if service_id not in self ._text_services :
152
+ def set_default_text_completion_service (self , service_id : str ) -> "KernelConfig" :
153
+ if service_id not in self ._text_completion_services :
154
154
raise ValueError (
155
155
f"AI service with service_id '{ service_id } ' does not exist"
156
156
)
157
157
158
- self ._default_text_service = service_id
158
+ self ._default_text_completion_service = service_id
159
159
return self
160
160
161
161
def set_default_chat_service (self , service_id : str ) -> "KernelConfig" :
@@ -167,20 +167,24 @@ def set_default_chat_service(self, service_id: str) -> "KernelConfig":
167
167
self ._default_chat_service = service_id
168
168
return self
169
169
170
- def set_default_embedding_service (self , service_id : str ) -> "KernelConfig" :
171
- if service_id not in self ._embedding_services :
170
+ def set_default_text_embedding_generation_service (
171
+ self , service_id : str
172
+ ) -> "KernelConfig" :
173
+ if service_id not in self ._text_embedding_generation_services :
172
174
raise ValueError (
173
175
f"AI service with service_id '{ service_id } ' does not exist"
174
176
)
175
177
176
- self ._default_embedding_service = service_id
178
+ self ._default_text_embedding_generation_service = service_id
177
179
return self
178
180
179
- def get_text_service_service_id (self , service_id : Optional [str ] = None ) -> str :
180
- if service_id is None or service_id not in self ._text_services :
181
- if self ._default_text_service is None :
181
+ def get_text_completion_service_service_id (
182
+ self , service_id : Optional [str ] = None
183
+ ) -> str :
184
+ if service_id is None or service_id not in self ._text_completion_services :
185
+ if self ._default_text_completion_service is None :
182
186
raise ValueError ("No default text service is set" )
183
- return self ._default_text_service
187
+ return self ._default_text_completion_service
184
188
185
189
return service_id
186
190
@@ -192,23 +196,27 @@ def get_chat_service_service_id(self, service_id: Optional[str] = None) -> str:
192
196
193
197
return service_id
194
198
195
- def get_embedding_service_id (self , service_id : Optional [str ] = None ) -> str :
196
- if service_id is None or service_id not in self ._embedding_services :
197
- if self ._default_embedding_service is None :
199
+ def get_text_embedding_generation_service_id (
200
+ self , service_id : Optional [str ] = None
201
+ ) -> str :
202
+ if service_id is None or service_id not in self ._text_embedding_generation_services :
203
+ if self ._default_text_embedding_generation_service is None :
198
204
raise ValueError ("No default embedding service is set" )
199
- return self ._default_embedding_service
205
+ return self ._default_text_embedding_generation_service
200
206
201
207
return service_id
202
208
203
- def remove_text_service (self , service_id : str ) -> "KernelConfig" :
204
- if service_id not in self ._text_services :
209
+ def remove_text_completion_service (self , service_id : str ) -> "KernelConfig" :
210
+ if service_id not in self ._text_completion_services :
205
211
raise ValueError (
206
212
f"AI service with service_id '{ service_id } ' does not exist"
207
213
)
208
214
209
- del self ._text_services [service_id ]
210
- if self ._default_text_service == service_id :
211
- self ._default_text_service = next (iter (self ._text_services ), None )
215
+ del self ._text_completion_services [service_id ]
216
+ if self ._default_text_completion_service == service_id :
217
+ self ._default_text_completion_service = next (
218
+ iter (self ._text_completion_services ), None
219
+ )
212
220
return self
213
221
214
222
def remove_chat_service (self , service_id : str ) -> "KernelConfig" :
@@ -222,39 +230,41 @@ def remove_chat_service(self, service_id: str) -> "KernelConfig":
222
230
self ._default_chat_service = next (iter (self ._chat_services ), None )
223
231
return self
224
232
225
- def remove_embedding_service (self , service_id : str ) -> "KernelConfig" :
226
- if service_id not in self ._embedding_services :
233
+ def remove_text_embedding_generation_service (self , service_id : str ) -> "KernelConfig" :
234
+ if service_id not in self ._text_embedding_generation_services :
227
235
raise ValueError (
228
236
f"AI service with service_id '{ service_id } ' does not exist"
229
237
)
230
238
231
- del self ._embedding_services [service_id ]
232
- if self ._default_embedding_service == service_id :
233
- self ._default_embedding_service = next (iter (self ._embedding_services ), None )
239
+ del self ._text_embedding_generation_services [service_id ]
240
+ if self ._default_text_embedding_generation_service == service_id :
241
+ self ._default_text_embedding_generation_service = next (
242
+ iter (self ._text_embedding_generation_services ), None
243
+ )
234
244
return self
235
245
236
- def clear_all_text_services (self ) -> "KernelConfig" :
237
- self ._text_services = {}
238
- self ._default_text_service = None
246
+ def clear_all_text_completion_services (self ) -> "KernelConfig" :
247
+ self ._text_completion_services = {}
248
+ self ._default_text_completion_service = None
239
249
return self
240
250
241
251
def clear_all_chat_services (self ) -> "KernelConfig" :
242
252
self ._chat_services = {}
243
253
self ._default_chat_service = None
244
254
return self
245
255
246
- def clear_all_embedding_services (self ) -> "KernelConfig" :
247
- self ._embedding_services = {}
248
- self ._default_embedding_service = None
256
+ def clear_all_text_embedding_generation_services (self ) -> "KernelConfig" :
257
+ self ._text_embedding_generation_services = {}
258
+ self ._default_text_embedding_generation_service = None
249
259
return self
250
260
251
261
def clear_all_services (self ) -> "KernelConfig" :
252
- self ._text_services = {}
262
+ self ._text_completion_services = {}
253
263
self ._chat_services = {}
254
- self ._embedding_services = {}
264
+ self ._text_embedding_generation_services = {}
255
265
256
- self ._default_text_service = None
266
+ self ._default_text_completion_service = None
257
267
self ._default_chat_service = None
258
- self ._default_embedding_service = None
268
+ self ._default_text_embedding_generation_service = None
259
269
260
270
return self
0 commit comments