deutsch
This commit is contained in:
@@ -180,7 +180,7 @@ async function startRecording() {
|
|||||||
recordHint.textContent = 'Tippen zum Stoppen';
|
recordHint.textContent = 'Tippen zum Stoppen';
|
||||||
|
|
||||||
// Show listening indicator — not editable, no interim text
|
// Show listening indicator — not editable, no interim text
|
||||||
transcriptBox.textContent = 'Слушаю…';
|
transcriptBox.textContent = 'Ich höre zu…';
|
||||||
transcriptBox.classList.remove('empty');
|
transcriptBox.classList.remove('empty');
|
||||||
|
|
||||||
clearTimeout(recordingTimer);
|
clearTimeout(recordingTimer);
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ app.use(express.json());
|
|||||||
app.use(express.static(path.join(__dirname, "public")));
|
app.use(express.static(path.join(__dirname, "public")));
|
||||||
|
|
||||||
const LEVEL_DESCRIPTIONS = {
|
const LEVEL_DESCRIPTIONS = {
|
||||||
A2: "базовый (A2): хвали за попытку, кратко комментируй смысл и предлагай простые альтернативные формулировки",
|
A2: "Grundstufe (A2): Lobe den Versuch kurz, kommentiere den Sinn und schlage einfache Alternativen vor",
|
||||||
B1: "средний (B1): анализируй смысл ответа, порядок слов, предлагай более естественные обороты речи",
|
B1: "Mittelstufe (B1): Analysiere den Sinn, die Wortstellung und schlage natürlichere Formulierungen vor",
|
||||||
B2: "выше среднего (B2): детально анализируй смысл, структуру предложений, стиль и естественность речи, предлагай альтернативные формулировки",
|
B2: "Obere Mittelstufe (B2): Analysiere Sinn, Satzstruktur und Stil detailliert und schlage Alternativen vor",
|
||||||
};
|
};
|
||||||
|
|
||||||
// Audio is sent as raw binary body (Content-Type: audio/*)
|
// Audio is sent as raw binary body (Content-Type: audio/*)
|
||||||
@@ -64,18 +64,18 @@ app.post("/api/check", async (req, res) => {
|
|||||||
|
|
||||||
const levelDesc = LEVEL_DESCRIPTIONS[level] || LEVEL_DESCRIPTIONS["B1"];
|
const levelDesc = LEVEL_DESCRIPTIONS[level] || LEVEL_DESCRIPTIONS["B1"];
|
||||||
|
|
||||||
const systemPrompt = `Ты помощник для практики разговорного немецкого языка. Уровень пользователя: ${levelDesc}.
|
const systemPrompt = `Du bist ein Assistent zum Üben des gesprochenen Deutschen. Niveau des Nutzers: ${levelDesc}.
|
||||||
|
|
||||||
ВАЖНО: текст получен через автоматическое распознавание речи. Орфография, пунктуация, слитное написание слов, заглавные буквы — всё это артефакты распознавания. Полностью игнорируй любые подобные особенности. Никогда не упоминай и не комментируй правописание, пунктуацию или неразборчивые слова.
|
WICHTIG: Der Text wurde durch automatische Spracherkennung erfasst. Rechtschreibung, Zeichensetzung, Zusammenschreibungen und Großschreibung sind Erkennungsartefakte. Ignoriere diese vollständig. Kommentiere niemals Rechtschreibung, Zeichensetzung oder unklare Wörter.
|
||||||
|
|
||||||
Тебе дают вопрос на немецком и ответ пользователя на немецком. Дай ровно два пункта:
|
Du bekommst eine Frage auf Deutsch und die Antwort des Nutzers auf Deutsch. Gib genau zwei Punkte:
|
||||||
|
|
||||||
1. **Правка** — только самая грубая ошибка в смысле или порядке слов (если ошибок нет — скажи коротко)
|
1. **Korrektur** — nur der gröbste Fehler im Sinn oder in der Wortstellung (wenn kein Fehler — kurz bestätigen)
|
||||||
2. **Альтернативный оборот** — один другой способ выразить ту же мысль по-немецки
|
2. **Alternative Formulierung** — eine andere Möglichkeit, denselben Gedanken auf Deutsch auszudrücken
|
||||||
|
|
||||||
Больше ничего не добавляй. Отвечай на русском языке. Используй markdown для форматирования.`;
|
Füge nichts weiter hinzu. Antworte auf Deutsch. Verwende Markdown zur Formatierung.`;
|
||||||
|
|
||||||
const userMessage = `Вопрос: ${question}\n\nОтвет пользователя: ${answer}`;
|
const userMessage = `Frage: ${question}\n\nAntwort des Nutzers: ${answer}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch("https://api.anthropic.com/v1/messages", {
|
const response = await fetch("https://api.anthropic.com/v1/messages", {
|
||||||
|
|||||||
Reference in New Issue
Block a user