Amiel's picture
Upload folder using huggingface_hub
676fc08 verified
import { completePath } from "@/utils/url";
// AI provider API base url
const GOOGLE_GENERATIVE_AI_API_BASE_URL =
process.env.GOOGLE_GENERATIVE_AI_API_BASE_URL ||
"https://generativelanguage.googleapis.com";
const OPENROUTER_API_BASE_URL =
process.env.OPENROUTER_API_BASE_URL || "https://openrouter.ai/api";
const OPENAI_API_BASE_URL =
process.env.OPENAI_API_BASE_URL || "https://api.openai.com";
const ANTHROPIC_API_BASE_URL =
process.env.ANTHROPIC_API_BASE_URL || "https://api.anthropic.com";
const DEEPSEEK_API_BASE_URL =
process.env.DEEPSEEK_API_BASE_URL || "https://api.deepseek.com";
const XAI_API_BASE_URL = process.env.XAI_API_BASE_URL || "https://api.x.ai";
const MISTRAL_API_BASE_URL =
process.env.MISTRAL_API_BASE_URL || "https://api.mistral.ai";
const AZURE_API_BASE_URL = `https://${process.env.AZURE_RESOURCE_NAME}.openai.azure.com/openai/deployments`;
const OPENAI_COMPATIBLE_API_BASE_URL =
process.env.OPENAI_COMPATIBLE_API_BASE_URL || "";
const POLLINATIONS_API_BASE_URL =
process.env.POLLINATIONS_API_BASE_URL ||
"https://text.pollinations.ai/openai";
const OLLAMA_API_BASE_URL =
process.env.OLLAMA_API_BASE_URL || "http://0.0.0.0:11434";
// Search provider API base url
const TAVILY_API_BASE_URL =
process.env.TAVILY_API_BASE_URL || "https://api.tavily.com";
const FIRECRAWL_API_BASE_URL =
process.env.FIRECRAWL_API_BASE_URL || "https://api.firecrawl.dev";
const EXA_API_BASE_URL = process.env.EXA_API_BASE_URL || "https://api.exa.ai";
const BOCHA_API_BASE_URL =
process.env.BOCHA_API_BASE_URL || "https://api.bochaai.com";
const SEARXNG_API_BASE_URL =
process.env.SEARXNG_API_BASE_URL || "http://0.0.0.0:8080";
const GOOGLE_GENERATIVE_AI_API_KEY =
process.env.GOOGLE_GENERATIVE_AI_API_KEY || "";
const OPENROUTER_API_KEY = process.env.OPENROUTER_API_KEY || "";
const OPENAI_API_KEY = process.env.OPENAI_API_KEY || "";
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY || "";
const DEEPSEEK_API_KEY = process.env.DEEPSEEK_API_KEY || "";
const XAI_API_KEY = process.env.XAI_API_KEY || "";
const MISTRAL_API_KEY = process.env.MISTRAL_API_KEY || "";
const AZURE_API_KEY = process.env.AZURE_API_KEY || "";
const OPENAI_COMPATIBLE_API_KEY = process.env.OPENAI_COMPATIBLE_API_KEY || "";
// Search provider API key
const TAVILY_API_KEY = process.env.TAVILY_API_KEY || "";
const FIRECRAWL_API_KEY = process.env.FIRECRAWL_API_KEY || "";
const EXA_API_KEY = process.env.EXA_API_KEY || "";
const BOCHA_API_KEY = process.env.BOCHA_API_KEY || "";
export function getAIProviderBaseURL(provider: string) {
switch (provider) {
case "google":
return completePath(GOOGLE_GENERATIVE_AI_API_BASE_URL, "/v1beta");
case "openai":
return completePath(OPENAI_API_BASE_URL, "/v1");
case "anthropic":
return completePath(ANTHROPIC_API_BASE_URL, "/v1");
case "deepseek":
return completePath(DEEPSEEK_API_BASE_URL, "/v1");
case "xai":
return completePath(XAI_API_BASE_URL, "/v1");
case "mistral":
return completePath(MISTRAL_API_BASE_URL, "/v1");
case "azure":
return AZURE_API_BASE_URL;
case "openrouter":
return completePath(OPENROUTER_API_BASE_URL, "/api/v1");
case "openaicompatible":
return completePath(OPENAI_COMPATIBLE_API_BASE_URL, "/v1");
case "pollinations":
return completePath(POLLINATIONS_API_BASE_URL, "/v1");
case "ollama":
return completePath(OLLAMA_API_BASE_URL, "/api");
default:
throw new Error("Unsupported Provider: " + provider);
}
}
export function getAIProviderApiKey(provider: string) {
switch (provider) {
case "google":
return GOOGLE_GENERATIVE_AI_API_KEY;
case "openai":
return OPENAI_API_KEY;
case "anthropic":
return ANTHROPIC_API_KEY;
case "deepseek":
return DEEPSEEK_API_KEY;
case "xai":
return XAI_API_KEY;
case "mistral":
return MISTRAL_API_KEY;
case "azure":
return AZURE_API_KEY;
case "openrouter":
return OPENROUTER_API_KEY;
case "openaicompatible":
return OPENAI_COMPATIBLE_API_KEY;
case "pollinations":
case "ollama":
return "";
default:
throw new Error("Unsupported Provider: " + provider);
}
}
export function getSearchProviderBaseURL(provider: string) {
switch (provider) {
case "tavily":
return TAVILY_API_BASE_URL;
case "firecrawl":
return FIRECRAWL_API_BASE_URL;
case "exa":
return EXA_API_BASE_URL;
case "bocha":
return BOCHA_API_BASE_URL;
case "searxng":
return SEARXNG_API_BASE_URL;
case "model":
return "";
default:
throw new Error("Unsupported Provider: " + provider);
}
}
export function getSearchProviderApiKey(provider: string) {
switch (provider) {
case "tavily":
return TAVILY_API_KEY;
case "firecrawl":
return FIRECRAWL_API_KEY;
case "exa":
return EXA_API_KEY;
case "bocha":
return BOCHA_API_KEY;
case "searxng":
case "model":
return "";
default:
throw new Error("Unsupported Provider: " + provider);
}
}