|
| 1 | +// services/geminiService.ts |
| 2 | + |
| 3 | +// VŽDY ZKONTROLUJ, ZDA TATO URL ODPOVÍDÁ TVÉMU TUNELU V TERMINÁLU! |
1 | 4 | const TUNNEL_URL = "https://clients-update-scientists-mouth.trycloudflare.com"; |
2 | 5 |
|
3 | 6 | export const sendMessageToGemini = async (prompt: string) => { |
4 | 7 | try { |
5 | 8 | const response = await fetch(`${TUNNEL_URL}/api/generate`, { |
6 | 9 | method: 'POST', |
7 | | - headers: { 'Content-Type': 'application/json' }, |
| 10 | + headers: { |
| 11 | + 'Content-Type': 'application/json', |
| 12 | + }, |
8 | 13 | body: JSON.stringify({ |
9 | 14 | model: 'gemma3:4b', |
10 | 15 | prompt: prompt, |
11 | 16 | stream: false |
12 | 17 | }) |
13 | 18 | }); |
14 | 19 |
|
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 | + } |
16 | 23 |
|
17 | 24 | const data = await response.json(); |
18 | 25 |
|
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; |
21 | 31 |
|
22 | | - return data.response || "AI vrátila prázdnou odpověď."; |
23 | 32 | } catch (error) { |
24 | 33 | 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."; |
26 | 35 | } |
27 | 36 | }; |
28 | 37 |
|
| 38 | +/** |
| 39 | + * Funkce pro generování scénáře z materiálů |
| 40 | + * Nutné pro úspěšný build na GitHubu |
| 41 | + */ |
29 | 42 | 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)}`; |
31 | 44 | return await sendMessageToGemini(prompt); |
32 | 45 | }; |
33 | 46 |
|
| 47 | +/** |
| 48 | + * Funkce pro simulaci generování audia |
| 49 | + * Nutné pro úspěšný build na GitHubu |
| 50 | + */ |
34 | 51 | export const generatePodcastAudio = async (text: string) => { |
| 52 | + console.log("Generování audia pro:", text); |
35 | 53 | return ""; |
36 | 54 | }; |
0 commit comments