@@ -21,6 +21,7 @@ public sealed class ChatClientFactory : IChatClientFactory, IDisposable
2121 private readonly IOptionsMonitor < GitHubModelsOptions > _gitHubModelsOptions ;
2222 private readonly IOptionsMonitor < AzureFoundryOptions > _azureFoundryOptions ;
2323 private readonly IOptionsMonitor < AnthropicOptions > _anthropicOptions ;
24+ private readonly IOptionsMonitor < OllamaOptions > _ollamaOptions ;
2425 private readonly IBackendSecretResolver _secrets ;
2526 private readonly TokenCredential _credential ;
2627 private readonly ILoggerFactory _loggerFactory ;
@@ -33,6 +34,7 @@ public ChatClientFactory(
3334 IOptionsMonitor < GitHubModelsOptions > gitHubModelsOptions ,
3435 IOptionsMonitor < AzureFoundryOptions > azureFoundryOptions ,
3536 IOptionsMonitor < AnthropicOptions > anthropicOptions ,
37+ IOptionsMonitor < OllamaOptions > ollamaOptions ,
3638 IBackendSecretResolver secrets ,
3739 TokenCredential credential ,
3840 ILoggerFactory loggerFactory ,
@@ -43,6 +45,7 @@ public ChatClientFactory(
4345 _gitHubModelsOptions = gitHubModelsOptions ;
4446 _azureFoundryOptions = azureFoundryOptions ;
4547 _anthropicOptions = anthropicOptions ;
48+ _ollamaOptions = ollamaOptions ;
4649 _secrets = secrets ;
4750 _credential = credential ;
4851 _loggerFactory = loggerFactory ;
@@ -78,6 +81,10 @@ private IChatClient CreateCore(BackendId backend)
7881 {
7982 raw = AnthropicChatClientAdapter . Create ( _anthropicOptions . CurrentValue , _secrets ) ;
8083 }
84+ else if ( backend == BackendId . Ollama )
85+ {
86+ raw = OllamaChatClientAdapter . Create ( _ollamaOptions . CurrentValue , _secrets ) ;
87+ }
8188 else
8289 {
8390 throw new InvalidOperationException ( $ "Unknown backend '{ backend } '.") ;
0 commit comments