feat: add OpenAI-compatible provider for NVIDIA and other services #9002
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #8998 by adding support for generic OpenAI-compatible APIs like NVIDIA.
Summary
Adds a new
openai-compatibleprovider that allows users to connect to any OpenAI-compatible API endpoint by specifying a custom base URL and API key. This enables support for services like NVIDIA API and other OpenAI-compatible services that use the same protocol.Changes
OpenAiCompatibleHandlerthat extends the base OpenAI-compatible provider classopenAiCompatibleBaseUrlandopenAiCompatibleApiKeysettings in provider-settings.tsTesting
Example Usage
Users can now use NVIDIA API or any OpenAI-compatible service by:
https://integrate.api.nvidia.com/v1)minimaxai/minimax-m2)Fixes #8998
Feedback and guidance are welcome!
Important
Add
OpenAiCompatibleHandlerfor OpenAI-compatible APIs, including NVIDIA, with configuration, API integration, UI support, and tests.OpenAiCompatibleHandlerinopenai-compatible.tsfor OpenAI-compatible APIs.openAiCompatibleBaseUrlandopenAiCompatibleApiKeyinprovider-settings.ts.providerSettingsSchemaDiscriminatedandproviderSettingsSchemato include new settings.OpenAiCompatibleHandlerinindex.ts.buildApiHandler()to handleopenai-compatibleprovider.openai-compatibleinuseSelectedModel.ts.openai-compatible.spec.tsfor testingOpenAiCompatibleHandler.modelIdKeysByProviderandMODELS_BY_PROVIDERinprovider-settings.ts.This description was created by
for 14fbf0b. You can customize this summary. It will automatically update as commits are pushed.