Spaces:
Sleeping
Sleeping
import { useLocalStorage } from "usehooks-ts" | |
import { defaultSettings } from "@/app/interface/settings-dialog/defaultSettings" | |
import { localStorageKeys } from "@/app/interface/settings-dialog/localStorageKeys" | |
import { LLMEngine, LLMVendor, LLMVendorConfig } from "@/types" | |
export function useLLMVendorConfig(): LLMVendorConfig { | |
const [vendor, ] = useLocalStorage<LLMVendor>( | |
localStorageKeys.llmVendor, | |
defaultSettings.llmVendor | |
) | |
const [openaiApiKey, ] = useLocalStorage<string>( | |
localStorageKeys.openaiApiKey, | |
defaultSettings.openaiApiKey | |
) | |
const [openaiApiLanguageModel, ] = useLocalStorage<string>( | |
localStorageKeys.openaiApiLanguageModel, | |
defaultSettings.openaiApiLanguageModel | |
) | |
const [groqApiKey, ] = useLocalStorage<string>( | |
localStorageKeys.groqApiKey, | |
defaultSettings.groqApiKey | |
) | |
const [groqApiLanguageModel, ] = useLocalStorage<string>( | |
localStorageKeys.groqApiLanguageModel, | |
defaultSettings.groqApiLanguageModel | |
) | |
const [anthropicApiKey, ] = useLocalStorage<string>( | |
localStorageKeys.anthropicApiKey, | |
defaultSettings.anthropicApiKey | |
) | |
const [anthropicApiLanguageModel, ] = useLocalStorage<string>( | |
localStorageKeys.anthropicApiLanguageModel, | |
defaultSettings.anthropicApiLanguageModel | |
) | |
const apiKey = | |
vendor === "ANTHROPIC" ? anthropicApiKey : | |
vendor === "GROQ" ? groqApiKey : | |
vendor === "OPENAI" ? openaiApiKey : | |
"" | |
const modelId = | |
vendor === "ANTHROPIC" ? anthropicApiLanguageModel : | |
vendor === "GROQ" ? groqApiLanguageModel : | |
vendor === "OPENAI" ? openaiApiLanguageModel : | |
"" | |
return { | |
vendor, | |
apiKey, | |
modelId, | |
} | |
} |