xiaobo ren commited on
Commit
58d2e5a
·
1 Parent(s): 4b7c080

Update Gemini models to use available models (2.5-pro, 2.5-flash, 2.0-flash) and expand API test coverage

Browse files
Files changed (2) hide show
  1. server/apiConfig.js +9 -5
  2. test-apis.js +17 -1
server/apiConfig.js CHANGED
@@ -7,9 +7,14 @@
7
  const API_CONFIGS = {
8
  // Google Gemini
9
  gemini: {
10
- baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
11
  apiKey: process.env.GEMINI_API_KEY || 'AIzaSyBiz_9_zhb3c9mxl3dePVfIv1iiao-_6dw',
12
- models: ['gemini-1.5-pro', 'gemini-1.5-flash', 'gemini-pro', 'gemini-3-pro-preview'],
 
 
 
 
 
13
  format: 'gemini', // 使用 Gemini 原生格式
14
  },
15
 
@@ -75,10 +80,9 @@ export function buildApiRequest(modelName, systemPrompt, userPrompt, temperature
75
  const config = getApiConfigForModel(modelName);
76
 
77
  if (config.format === 'gemini') {
78
- // Google Gemini 格式 - 使用 v1beta API
79
- // 注意:v1beta 需要完整的模型名称,如 models/gemini-1.5-pro
80
  const geminiModel = modelName.replace('-latest', ''); // 移除 -latest 后缀
81
- // 对于 v1beta,模型名称格式为: models/gemini-1.5-pro
82
  return {
83
  url: `${config.baseUrl}/models/${geminiModel}:generateContent?key=${config.apiKey}`,
84
  headers: { 'Content-Type': 'application/json' },
 
7
  const API_CONFIGS = {
8
  // Google Gemini
9
  gemini: {
10
+ baseUrl: 'https://generativelanguage.googleapis.com/v1',
11
  apiKey: process.env.GEMINI_API_KEY || 'AIzaSyBiz_9_zhb3c9mxl3dePVfIv1iiao-_6dw',
12
+ models: [
13
+ 'gemini-2.5-pro', 'gemini-2.5-flash', 'gemini-2.5-flash-lite',
14
+ 'gemini-2.0-flash', 'gemini-2.0-flash-001', 'gemini-2.0-flash-lite', 'gemini-2.0-flash-lite-001',
15
+ // 保留旧模型名称以兼容
16
+ 'gemini-1.5-pro', 'gemini-1.5-flash', 'gemini-pro', 'gemini-3-pro-preview'
17
+ ],
18
  format: 'gemini', // 使用 Gemini 原生格式
19
  },
20
 
 
80
  const config = getApiConfigForModel(modelName);
81
 
82
  if (config.format === 'gemini') {
83
+ // Google Gemini 格式 - 使用 v1 API
84
+ // v1 API 使用 models/{model}:generateContent 格式
85
  const geminiModel = modelName.replace('-latest', ''); // 移除 -latest 后缀
 
86
  return {
87
  url: `${config.baseUrl}/models/${geminiModel}:generateContent?key=${config.apiKey}`,
88
  headers: { 'Content-Type': 'application/json' },
test-apis.js CHANGED
@@ -6,13 +6,29 @@ import { buildApiRequest, parseApiResponse, getApiConfigForModel } from './serve
6
  import fetch from 'node-fetch';
7
 
8
  const testModels = [
 
 
9
  { name: 'gpt-5-mini', provider: 'OpenAI GPT-5 Mini' },
10
  { name: 'gpt-4.1', provider: 'OpenAI GPT-4.1' },
11
  { name: 'gpt-4o', provider: 'OpenAI GPT-4o' },
 
 
 
 
12
  { name: 'grok-4-0709', provider: 'Grok 4 (xAI)' },
13
  { name: 'grok-4-1-fast-reasoning', provider: 'Grok 4.1 Fast Reasoning (xAI)' },
 
 
 
 
 
14
  { name: 'claude-sonnet-4-5', provider: 'Claude Sonnet 4.5 (Anthropic)' },
15
- { name: 'claude-3-5-haiku-20241022', provider: 'Claude Haiku (Anthropic)' },
 
 
 
 
 
16
  ];
17
 
18
  async function testAllApis() {
 
6
  import fetch from 'node-fetch';
7
 
8
  const testModels = [
9
+ // OpenAI Models
10
+ { name: 'gpt-5.1', provider: 'OpenAI GPT-5.1' },
11
  { name: 'gpt-5-mini', provider: 'OpenAI GPT-5 Mini' },
12
  { name: 'gpt-4.1', provider: 'OpenAI GPT-4.1' },
13
  { name: 'gpt-4o', provider: 'OpenAI GPT-4o' },
14
+ { name: 'gpt-4o-mini', provider: 'OpenAI GPT-4o Mini' },
15
+ { name: 'gpt-4-turbo', provider: 'OpenAI GPT-4 Turbo' },
16
+
17
+ // Grok Models (xAI)
18
  { name: 'grok-4-0709', provider: 'Grok 4 (xAI)' },
19
  { name: 'grok-4-1-fast-reasoning', provider: 'Grok 4.1 Fast Reasoning (xAI)' },
20
+ { name: 'grok-4-1-fast-non-reasoning', provider: 'Grok 4.1 Fast Non-Reasoning (xAI)' },
21
+ { name: 'grok-4-fast-reasoning', provider: 'Grok 4 Fast Reasoning (xAI)' },
22
+
23
+ // Claude Models (Anthropic)
24
+ { name: 'claude-opus-4-5', provider: 'Claude Opus 4.5 (Anthropic)' },
25
  { name: 'claude-sonnet-4-5', provider: 'Claude Sonnet 4.5 (Anthropic)' },
26
+ { name: 'claude-3-5-haiku-20241022', provider: 'Claude Haiku 3.5 (Anthropic)' },
27
+
28
+ // Gemini Models (Google)
29
+ { name: 'gemini-2.5-pro', provider: 'Gemini 2.5 Pro (Google)' },
30
+ { name: 'gemini-2.5-flash', provider: 'Gemini 2.5 Flash (Google)' },
31
+ { name: 'gemini-2.0-flash', provider: 'Gemini 2.0 Flash (Google)' },
32
  ];
33
 
34
  async function testAllApis() {