@@ -14,30 +14,18 @@ declare -a GENERATED_INGRESSES
1414function initializeLlmProviderConfigs() {
1515 local EXTRA_CONFIGS=()
1616
17+ # Top commonly used providers (matching get-ai-gateway.sh order)
1718 initializeLlmProviderConfig aliyun qwen DASHSCOPE dashscope.aliyuncs.com " 443" " https" " " " PRE" ' qwen'
18- initializeLlmProviderConfig moonshot moonshot MOONSHOT api.moonshot.cn " 443" " https" " " " REGULAR" ' moonshot-.*|kimi-.*'
19- if [ -z " $AZURE_API_KEY " ]; then
20- initializeLlmProviderConfig openai openai OPENAI api.openai.com " 443" " https" " " " REGULAR" ' gpt-.*|o1-.*|o3-.*'
21- fi
22- initializeLlmProviderConfig ai360 ai360 AI360 api.360.cn " 443" " https" " " " PRE" " 360GPT"
23- # initializeLlmProviderConfig github github GITHUB models.inference.ai.azure.com "443" "https" "" "PRE" ""
24- # initializeLlmProviderConfig groq groq GROQ api.groq.com "443" "https" "" "PRE" ""
25- initializeLlmProviderConfig baichuan baichuan BAICHUAN api.baichuan-ai.com " 443" " https" " " " PRE" " Baichuan"
26- initializeLlmProviderConfig yi yi YI api.lingyiwanwu.com " 443" " https" " " " PRE" ' yi-'
2719 initializeLlmProviderConfig deepseek deepseek DEEPSEEK api.deepseek.com " 443" " https" " " " PRE" " deepseek"
20+ initializeLlmProviderConfig moonshot moonshot MOONSHOT api.moonshot.cn " 443" " https" " " " REGULAR" ' moonshot-.*|kimi-.*'
2821 initializeLlmProviderConfig zhipuai zhipuai ZHIPUAI open.bigmodel.cn " 443" " https" " " " PRE" " GLM-"
29- initializeLlmProviderConfig baidu baidu BAIDU qianfan.baidubce.com " 443" " https" " " " PRE" " ERNIE-"
30- # initializeLlmProviderConfig hunyuan hunyuan HUNYUAN hunyuan.tencentcloudapi.com "443" "https" "" "PRE" "hunyuan-" "${EXTRA_CONFIGS[@]}"
31- initializeLlmProviderConfig stepfun stepfun STEPFUN api.stepfun.com " 443" " https" " " " PRE" " step-"
32- # initializeLlmProviderConfig cloudflare cloudflare CLOUDFLARE api.cloudflare.com "443" "https" "" "PRE" "" "${EXTRA_CONFIGS[@]}"
33- # initializeLlmProviderConfig spark spark SPARK spark-api-open.xf-yun.com "443" "https" "" "PRE" "" "${EXTRA_CONFIGS[@]}"
34- initializeLlmProviderConfig gemini gemini GEMINI generativelanguage.googleapis.com " 443" " https" " " " PRE" " gemini-"
35- # initializeLlmProviderConfig deepl deepl DEEPL "443" "https" "" "PRE" "" "${EXTRA_CONFIGS[@]}"
36- initializeLlmProviderConfig mistral mistral MISTRAL api.mistral.ai " 443" " https" " " " REGULAR" ' open-mistral-.*|mistral-.*'
37- initializeLlmProviderConfig cohere cohere COHERE api.cohere.com " 443" " https" " " " REGULAR" ' command|command-.*'
38- initializeLlmProviderConfig doubao doubao DOUBAO ark.cn-beijing.volces.com " 443" " https" " " " PRE" " doubao-"
39- # initializeLlmProviderConfig coze coze COZE api.coze.cn "443" "https" "" "PRE" ""
22+
23+ EXTRA_CONFIGS=(
24+ " minimaxGroupId=\" $MINIMAX_GROUP_ID \" "
25+ )
26+ initializeLlmProviderConfig minimax minimax MINIMAX api.minimax.chat " 443" " https" " " " PRE" " abab" " ${EXTRA_CONFIGS[@]} "
4027
28+ # Azure OpenAI
4129 if [ -z " $OPENAI_API_KEY " ]; then
4230 if [ -z " $AZURE_SERVICE_URL " ]; then
4331 AZURE_SERVICE_URL=" https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-06-01"
@@ -50,6 +38,58 @@ function initializeLlmProviderConfigs() {
5038 initializeLlmProviderConfig azure azure AZURE " $AZURE_SERVICE_DOMAIN " " 443" " https" " " " REGULAR" ' gpt-.*|o1-.*|o3-.*' " ${EXTRA_CONFIGS[@]} "
5139 fi
5240
41+ # AWS Bedrock - requires region configuration
42+ if [ -n " $BEDROCK_CONFIGURED " ]; then
43+ EXTRA_CONFIGS=()
44+ if [ -n " $BEDROCK_REGION " ]; then
45+ EXTRA_CONFIGS+=(" region=\" $BEDROCK_REGION \" " )
46+ fi
47+ if [ -n " $BEDROCK_ACCESS_KEY " ] && [ -n " $BEDROCK_SECRET_KEY " ]; then
48+ EXTRA_CONFIGS+=(" accessKeyId=\" $BEDROCK_ACCESS_KEY \" " )
49+ EXTRA_CONFIGS+=(" secretAccessKey=\" $BEDROCK_SECRET_KEY \" " )
50+ fi
51+ # Support custom model patterns via environment variable
52+ local BEDROCK_MODELS=" ${BEDROCK_MODELS:- .* } "
53+ initializeLlmProviderConfig bedrock bedrock BEDROCK bedrock-runtime.${BEDROCK_REGION:- us-east-1} .amazonaws.com " 443" " https" " " " REGULAR" " $BEDROCK_MODELS " " ${EXTRA_CONFIGS[@]} "
54+ fi
55+
56+ # Google Vertex AI - requires project and region configuration
57+ if [ -n " $VERTEX_CONFIGURED " ]; then
58+ EXTRA_CONFIGS=()
59+ if [ -n " $VERTEX_PROJECT_ID " ]; then
60+ EXTRA_CONFIGS+=(" gcpProject=\" $VERTEX_PROJECT_ID \" " )
61+ fi
62+ if [ -n " $VERTEX_REGION " ]; then
63+ EXTRA_CONFIGS+=(" gcpRegion=\" $VERTEX_REGION \" " )
64+ fi
65+ if [ -n " $VERTEX_AUTH_KEY " ]; then
66+ EXTRA_CONFIGS+=(" serviceAccount=\" $VERTEX_AUTH_KEY \" " )
67+ fi
68+ if [ -n " $VERTEX_AUTH_SERVICE_NAME " ]; then
69+ EXTRA_CONFIGS+=(" serviceAccountName=\" $VERTEX_AUTH_SERVICE_NAME \" " )
70+ fi
71+ # Support custom model patterns via environment variable
72+ local VERTEX_MODELS=" ${VERTEX_MODELS:- gemini-.* } "
73+ initializeLlmProviderConfig vertex vertex VERTEX ${VERTEX_REGION:- us-central1} -aiplatform.googleapis.com " 443" " https" " " " REGULAR" " $VERTEX_MODELS " " ${EXTRA_CONFIGS[@]} "
74+ fi
75+
76+ # OpenAI (if Azure is not configured)
77+ if [ -z " $AZURE_API_KEY " ]; then
78+ initializeLlmProviderConfig openai openai OPENAI api.openai.com " 443" " https" " " " REGULAR" ' gpt-.*|o1-.*|o3-.*'
79+ fi
80+
81+ # OpenRouter - multi-provider router, supports custom models
82+ if [ -n " $OPENROUTER_API_KEY " ]; then
83+ local OPENROUTER_MODELS=" ${OPENROUTER_MODELS:- .* } "
84+ initializeLlmProviderConfig openrouter openrouter OPENROUTER openrouter.ai " 443" " https" " " " REGULAR" " $OPENROUTER_MODELS "
85+ fi
86+
87+ # Other providers (alphabetically ordered)
88+ initializeLlmProviderConfig yi yi YI api.lingyiwanwu.com " 443" " https" " " " PRE" ' yi-'
89+ initializeLlmProviderConfig ai360 ai360 AI360 api.360.cn " 443" " https" " " " PRE" " 360GPT"
90+ initializeLlmProviderConfig baichuan baichuan BAICHUAN api.baichuan-ai.com " 443" " https" " " " PRE" " Baichuan"
91+ initializeLlmProviderConfig baidu baidu BAIDU qianfan.baidubce.com " 443" " https" " " " PRE" " ERNIE-"
92+
5393 if [ -z " $CLAUDE_VERSION " ]; then
5494 CLAUDE_VERSION=" 2023-06-01"
5595 fi
@@ -58,6 +98,80 @@ function initializeLlmProviderConfigs() {
5898 )
5999 initializeLlmProviderConfig claude claude CLAUDE api.anthropic.com " 443" " https" " " " PRE" " claude-" " ${EXTRA_CONFIGS[@]} "
60100
101+ # Cloudflare Workers AI
102+ if [ -n " $CLOUDFLARE_CONFIGURED " ]; then
103+ EXTRA_CONFIGS=()
104+ if [ -n " $CLOUDFLARE_ACCOUNT_ID " ]; then
105+ EXTRA_CONFIGS+=(" accountId=\" $CLOUDFLARE_ACCOUNT_ID \" " )
106+ fi
107+ local CLOUDFLARE_MODELS=" ${CLOUDFLARE_MODELS:- .* } "
108+ initializeLlmProviderConfig cloudflare cloudflare CLOUDFLARE api.cloudflare.com " 443" " https" " " " REGULAR" " $CLOUDFLARE_MODELS " " ${EXTRA_CONFIGS[@]} "
109+ fi
110+
111+ initializeLlmProviderConfig cohere cohere COHERE api.cohere.com " 443" " https" " " " REGULAR" ' command|command-.*'
112+
113+ # DeepL - translation service
114+ if [ -n " $DEEPL_CONFIGURED " ]; then
115+ EXTRA_CONFIGS=()
116+ if [ -n " $DEEPL_TARGET_LANG " ]; then
117+ EXTRA_CONFIGS+=(" targetLang=\" $DEEPL_TARGET_LANG \" " )
118+ fi
119+ local DEEPL_MODELS=" ${DEEPL_MODELS:- .* } "
120+ initializeLlmProviderConfig deepl deepl DEEPL api.deepl.com " 443" " https" " " " REGULAR" " $DEEPL_MODELS " " ${EXTRA_CONFIGS[@]} "
121+ fi
122+
123+ # Dify - AI workflow platform
124+ if [ -n " $DIFY_API_KEY " ]; then
125+ EXTRA_CONFIGS=()
126+ if [ -n " $DIFY_API_URL " ]; then
127+ extractHostFromUrl " $DIFY_API_URL "
128+ local DIFY_DOMAIN=" $HOST "
129+ else
130+ local DIFY_DOMAIN=" api.dify.ai"
131+ fi
132+ if [ -n " $DIFY_BOT_TYPE " ]; then
133+ EXTRA_CONFIGS+=(" botType=\" $DIFY_BOT_TYPE \" " )
134+ fi
135+ if [ -n " $DIFY_INPUT_VARIABLE " ]; then
136+ EXTRA_CONFIGS+=(" inputVariable=\" $DIFY_INPUT_VARIABLE \" " )
137+ fi
138+ if [ -n " $DIFY_OUTPUT_VARIABLE " ]; then
139+ EXTRA_CONFIGS+=(" outputVariable=\" $DIFY_OUTPUT_VARIABLE \" " )
140+ fi
141+ local DIFY_MODELS=" ${DIFY_MODELS:- .* } "
142+ initializeLlmProviderConfig dify dify DIFY " $DIFY_DOMAIN " " 443" " https" " " " REGULAR" " $DIFY_MODELS " " ${EXTRA_CONFIGS[@]} "
143+ fi
144+
145+ initializeLlmProviderConfig doubao doubao DOUBAO ark.cn-beijing.volces.com " 443" " https" " " " PRE" " doubao-"
146+
147+ # Fireworks AI - fast inference
148+ if [ -n " $FIREWORKS_API_KEY " ]; then
149+ local FIREWORKS_MODELS=" ${FIREWORKS_MODELS:- .* } "
150+ initializeLlmProviderConfig fireworks fireworks FIREWORKS api.fireworks.ai " 443" " https" " " " REGULAR" " $FIREWORKS_MODELS "
151+ fi
152+
153+ # GitHub Models
154+ if [ -n " $GITHUB_API_KEY " ]; then
155+ local GITHUB_MODELS=" ${GITHUB_MODELS:- .* } "
156+ initializeLlmProviderConfig github github GITHUB models.inference.ai.azure.com " 443" " https" " " " REGULAR" " $GITHUB_MODELS "
157+ fi
158+
159+ initializeLlmProviderConfig gemini gemini GEMINI generativelanguage.googleapis.com " 443" " https" " " " PRE" " gemini-"
160+
161+ # Grok - xAI's model
162+ if [ -n " $GROK_API_KEY " ]; then
163+ local GROK_MODELS=" ${GROK_MODELS:- grok-.* } "
164+ initializeLlmProviderConfig grok grok GROK api.x.ai " 443" " https" " " " REGULAR" " $GROK_MODELS "
165+ fi
166+
167+ # Groq - fast inference
168+ if [ -n " $GROQ_API_KEY " ]; then
169+ local GROQ_MODELS=" ${GROQ_MODELS:- .* } "
170+ initializeLlmProviderConfig groq groq GROQ api.groq.com " 443" " https" " " " REGULAR" " $GROQ_MODELS "
171+ fi
172+
173+ initializeLlmProviderConfig mistral mistral MISTRAL api.mistral.ai " 443" " https" " " " REGULAR" ' open-mistral-.*|mistral-.*'
174+
61175 if [ -z " $OLLAMA_SERVER_HOST " ]; then
62176 OLLAMA_SERVER_HOST=" YOUR_OLLAMA_SERVER_HOST"
63177 fi
@@ -68,10 +182,32 @@ function initializeLlmProviderConfigs() {
68182 )
69183 initializeLlmProviderConfig ollama ollama OLLAMA " $OLLAMA_SERVER_HOST " " $OLLAMA_SERVER_PORT " " http" " " " REGULAR" ' codellama.*|llama.*' " ${EXTRA_CONFIGS[@]} "
70184
71- EXTRA_CONFIGS=(
72- " minimaxGroupId=\" $MINIMAX_GROUP_ID \" "
73- )
74- initializeLlmProviderConfig minimax minimax MINIMAX api.minimax.chat " 443" " https" " " " PRE" " abab" " ${EXTRA_CONFIGS[@]} "
185+ # iFlyTek Spark
186+ if [ -n " $SPARK_CONFIGURED " ]; then
187+ local SPARK_MODELS=" ${SPARK_MODELS:- .* } "
188+ initializeLlmProviderConfig spark spark SPARK spark-api-open.xf-yun.com " 443" " https" " " " REGULAR" " $SPARK_MODELS "
189+ fi
190+
191+ initializeLlmProviderConfig stepfun stepfun STEPFUN api.stepfun.com " 443" " https" " " " PRE" " step-"
192+
193+ # Tencent Hunyuan
194+ if [ -n " $HUNYUAN_CONFIGURED " ]; then
195+ EXTRA_CONFIGS=()
196+ if [ -n " $HUNYUAN_AUTH_ID " ]; then
197+ EXTRA_CONFIGS+=(" authId=\" $HUNYUAN_AUTH_ID \" " )
198+ fi
199+ if [ -n " $HUNYUAN_AUTH_KEY " ]; then
200+ EXTRA_CONFIGS+=(" authKey=\" $HUNYUAN_AUTH_KEY \" " )
201+ fi
202+ local HUNYUAN_MODELS=" ${HUNYUAN_MODELS:- hunyuan-.* } "
203+ initializeLlmProviderConfig hunyuan hunyuan HUNYUAN hunyuan.tencentcloudapi.com " 443" " https" " " " REGULAR" " $HUNYUAN_MODELS " " ${EXTRA_CONFIGS[@]} "
204+ fi
205+
206+ # Together AI - open model hosting
207+ if [ -n " $TOGETHERAI_API_KEY " ]; then
208+ local TOGETHERAI_MODELS=" ${TOGETHERAI_MODELS:- .* } "
209+ initializeLlmProviderConfig togetherai togetherai TOGETHERAI api.together.xyz " 443" " https" " " " REGULAR" " $TOGETHERAI_MODELS "
210+ fi
75211}
76212
77213function initializeLlmProviderConfig() {
0 commit comments