mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-04-30 00:02:44 +00:00
56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
import { getAnthropicApiKey, getCustomOpenaiApiKey, getCustomOpenaiApiUrl, getCustomOpenaiModelName, getGeminiApiKey, getGroqApiKey, getOllamaApiEndpoint, getOpenaiApiKey } from "@/lib/config"
|
|
import { getAvailableChatModelProviders, getAvailableEmbeddingModelProviders } from "@/lib/providers"
|
|
|
|
export const GET = async (req: Request) => {
|
|
try {
|
|
const config: Record<string, any> = {}
|
|
|
|
const [chatModelProviders, embeddingModelProviders] = await Promise.all([
|
|
getAvailableChatModelProviders(),
|
|
getAvailableEmbeddingModelProviders(),
|
|
])
|
|
|
|
config['chatModelProviders'] = {}
|
|
config['embeddingModelProviders'] = {}
|
|
|
|
for (const provider in chatModelProviders) {
|
|
config['chatModelProviders'][provider] = Object.keys(
|
|
chatModelProviders[provider],
|
|
).map(model => {
|
|
return {
|
|
name: model,
|
|
displayName: chatModelProviders[provider][model].displayName,
|
|
}
|
|
})
|
|
}
|
|
|
|
for (const provider in embeddingModelProviders) {
|
|
config['embeddingModelProviders'][provider] = Object.keys(
|
|
embeddingModelProviders[provider],
|
|
).map(model => {
|
|
return {
|
|
name: model,
|
|
displayName: embeddingModelProviders[provider][model].displayName,
|
|
}
|
|
})
|
|
}
|
|
|
|
config['openaiApiKey'] = getOpenaiApiKey()
|
|
config['ollamaApiUrl'] = getOllamaApiEndpoint()
|
|
config['anthropicApiKey'] = getAnthropicApiKey()
|
|
config['groqApiKey'] = getGroqApiKey()
|
|
config['geminiApiKey'] = getGeminiApiKey()
|
|
config['customOpenaiApiUrl'] = getCustomOpenaiApiUrl()
|
|
config['customOpenaiApiKey'] = getCustomOpenaiApiKey()
|
|
config['customOpenaiModelName'] = getCustomOpenaiModelName()
|
|
|
|
return Response.json({ ...config }, { status: 200 })
|
|
} catch (err) {
|
|
console.error('An error ocurred while getting config:', err)
|
|
return Response.json(
|
|
{ message: 'An error ocurred while getting config' },
|
|
{ status: 500 },
|
|
)
|
|
}
|
|
}
|