Levente22 commited on
Commit
02e0f24
·
verified ·
1 Parent(s): e0d870d

Egy magyar nyelvű AI, amely segít házi feladatokban, magyarázatokban, tanulásban és példamegoldásban. Képes szöveget értelmezni, kérdésekre válaszolni, lépéseket levezetni, és egyszerűen elmagyarázni bármit. Teljesen ingyenesen használható.

Files changed (1) hide show
  1. appy. +57 -0
appy. ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import requests
3
+ import base64
4
+ import os
5
+
6
+ SYSTEM_PROMPT = """
7
+ Te egy magyar nyelvű házi feladat-segítő AI vagy.
8
+ Mindig érthetően, egyszerűen és lépésenként magyarázol.
9
+ Matematika, történelem, fizika, biológia, kémia, irodalom – mindent elmagyarázol.
10
+ Képet is fel tudsz ismerni: leírod, mi látható rajta, majd megoldod a feladatot.
11
+ Soha ne írj felesleges szöveget. Mindig tömör, tiszta, lépésenkénti megoldást adj.
12
+ """
13
+
14
+ API_URL = "https://api-inference.huggingface.co/models/llava-hf/llava-1.5-7b-hf"
15
+ HEADERS = {"Authorization": f"Bearer {os.getenv('HF_API_TOKEN')}"}
16
+
17
+ def encode_image(image_path):
18
+ with open(image_path, "rb") as f:
19
+ return base64.b64encode(f.read()).decode("utf-8")
20
+
21
+ def solve(text, image):
22
+ if not text:
23
+ return "Adj meg egy feladatot."
24
+
25
+ inputs = {
26
+ "prompt": SYSTEM_PROMPT + "\nFeladat:\n" + text,
27
+ }
28
+
29
+ if image:
30
+ try:
31
+ img_b64 = encode_image(image)
32
+ inputs["image"] = img_b64
33
+ except:
34
+ return "Hiba: a képet nem sikerült beolvasni."
35
+
36
+ response = requests.post(API_URL, headers=HEADERS, json=inputs)
37
+
38
+ try:
39
+ data = response.json()
40
+ if "generated_text" in data:
41
+ return data["generated_text"]
42
+ else:
43
+ return data
44
+ except:
45
+ return "Hiba történt a modell válaszánál."
46
+
47
+ with gr.Blocks() as demo:
48
+ gr.Markdown("# 🇭🇺 Magyar Multimodális Házi Feladat Segítő AI")
49
+
50
+ text = gr.Textbox(label="Írd be a feladatot vagy kérdést")
51
+ image = gr.Image(label="Kép (opcionális)", type="filepath")
52
+ btn = gr.Button("Megoldás kérése")
53
+ output = gr.Textbox(label="Megoldás", lines=12)
54
+
55
+ btn.click(fn=solve, inputs=[text, image], outputs=output)
56
+
57
+ demo.launch()