Skip to content

Commit f06c674

Browse files
authored
Refactor Gemini service for better error handling
Updated error handling and logging for clarity. Modified prompt for script generation.
1 parent 6e94f7a commit f06c674

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

services/geminiService.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,54 @@
1+
// services/geminiService.ts
2+
3+
// VŽDY ZKONTROLUJ, ZDA TATO URL ODPOVÍDÁ TVÉMU TUNELU V TERMINÁLU!
14
const TUNNEL_URL = "https://clients-update-scientists-mouth.trycloudflare.com";
25

36
export const sendMessageToGemini = async (prompt: string) => {
47
try {
58
const response = await fetch(`${TUNNEL_URL}/api/generate`, {
69
method: 'POST',
7-
headers: { 'Content-Type': 'application/json' },
10+
headers: {
11+
'Content-Type': 'application/json',
12+
},
813
body: JSON.stringify({
914
model: 'gemma3:4b',
1015
prompt: prompt,
1116
stream: false
1217
})
1318
});
1419

15-
if (!response.ok) throw new Error(`Raspberry Pi vrátilo chybu: ${response.status}`);
20+
if (!response.ok) {
21+
throw new Error(`Raspberry Pi vrátilo chybu: ${response.status}`);
22+
}
1623

1724
const data = await response.json();
1825

19-
// TENTO ŘÁDEK TI UKÁŽE DATA V KONZOLI (F12)
20-
console.log('Kompletní data z Ollamy:', data);
26+
// Logování pro tvou kontrolu v konzoli (F12)
27+
console.log('Data z Ollamy:', data);
28+
29+
// Klíčové pro zobrazení v chatu: vracíme přímo textový řetězec
30+
return data.response;
2131

22-
return data.response || "AI vrátila prázdnou odpověď.";
2332
} catch (error) {
2433
console.error('Chyba při volání AI:', error);
25-
throw error;
34+
return "Omlouvám se, spojení s Raspberry Pi selhalo. Zkontroluj, zda běží tunel a Ollama.";
2635
}
2736
};
2837

38+
/**
39+
* Funkce pro generování scénáře z materiálů
40+
* Nutné pro úspěšný build na GitHubu
41+
*/
2942
export const generateScriptFromMaterial = async (material: any) => {
30-
const prompt = `Vytvoř studijní scénář z: ${JSON.stringify(material)}`;
43+
const prompt = `Jsi studijní asistent. Vytvoř strukturovaný studijní scénář z tohoto materiálu: ${JSON.stringify(material)}`;
3144
return await sendMessageToGemini(prompt);
3245
};
3346

47+
/**
48+
* Funkce pro simulaci generování audia
49+
* Nutné pro úspěšný build na GitHubu
50+
*/
3451
export const generatePodcastAudio = async (text: string) => {
52+
console.log("Generování audia pro:", text);
3553
return "";
3654
};

0 commit comments

Comments
 (0)