allbibek commited on
Commit
9e73ac9
·
verified ·
1 Parent(s): ea6ca86

create model

Browse files
Files changed (1) hide show
  1. app.py +35 -7
app.py CHANGED
@@ -1,10 +1,38 @@
1
  import gradio as gr
 
2
 
3
- with gr.Blocks(fill_height=True) as demo:
4
- with gr.Sidebar():
5
- gr.Markdown("# Inference Provider")
6
- gr.Markdown("This Space showcases the sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 model, served by the hf-inference API. Sign in with your Hugging Face account to use this API.")
7
- button = gr.LoginButton("Sign in")
8
- gr.load("models/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2", accept_token=button, provider="hf-inference")
 
 
 
 
 
9
 
10
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ from sentence_transformers import SentenceTransformer
3
 
4
+ # Load the model globally to ensure it's only loaded once
5
+ # This is crucial for performance and resource management
6
+ model = SentenceTransformer("sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
7
+
8
+ def get_embedding(text: str):
9
+ """
10
+ Menghasilkan embedding vector dari teks menggunakan model SentenceTransformer.
11
+ """
12
+ # Menghindari encoding teks kosong
13
+ if not text:
14
+ return []
15
 
16
+ # Mengonversi array numpy ke list Python agar bisa di-JSON-kan
17
+ embedding = model.encode(text).tolist()
18
+ return embedding
19
+
20
+ # Gradio Interface
21
+ # `fn` adalah fungsi yang akan dieksekusi
22
+ # `inputs` adalah jenis input (dalam hal ini, sebuah teks)
23
+ # `outputs` adalah jenis output (dalam hal ini, sebuah JSON)
24
+ # `api_name` adalah nama endpoint API
25
+ demo = gr.Interface(
26
+ fn=get_embedding,
27
+ inputs=gr.Textbox(label="Masukkan teks"),
28
+ outputs=gr.JSON(label="Embedding Vector"),
29
+ title="Multilingual Embedding API",
30
+ description="Masukkan teks untuk mendapatkan vektor embedding menggunakan model paraphrase-multilingual-MiniLM-L12-v2.",
31
+ examples=["Halo dunia!", "Apa kabar hari ini?", "Selamat pagi!"],
32
+ allow_flagging="never",
33
+ api_name="get_embedding"
34
+ )
35
+
36
+ # Launch the app
37
+ if __name__ == "__main__":
38
+ demo.launch()