GuXSs commited on
Commit
70afce1
·
verified ·
1 Parent(s): ee1aa28

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -14
app.py CHANGED
@@ -6,23 +6,22 @@ import requests
6
  from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
7
  from dotenv import load_dotenv
8
 
9
- # --------- Carregar secrets -------------
10
  load_dotenv()
11
- SUPABASE_URL = os.environ.get("SUPABASE_URL") # Ex.: https://xyz.supabase.co
12
- SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
 
 
13
  HEADERS = {
14
  "apikey": SUPABASE_KEY,
15
  "Authorization": f"Bearer {SUPABASE_KEY}",
16
  "Content-Type": "application/json"
17
  }
18
 
19
- # --------- Funções Supabase -------------
20
  def create_user(name: str):
21
  api_key = str(uuid.uuid4())
22
- data = {
23
- "name": name,
24
- "api_key": api_key
25
- }
26
  response = requests.post(f"{SUPABASE_URL}/rest/v1/users",
27
  headers=HEADERS,
28
  data=json.dumps(data))
@@ -37,22 +36,22 @@ def check_key(api_key: str):
37
  data = response.json()
38
  return len(data) > 0
39
 
40
- # --------- Carregar modelo Gemma 270M -------------
41
  model_name = "google/gemma-3-270m-it"
42
- tokenizer = AutoTokenizer.from_pretrained(model_name)
43
- model = AutoModelForCausalLM.from_pretrained(model_name)
44
  gen_pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
45
 
46
- # --------- Função de geração de texto -------------
47
  def generate_text(prompt, api_key):
48
  if not check_key(api_key):
49
  return "API Key inválida!"
50
  result = gen_pipe(prompt, max_length=100, do_sample=True)
51
  return result[0]["generated_text"]
52
 
53
- # --------- Interface Gradio -------------
54
  with gr.Blocks() as demo:
55
- gr.Markdown("## Gemma 270M API - Espaço Gratuito")
56
 
57
  with gr.Tab("Gerar Texto"):
58
  prompt_input = gr.Textbox(label="Prompt")
 
6
  from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
7
  from dotenv import load_dotenv
8
 
9
+ # ----------------- Load secrets -----------------
10
  load_dotenv()
11
+ HF_TOKEN = os.environ.get("HF_TOKEN") # Hugging Face Token
12
+ SUPABASE_URL = os.environ.get("SUPABASE_URL") # Supabase URL
13
+ SUPABASE_KEY = os.environ.get("SUPABASE_KEY") # Supabase API Key
14
+
15
  HEADERS = {
16
  "apikey": SUPABASE_KEY,
17
  "Authorization": f"Bearer {SUPABASE_KEY}",
18
  "Content-Type": "application/json"
19
  }
20
 
21
+ # ----------------- Supabase functions -----------------
22
  def create_user(name: str):
23
  api_key = str(uuid.uuid4())
24
+ data = {"name": name, "api_key": api_key}
 
 
 
25
  response = requests.post(f"{SUPABASE_URL}/rest/v1/users",
26
  headers=HEADERS,
27
  data=json.dumps(data))
 
36
  data = response.json()
37
  return len(data) > 0
38
 
39
+ # ----------------- Carregar modelo Gemma 270M -----------------
40
  model_name = "google/gemma-3-270m-it"
41
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=HF_TOKEN)
42
+ model = AutoModelForCausalLM.from_pretrained(model_name, use_auth_token=HF_TOKEN)
43
  gen_pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
44
 
45
+ # ----------------- Função de geração de texto -----------------
46
  def generate_text(prompt, api_key):
47
  if not check_key(api_key):
48
  return "API Key inválida!"
49
  result = gen_pipe(prompt, max_length=100, do_sample=True)
50
  return result[0]["generated_text"]
51
 
52
+ # ----------------- Interface Gradio -----------------
53
  with gr.Blocks() as demo:
54
+ gr.Markdown("## Gemma 270M API - Hugging Face Space")
55
 
56
  with gr.Tab("Gerar Texto"):
57
  prompt_input = gr.Textbox(label="Prompt")