diff --git a/src/Cli/src/Helpers.cs b/src/Cli/src/Helpers.cs index 9d7a2eca..f17cb3ab 100644 --- a/src/Cli/src/Helpers.cs +++ b/src/Cli/src/Helpers.cs @@ -107,6 +107,7 @@ public static IChatClient GetChatModel( { Provider.Free or Provider.OpenRouter => new Uri(tryAGI.OpenAI.CustomProviders.OpenRouterBaseUrl), Provider.Requesty => new Uri("https://router.requesty.ai/v1"), + Provider.Opper => new Uri("https://api.opper.ai/v3/compat"), _ => null, }; @@ -115,6 +116,7 @@ public static IChatClient GetChatModel( Provider.OpenAi or null => "OPENAI_API_KEY", Provider.OpenRouter or Provider.Free => "OPENROUTER_API_KEY", Provider.Requesty => "REQUESTY_API_KEY", + Provider.Opper => "OPPER_API_KEY", _ => throw new NotImplementedException(), }; } diff --git a/src/Cli/src/Models/Provider.cs b/src/Cli/src/Models/Provider.cs index ee560002..154dbd78 100644 --- a/src/Cli/src/Models/Provider.cs +++ b/src/Cli/src/Models/Provider.cs @@ -5,6 +5,7 @@ internal enum Provider OpenAi, OpenRouter, Requesty, + Opper, Anthropic, Free, } \ No newline at end of file diff --git a/src/Cli/test/LangChain.Cli.IntegrationTests/HelpersTests.cs b/src/Cli/test/LangChain.Cli.IntegrationTests/HelpersTests.cs index 1c9abf04..e832d252 100644 --- a/src/Cli/test/LangChain.Cli.IntegrationTests/HelpersTests.cs +++ b/src/Cli/test/LangChain.Cli.IntegrationTests/HelpersTests.cs @@ -11,4 +11,11 @@ public void Requesty_UsesExpectedEndpointAndApiKeyEnvironmentVariable() Helpers.GetEndpoint(Provider.Requesty).Should().Be(new Uri("https://router.requesty.ai/v1")); Helpers.GetApiKeyEnvironmentVariable(Provider.Requesty).Should().Be("REQUESTY_API_KEY"); } + + [Test] + public void Opper_UsesExpectedEndpointAndApiKeyEnvironmentVariable() + { + Helpers.GetEndpoint(Provider.Opper).Should().Be(new Uri("https://api.opper.ai/v3/compat")); + Helpers.GetApiKeyEnvironmentVariable(Provider.Opper).Should().Be("OPPER_API_KEY"); + } }