feat: fallback to openai compatible provider if url host doesn't match

This commit is contained in:
Frost Ming
2025-03-05 16:12:46 +08:00
committed by GitHub
parent 6ff06576d0
commit 21c8b98f9c

View File

@@ -17,7 +17,7 @@ function getProviderName(apiUrl: string) {
if (apiUrl.includes("localhost:11434") || apiUrl.includes("ollama")) if (apiUrl.includes("localhost:11434") || apiUrl.includes("ollama"))
return "ollama"; return "ollama";
if (apiUrl.includes("api.deepinfra.com")) return "deepinfra"; if (apiUrl.includes("api.deepinfra.com")) return "deepinfra";
throw new Error(`Unsupported AI provider for URL: ${apiUrl}`); return "custom";
} }
export function selectAIProvider(config: { apiUrl: string; apiKey: string }) { export function selectAIProvider(config: { apiUrl: string; apiKey: string }) {
@@ -68,6 +68,12 @@ export function selectAIProvider(config: { apiUrl: string; apiKey: string }) {
apiKey: config.apiKey, apiKey: config.apiKey,
}); });
default: default:
throw new Error(`Unsupported AI provider: ${providerName}`); return createOpenAICompatible({
name: "custom",
baseURL: config.apiUrl,
headers: {
Authorization: `Bearer ${config.apiKey}`,
},
)};
} }
} }