Replies: 5 comments 3 replies
-
|
Hi @jcbartle , I have experienced a similar issue using an Azure PrivateLink endpoint Interested in any resolution you may find. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
@jcbartle can you submit this as a bug? We are facing the exact same issue and it is big problem for us. Thank you! |
Beta Was this translation helpful? Give feedback.
-
|
It should be fixed already on latest version: #10289 |
Beta Was this translation helpful? Give feedback.
-
|
Good morning, @danny-avila. I've made some progress on sorting out this issue. The recent PR #10289 by @peeeteeer and PR #10336 by @maxesse have helped! However, things are not perfect, and I think some decisions will need to be made on the best path forward. (apologies this is a little long, but hopefully all the context can help others) For azureOpenAI configuration, LibreChat doesn't send over the In order to use the new v1 API, the URL format changes. Whereas the "classic" Azure OpenAI URLs look like this: https://resource.openai.azure.com/openai/deployments/deployment_id/chat/completions?api-version=api_version The new v1 API URLs look like this: https://resource.cognitiveservices.azure.com/openai/v1/chat/completions Issue Number 1 - v1 API in Azure OpenAI Endpoint When I tried using the This results in a 404. When using the Responses API, it will work properly after PR #10289. One potential solution would be to have two separate endpoint configuration sections, one for azureOpenAI and one for azureOpenAIv1. Right now, the azureOpenAI endpoint is splitting things between two completely different API schemas, and I don't believe that makes sense. It should either be using the "classic" Azure OpenAI API or the new v1 API, not flipping back and forth depending on the state of the Responses API toggle switch. Additionally, the azureOpenAI endpoint doesn't support the customParams configuration feature, so you can't force Responses API to be on by default. The way I finally got the v1 API working with or without the Responses API toggle enabled was via a custom endpoint configuration. This works almost perfectly. Issue Number 2 - Upload to Provider versus Upload Image A minor issue with custom configuration is that the file upload menu reads "Upload to Provider" all the time, even though file uploads are only supported when using the Responses API and not when using the Issue Number 3 - Ordering of Endpoints in ModelSelect Dialog The ModelSelect dialog supports ordering of endpoints via the ENDPOINTS environment variable value (documented in this README file). Unfortunately, you can't order custom endpoints individually - anything under custom is treated as one entity for ordering purposes. Pretend we have three endpoints, two custom (one of which is Azure OpenAI using the v1 API) and Bedrock. The order in the ModelSelect dialog will be one of these two: Custom 1 or Bedrock There's no way to have: Custom 1 Recap and Workaround The current answer / workaround to this Q&A is:
For anyone who needs it, here is an anonymized and stripped-down custom config which works: Thoughts on what a long-term solution would be? Given that the point of the Azure OpenAI v1 API is compatibility and not requiring all the custom configuration which the "classic" Azure OpenAI does, I'm actually okay with just having it as a custom endpoint, as this seems to work just fine. The only real problem I have with this is the lack of ordering of custom endpoints in the ModelSelect dialog - if that can be addressed, I think we have a solution. I still don't think the behavior of the azureOpenAI endpoint makes sense, but it seems that is an issue which is likely to go away if Microsoft's long-term focus is on the new v1 API. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
@danny-avila - following on from the discussion in #10153.
I was able to test a PDF upload to the Responses API in Azure OpenAI and got it working via a standard REST call, but NOT through LibreChat.
The problem seems to stem from two items:
librechat.yamlfor Azure OpenAI endpoints.api-versionquery string parameter when selecting Responses APIWe're using an Azure API Management instance as our "AI Gateway", but this is similar conceptually to your custom CloudFlare example you have documented.
Here's a snippet from my
librechat.yamlfile for reference:When I turn on the Responses API option in the LibreChat UI, I see this URL getting called in our APIM logs:
https://<AZURE_APIM_URL>/openai/<API_NAME>/inference/deployments/<DEPLOYMENT_ID>/responsesThis results in a 404 for two reasons. The correct URL which should be getting hit it:
https://<AZURE_APIM_URL>/openai/<API_NAME>/inference/responses?api-version=2025-04-01-previewIn LibreChat, the
/deployments/<DEPLOYMENT_ID>section is still present and theapi-versionquery string variable has been dropped.If I update my
librechat.yamlfile and change the baseURL value to:https://<AZURE_APIM_URL>/openai/<API_NAME>/inferenceThe Responses API URL is now correct, but the
api-versionquery variable is still missing, so the call still fails. The only way I can get this fixed is by overwriting this code inconfig.tsand hard-coding the api-version:I, so far, have been able to find no way to have the api-version be retained through configuration.
HOWEVER, this causes a big problem in that all non-Responses API calls will now fail due to the baseURL value being incorrect. The only two formats which work for non-Responses API calls are:
https://<AZURE_APIM_URL>/openai/<API_NAME>/inference/deployments/${DEPLOYMENT_NAME}https://<AZURE_APIM_URL>/openai/<API_NAME>/inference/deploymentsFor most implementations, such as the openai Python module, the baseURL value for Azure OpenAI is specified like this (i.e., not including
/deploymentsor the deployment ID):https://<AZURE_APIM_URL>/openai/<API_NAME>/inferenceIf LibreChat accepted this format and still sent over the
api-versionquery string parameter, it would fix both the "standard" inference calls and the Responses API calls.We are using the...I don't know..."classic" Responses API and not the new "v1" API, which - as far as I can tell - just went GA on September 1st.
Is there a way to utilize the Responses API when also utilizing a custom baseURL for Azure OpenAI endpoints?
Beta Was this translation helpful? Give feedback.
All reactions