Ogghey commited on
Commit
1fe6e3b
Β·
verified Β·
1 Parent(s): 9c43309

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -12
app.py CHANGED
@@ -1,17 +1,23 @@
 
1
  from fastapi import FastAPI, Request
2
  from sentence_transformers import SentenceTransformer, util
3
  import torch
4
  import requests
5
- import os
6
- os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf" # atau path lain yang bisa ditulis
7
 
 
 
 
 
8
  SUPABASE_URL = "https://olbjfxlclotxtnpjvpfj.supabase.co"
9
- SUPABASE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im9sYmpmeGxjbG90eHRucGp2cGZqIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTIyMzYwMDEsImV4cCI6MjA2NzgxMjAwMX0.7q_o5DCFEAAysnWXMChH4MI5qNhIVc4OgpT5JvgYxc0" # isi dengan key kamu
10
 
 
11
  model = SentenceTransformer("all-MiniLM-L6-v2")
12
 
 
13
  app = FastAPI()
14
 
 
15
  def get_faq_from_supabase(uid):
16
  url = f"{SUPABASE_URL}/rest/v1/faq_texts?uid=eq.{uid}"
17
  headers = {
@@ -32,10 +38,10 @@ def get_faq_from_supabase(uid):
32
  async def predict(request: Request):
33
  body = await request.json()
34
  uid, question = body.get("data", [None, None])
35
-
36
  if not uid or not question:
37
  return {"data": ["UID atau pertanyaan tidak valid."]}
38
-
39
  faqs = get_faq_from_supabase(uid)
40
  if not faqs:
41
  return {"data": ["FAQ tidak ditemukan untuk UID ini."]}
@@ -49,10 +55,4 @@ async def predict(request: Request):
49
  similarity = util.pytorch_cos_sim(query_embedding, embeddings)
50
  best_idx = torch.argmax(similarity).item()
51
 
52
- return {"data": [answers[best_idx]]}
53
-
54
- # Jalankan Gradio opsional di thread terpisah
55
- if __name__ == "__main__":
56
- import threading
57
- threading.Thread(target=launch_gradio).start()
58
- uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
+ import os
2
  from fastapi import FastAPI, Request
3
  from sentence_transformers import SentenceTransformer, util
4
  import torch
5
  import requests
 
 
6
 
7
+ # πŸ›‘οΈ Pastikan cache bisa ditulis
8
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf"
9
+
10
+ # πŸ” Supabase config
11
  SUPABASE_URL = "https://olbjfxlclotxtnpjvpfj.supabase.co"
12
+ SUPABASE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
13
 
14
+ # πŸ” Load model sekali
15
  model = SentenceTransformer("all-MiniLM-L6-v2")
16
 
17
+ # πŸš€ FastAPI app
18
  app = FastAPI()
19
 
20
+ # πŸ”½ Ambil data FAQ dari Supabase
21
  def get_faq_from_supabase(uid):
22
  url = f"{SUPABASE_URL}/rest/v1/faq_texts?uid=eq.{uid}"
23
  headers = {
 
38
  async def predict(request: Request):
39
  body = await request.json()
40
  uid, question = body.get("data", [None, None])
41
+
42
  if not uid or not question:
43
  return {"data": ["UID atau pertanyaan tidak valid."]}
44
+
45
  faqs = get_faq_from_supabase(uid)
46
  if not faqs:
47
  return {"data": ["FAQ tidak ditemukan untuk UID ini."]}
 
55
  similarity = util.pytorch_cos_sim(query_embedding, embeddings)
56
  best_idx = torch.argmax(similarity).item()
57
 
58
+ return {"data": [answers[best_idx]]}