akra35567 commited on
Commit
df524b9
·
verified ·
1 Parent(s): 6df2c32

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -8
app.py CHANGED
@@ -1,4 +1,4 @@
1
- # app.py — V23 — QWEN2.5:0.5B + PROMPT DINÂMICO (SINTAXE CORRIGIDA)
2
  import subprocess
3
  import time
4
  import requests
@@ -12,7 +12,6 @@ app = Flask(__name__)
12
  OLLAMA_URL = "http://localhost:11434"
13
  db = Database()
14
 
15
- # MODELO LEVE, PORTUGUÊS, FINE-TUNEÁVEL
16
  MODEL_NAME = "qwen2.5:0.5b-instruct-q4_0"
17
 
18
  def check_ollama():
@@ -24,8 +23,29 @@ def check_ollama():
24
  def start_ollama():
25
  subprocess.Popen(["ollama", "serve"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
26
 
27
- @app.route("/api/generate", methods=['POST'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  def generate():
 
 
 
29
  if not check_ollama():
30
  return jsonify({'resposta': 'Epá, tô acordando... espera 10s!'}), 503
31
 
@@ -52,18 +72,17 @@ def generate():
52
  abrevs = {"p'ra": "para", "pq": "porque", "tfx": "tudo fixe"}
53
 
54
  # Aprende novas
55
- for abrev, completa in abrevs.items():
56
  if abrev in mensagem.lower():
57
- db.aprender_abreviacao(numero, abrev, completa)
58
  for g in girias:
59
  if g in mensagem.lower():
60
  db.aprender_giria(numero, g)
61
 
62
- # === PROMPT DINÂMICO (CORRIGIDO) ===
63
  now = datetime.datetime.now().strftime('%d/%m %H:%M')
64
  hist_text = '\n'.join([f"Usuário: {h[0]}\nAkira: {h[1]}" for h in ctx["historico"]])
65
 
66
- # CORREÇÃO: Separar o f-string do \n
67
  historico_block = ""
68
  if hist_text:
69
  historico_block = f"### Histórico ###\n{hist_text}\n\n"
@@ -78,7 +97,7 @@ Data/hora: {now}
78
  {mensagem}
79
  Akira:"""
80
 
81
- # === GERA COM QWEN2.5:0.5B ===
82
  payload = {
83
  "model": MODEL_NAME,
84
  "prompt": prompt,
 
1
+ # app.py — V23 FIX ROTAS COMPLETAS (GET/POST + /health + /)
2
  import subprocess
3
  import time
4
  import requests
 
12
  OLLAMA_URL = "http://localhost:11434"
13
  db = Database()
14
 
 
15
  MODEL_NAME = "qwen2.5:0.5b-instruct-q4_0"
16
 
17
  def check_ollama():
 
23
  def start_ollama():
24
  subprocess.Popen(["ollama", "serve"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
25
 
26
+ # === RAIZ (GET /) ===
27
+ @app.route("/", methods=['GET'])
28
+ def index():
29
+ return '''
30
+ <div style="font-family: monospace; text-align: center; margin: 50px; background: #000; color: #0f0; padding: 40px;">
31
+ <h1>AKIRA V23 OLLAMA SERVER</h1>
32
+ <p><strong>qwen2.5:0.5b-instruct-q4_0</strong></p>
33
+ <p><strong>POST /api/generate</strong></p>
34
+ <p>Health: <a href="/health">/health</a></p>
35
+ </div>
36
+ ''', 200
37
+
38
+ # === HEALTH ===
39
+ @app.route("/health", methods=['GET'])
40
+ def health():
41
+ return jsonify({"status": "OK" if check_ollama() else "INICIANDO..."}), 200
42
+
43
+ # === API PRINCIPAL ===
44
+ @app.route("/api/generate", methods=['POST', 'GET'])
45
  def generate():
46
+ if request.method == 'GET':
47
+ return jsonify({'error': 'Use POST para gerar resposta'}), 405
48
+
49
  if not check_ollama():
50
  return jsonify({'resposta': 'Epá, tô acordando... espera 10s!'}), 503
51
 
 
72
  abrevs = {"p'ra": "para", "pq": "porque", "tfx": "tudo fixe"}
73
 
74
  # Aprende novas
75
+ for abrev in abrevs:
76
  if abrev in mensagem.lower():
77
+ db.aprender_abreviacao(numero, abrev, abrevs[abrev])
78
  for g in girias:
79
  if g in mensagem.lower():
80
  db.aprender_giria(numero, g)
81
 
82
+ # === PROMPT DINÂMICO ===
83
  now = datetime.datetime.now().strftime('%d/%m %H:%M')
84
  hist_text = '\n'.join([f"Usuário: {h[0]}\nAkira: {h[1]}" for h in ctx["historico"]])
85
 
 
86
  historico_block = ""
87
  if hist_text:
88
  historico_block = f"### Histórico ###\n{hist_text}\n\n"
 
97
  {mensagem}
98
  Akira:"""
99
 
100
+ # === GERA ===
101
  payload = {
102
  "model": MODEL_NAME,
103
  "prompt": prompt,