| import gradio as gr | |
| import requests | |
| SYSTEM_PROMPT = """ | |
| Te egy magyar nyelvű házi feladat-segítő AI vagy. | |
| Mindig egyszerűen, érthetően, lépésenként magyarázol. | |
| Matematika, történelem, fizika, kémia, irodalom – bármit elmagyarázol. | |
| Ha a felhasználó képet tölt fel, először írd le, mi van rajta, majd oldd meg a feladatot. | |
| Soha ne írj túl hosszú válaszokat. A megoldást mindig lépésenként add meg. | |
| """ | |
| API_URL = "https://api-inference.huggingface.co/models/google/gemma-2b-it" | |
| HEADERS = {"Authorization": f"Bearer {gr.get_env('HF_TOKEN')}"} | |
| def solve(text, image): | |
| prompt = SYSTEM_PROMPT + "\nFeladat:\n" + text | |
| if image: | |
| prompt += "\n(Kép csatolva, értelmezd és oldd meg.)" | |
| payload = { | |
| "inputs": prompt | |
| } | |
| response = requests.post(API_URL, headers=HEADERS, json=payload) | |
| try: | |
| output = response.json()[0]["generated_text"] | |
| except: | |
| output = "Hiba történt vagy túl hosszú volt a kérés." | |
| return output | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Magyar Házi Feladat Segítő AI") | |
| text = gr.Textbox(label="Írd be a feladatot vagy kérdést") | |
| image = gr.Image(label="Kép (opcionális)", type="filepath") | |
| btn = gr.Button("Megoldás kérése") | |
| output = gr.Textbox(label="Megoldás") | |
| btn.click(fn=solve, inputs=[text, image], outputs=output) | |
| demo.launch() | |