fix(ted-ceviri): GLM harf bozulmasını onar, TED çevirisinde önce GLM 5.3
Canlı ölçüm (2026-09-11): glm-5.3-flash 22 başlığın 4'ünde kelime içi
büyük İ ve büyük harfe dönen kuyruk üretti ("Arazİ araçları",
"Elektrİklİ", "temİNİ"); açıklamalar temizdi.
- harfOnar: kelime küçük harfle devam ettikten sonra gelen büyükleri Türkçe
kuralıyla küçültür; tamamı büyük kısaltmalara dokunmaz. Model çıktısına
ve daha önce önbelleğe girmiş kayıtlara okunurken uygulanır.
- Çeviri prompt'una Türkçe yazım kuralı uyarısı eklendi.
- ZAI_TRANSLATE_MODELS varsayılanı glm-5.3 → glm-5.3-flash (paketler 6
ilanlık, hız kaybı küçük; başlıklar kullanıcıya doğrudan görünüyor).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+11
-3
@@ -2,7 +2,7 @@ import { test } from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { dusunmeAyari, zaiChat, gecici429, zaiAktifIstek } from '../server/zai.mjs';
|
||||
import { analyzeSpec, routeFor } from '../server/ai.mjs';
|
||||
import { tedCevir } from '../server/ted-ceviri.mjs';
|
||||
import { tedCevir, harfOnar } from '../server/ted-ceviri.mjs';
|
||||
|
||||
const ZAI_URL = 'https://api.z.ai/api/coding/paas/v4/chat/completions';
|
||||
const ok = (content) => new Response(JSON.stringify({ choices: [{ message: { content } }] }), { status: 200 });
|
||||
@@ -73,7 +73,7 @@ test('analyzeSpec Z.ai anahtarı varken GLM 5.3\'ü doğrudan Z.ai\'den çağır
|
||||
} finally { globalThis.fetch = orijinal; geri(); }
|
||||
});
|
||||
|
||||
test('TED çevirisi OpenRouter anahtarı olmadan Z.ai GLM 5.3 Flash ile çalışır', async () => {
|
||||
test('TED çevirisi OpenRouter anahtarı olmadan önce Z.ai GLM 5.3 ile çalışır', async () => {
|
||||
const geri = ortam(TEMEL); const orijinal = globalThis.fetch;
|
||||
try {
|
||||
const istekler = [];
|
||||
@@ -87,8 +87,16 @@ test('TED çevirisi OpenRouter anahtarı olmadan Z.ai GLM 5.3 Flash ile çalış
|
||||
assert.equal(bekleyen, 0);
|
||||
assert.equal(istekler.length, 1);
|
||||
assert.equal(istekler[0].url, ZAI_URL);
|
||||
assert.equal(istekler[0].model, 'glm-5.3-flash');
|
||||
assert.equal(istekler[0].model, 'glm-5.3');
|
||||
assert.equal(tenders[0].baslikTr, 'TR Austria – Works');
|
||||
assert.equal(tenders[1].ceviriKaynagi, 'model');
|
||||
} finally { globalThis.fetch = orijinal; geri(); }
|
||||
});
|
||||
|
||||
test('harfOnar kelime içi büyük İ/I bozulmasını düzeltir, kısaltmalara dokunmaz', () => {
|
||||
assert.equal(harfOnar('Romanya – Elektrİklİ otobüsler – Elektrİklİ otobüs ve şarj İstasyonlarİ temİNİ'),
|
||||
'Romanya – Elektrikli otobüsler – Elektrikli otobüs ve şarj İstasyonlari temini');
|
||||
assert.equal(harfOnar('Denİz Habİtatlarının ve NATURA 2000 Alanlarının Tespİtİ'), 'Deniz Habitatlarının ve NATURA 2000 Alanlarının Tespiti');
|
||||
assert.equal(harfOnar('İstanbul MEB İl Müdürlüğü'), 'İstanbul MEB İl Müdürlüğü');
|
||||
assert.equal(harfOnar(null), '');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user