@@ -134,6 +134,13 @@ private async Task<bool> IsEnabledInternalAsync()
134
134
) ;
135
135
_logger . LogDebug ( "Response status: {response}" , response . StatusCode ) ;
136
136
137
+ if ( ! response . IsSuccessStatusCode )
138
+ {
139
+ var errorResponse = await response . Content . ReadAsStringAsync ( ) ;
140
+ _logger . LogDebug ( "LM error: {errorResponse}" , errorResponse ) ;
141
+ return null ;
142
+ }
143
+
137
144
var res = await response . Content . ReadFromJsonAsync < OllamaLanguageModelCompletionResponse > ( ) ;
138
145
if ( res is null )
139
146
{
@@ -173,7 +180,7 @@ private async Task<bool> IsEnabledInternalAsync()
173
180
return null ;
174
181
}
175
182
176
- if ( _configuration . CacheResponses && _cacheChatCompletion . TryGetValue ( messages , out var cachedResponse ) )
183
+ if ( _configuration . CacheResponses && _cacheChatCompletion . TryGetCacheValue ( messages , out var cachedResponse ) )
177
184
{
178
185
_logger . LogDebug ( "Returning cached response for message: {lastMessage}" , messages . Last ( ) . Content ) ;
179
186
return cachedResponse ;
@@ -221,9 +228,17 @@ private async Task<bool> IsEnabledInternalAsync()
221
228
) ;
222
229
_logger . LogDebug ( "Response: {response}" , response . StatusCode ) ;
223
230
231
+ if ( ! response . IsSuccessStatusCode )
232
+ {
233
+ var errorResponse = await response . Content . ReadAsStringAsync ( ) ;
234
+ _logger . LogDebug ( "LM error: {errorResponse}" , errorResponse ) ;
235
+ return null ;
236
+ }
237
+
224
238
var res = await response . Content . ReadFromJsonAsync < OllamaLanguageModelChatCompletionResponse > ( ) ;
225
239
if ( res is null )
226
240
{
241
+ _logger . LogDebug ( "Response: null" ) ;
227
242
return res ;
228
243
}
229
244
@@ -240,15 +255,15 @@ private async Task<bool> IsEnabledInternalAsync()
240
255
241
256
internal static class OllamaCacheChatCompletionExtensions
242
257
{
243
- public static OllamaLanguageModelChatCompletionMessage [ ] ? GetKey (
244
- this Dictionary < OllamaLanguageModelChatCompletionMessage [ ] , OllamaLanguageModelChatCompletionResponse > cache ,
258
+ public static ILanguageModelChatCompletionMessage [ ] ? GetKey (
259
+ this Dictionary < ILanguageModelChatCompletionMessage [ ] , OllamaLanguageModelChatCompletionResponse > cache ,
245
260
ILanguageModelChatCompletionMessage [ ] messages )
246
261
{
247
262
return cache . Keys . FirstOrDefault ( k => k . SequenceEqual ( messages ) ) ;
248
263
}
249
264
250
- public static bool TryGetValue (
251
- this Dictionary < OllamaLanguageModelChatCompletionMessage [ ] , OllamaLanguageModelChatCompletionResponse > cache ,
265
+ public static bool TryGetCacheValue (
266
+ this Dictionary < ILanguageModelChatCompletionMessage [ ] , OllamaLanguageModelChatCompletionResponse > cache ,
252
267
ILanguageModelChatCompletionMessage [ ] messages , out OllamaLanguageModelChatCompletionResponse ? value )
253
268
{
254
269
var key = cache . GetKey ( messages ) ;
0 commit comments