feat(chat-window): fix bugs handling custom openai, closes #529
This commit is contained in:
parent
ee68095157
commit
b5acf34ef8
1 changed files with 40 additions and 6 deletions
|
@ -43,6 +43,14 @@ const useSocket = (
|
||||||
let embeddingModelProvider = localStorage.getItem(
|
let embeddingModelProvider = localStorage.getItem(
|
||||||
'embeddingModelProvider',
|
'embeddingModelProvider',
|
||||||
);
|
);
|
||||||
|
let openAIBaseURL =
|
||||||
|
chatModelProvider === 'custom_openai'
|
||||||
|
? localStorage.getItem('openAIBaseURL')
|
||||||
|
: null;
|
||||||
|
let openAIPIKey =
|
||||||
|
chatModelProvider === 'custom_openai'
|
||||||
|
? localStorage.getItem('openAIApiKey')
|
||||||
|
: null;
|
||||||
|
|
||||||
const providers = await fetch(
|
const providers = await fetch(
|
||||||
`${process.env.NEXT_PUBLIC_API_URL}/models`,
|
`${process.env.NEXT_PUBLIC_API_URL}/models`,
|
||||||
|
@ -62,16 +70,18 @@ const useSocket = (
|
||||||
if (!chatModel || !chatModelProvider) {
|
if (!chatModel || !chatModelProvider) {
|
||||||
const chatModelProviders = providers.chatModelProviders;
|
const chatModelProviders = providers.chatModelProviders;
|
||||||
|
|
||||||
chatModelProvider = Object.keys(chatModelProviders)[0];
|
chatModelProvider =
|
||||||
|
chatModelProvider || Object.keys(chatModelProviders)[0];
|
||||||
|
|
||||||
if (chatModelProvider === 'custom_openai') {
|
if (chatModelProvider === 'custom_openai') {
|
||||||
toast.error(
|
toast.error(
|
||||||
'Seems like you are using the custom OpenAI provider, please open the settings and configure the API key and base URL',
|
'Seems like you are using the custom OpenAI provider, please open the settings and enter a model name to use.',
|
||||||
);
|
);
|
||||||
setError(true);
|
setError(true);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
|
chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!chatModelProviders ||
|
!chatModelProviders ||
|
||||||
Object.keys(chatModelProviders).length === 0
|
Object.keys(chatModelProviders).length === 0
|
||||||
|
@ -108,18 +118,42 @@ const useSocket = (
|
||||||
|
|
||||||
if (
|
if (
|
||||||
Object.keys(chatModelProviders).length > 0 &&
|
Object.keys(chatModelProviders).length > 0 &&
|
||||||
!chatModelProviders[chatModelProvider]
|
(((!openAIBaseURL || !openAIPIKey) &&
|
||||||
|
chatModelProvider === 'custom_openai') ||
|
||||||
|
!chatModelProviders[chatModelProvider])
|
||||||
) {
|
) {
|
||||||
chatModelProvider = Object.keys(chatModelProviders)[0];
|
const chatModelProvidersKeys = Object.keys(chatModelProviders);
|
||||||
|
chatModelProvider =
|
||||||
|
chatModelProvidersKeys.find(
|
||||||
|
(key) => Object.keys(chatModelProviders[key]).length > 0,
|
||||||
|
) || chatModelProvidersKeys[0];
|
||||||
|
|
||||||
|
if (
|
||||||
|
chatModelProvider === 'custom_openai' &&
|
||||||
|
(!openAIBaseURL || !openAIPIKey)
|
||||||
|
) {
|
||||||
|
toast.error(
|
||||||
|
'Seems like you are using the custom OpenAI provider, please open the settings and configure the API key and base URL',
|
||||||
|
);
|
||||||
|
setError(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
localStorage.setItem('chatModelProvider', chatModelProvider);
|
localStorage.setItem('chatModelProvider', chatModelProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
chatModelProvider &&
|
chatModelProvider &&
|
||||||
chatModelProvider != 'custom_openai' &&
|
(!openAIBaseURL || !openAIPIKey) &&
|
||||||
!chatModelProviders[chatModelProvider][chatModel]
|
!chatModelProviders[chatModelProvider][chatModel]
|
||||||
) {
|
) {
|
||||||
chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
|
chatModel = Object.keys(
|
||||||
|
chatModelProviders[
|
||||||
|
Object.keys(chatModelProviders[chatModelProvider]).length > 0
|
||||||
|
? chatModelProvider
|
||||||
|
: Object.keys(chatModelProviders)[0]
|
||||||
|
],
|
||||||
|
)[0];
|
||||||
localStorage.setItem('chatModel', chatModel);
|
localStorage.setItem('chatModel', chatModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue