feat: more llm provider options (google, mistral) (#28)

* feat: add google provider

* fix: default for google model

* feat: multiple providers

* fix: defaults from env for login form

* fix: add mistral to env files

* chore: delete unused code

* chore: revert database url to original

* fix: render default value for api key from env on server

* fix: type errors during compilation

---------

Co-authored-by: Vasily Zubarev <me@vas3k.ru>
This commit is contained in:
Dmitrii Anfimov
2025-07-22 21:49:54 +02:00
committed by GitHub
parent 9903325f17
commit dee915ffd6
21 changed files with 1185 additions and 150 deletions

47
lib/llm-providers.ts Normal file
View File

@@ -0,0 +1,47 @@
export const PROVIDERS = [
{
key: "openai",
label: "OpenAI",
apiKeyName: "openai_api_key",
modelName: "openai_model_name",
defaultModelName: "gpt-4o-mini",
apiDoc: "https://platform.openai.com/settings/organization/api-keys",
apiDocLabel: "OpenAI Platform Console",
placeholder: "sk-...",
help: {
url: "https://platform.openai.com/settings/organization/api-keys",
label: "OpenAI Platform Console"
},
logo: "/logo/openai.svg"
},
{
key: "google",
label: "Google",
apiKeyName: "google_api_key",
modelName: "google_model_name",
defaultModelName: "gemini-2.5-flash",
apiDoc: "https://aistudio.google.com/apikey",
apiDocLabel: "Google AI Studio",
placeholder: "...",
help: {
url: "https://aistudio.google.com/apikey",
label: "Google AI Studio"
},
logo: "/logo/google.svg"
},
{
key: "mistral",
label: "Mistral",
apiKeyName: "mistral_api_key",
modelName: "mistral_model_name",
defaultModelName: "mistral-medium-latest",
apiDoc: "https://admin.mistral.ai/organization/api-keys",
apiDocLabel: "Mistral Admin Console",
placeholder: "...",
help: {
url: "https://admin.mistral.ai/organization/api-keys",
label: "Mistral Admin Console"
},
logo: "/logo/mistral.svg"
},
]