refactor(ai): glm-latest zincirden çıkarıldı (birincil ile aynı modele çözünüyordu) — 2. sıra Gemini Flash Latest; kayıtlı zincirler sürüm 3 geçişiyle taşınır

This commit is contained in:
2026-08-28 22:50:00 +03:00
parent 5282543471
commit 1e614abc21
2 changed files with 19 additions and 19 deletions
+6 -12
View File
@@ -22,11 +22,11 @@ export const PROVIDERS = {
or: () => process.env.GLM_FLASH_OR_MODEL || 'z-ai/glm-5.3-flash',
url: 'https://api.z.ai/api/paas/v4/chat/completions', style: 'openai',
},
glm: {
label: 'GLM', provider: 'Z.ai', envKey: 'ZAI_API_KEY',
model: () => process.env.GLM_MODEL || 'glm-5.3',
or: () => process.env.GLM_OR_MODEL || '~z-ai/glm-latest',
url: 'https://api.z.ai/api/paas/v4/chat/completions', style: 'openai',
gemini: {
label: 'Gemini', provider: 'Google', envKey: 'GEMINI_API_KEY',
model: () => process.env.GEMINI_MODEL || 'gemini-flash-latest',
or: () => process.env.GEMINI_OR_MODEL || '~google/gemini-flash-latest',
style: 'gemini',
},
deepseek: {
label: 'DeepSeek', provider: 'DeepSeek', envKey: 'DEEPSEEK_API_KEY',
@@ -34,12 +34,6 @@ export const PROVIDERS = {
or: () => process.env.DEEPSEEK_OR_MODEL || '~deepseek/deepseek-v4-flash-latest',
url: 'https://api.deepseek.com/chat/completions', style: 'openai',
},
gemini: {
label: 'Gemini', provider: 'Google', envKey: 'GEMINI_API_KEY',
model: () => process.env.GEMINI_MODEL || 'gemini-flash-latest',
or: () => process.env.GEMINI_OR_MODEL || '~google/gemini-flash-latest',
style: 'gemini',
},
grok: {
label: 'Grok', provider: 'xAI', envKey: 'XAI_API_KEY',
model: () => process.env.XAI_MODEL || 'grok-4.6',
@@ -219,7 +213,7 @@ function extractJson(raw) {
/** Zinciri sırayla dener; ilk başarılı sonucu döndürür. */
export async function analyzeSpec({ text, fileName, tender, chain }) {
const order = (Array.isArray(chain) && chain.length ? chain : ['glmflash', 'glm', 'deepseek', 'gemini', 'grok', 'gpt', 'claude'])
const order = (Array.isArray(chain) && chain.length ? chain : ['glmflash', 'gemini', 'deepseek', 'grok', 'gpt', 'claude'])
.filter((id) => PROVIDERS[id]);
const userPrompt = buildUserPrompt({ text, fileName, tender });
const attempts = [];