Kasher13 commited on
Commit
59c1316
·
1 Parent(s): ede477d

Add lightweight bge-m3 embedding API (no llama-cpp-python)

Browse files
Files changed (2) hide show
  1. app.py +30 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Hiền Concept — bge-m3 Embedding Service
3
+ Lightweight HF Space: gradio + sentence-transformers only (~300MB)
4
+ API: POST /api/predict → 1024-dim float list
5
+ """
6
+
7
+ import gradio as gr
8
+ from sentence_transformers import SentenceTransformer
9
+
10
+ print("📥 Loading BAAI/bge-m3...")
11
+ model = SentenceTransformer("BAAI/bge-m3")
12
+ print("✅ bge-m3 ready!")
13
+
14
+
15
+ def embed(text: str) -> list:
16
+ """Embed text with bge-m3. Called by Vercel chatbot via Gradio API."""
17
+ if not text or not text.strip():
18
+ return []
19
+ vec = model.encode(text.strip(), normalize_embeddings=True)
20
+ return vec.tolist()
21
+
22
+
23
+ with gr.Blocks(title="Hiền Embed") as demo:
24
+ gr.Markdown("# bge-m3 Embedding API\n1024-dim vectors — used by Hiền Concept chatbot")
25
+ txt = gr.Textbox(label="Text", placeholder="chi phí là bao nhiêu?")
26
+ btn = gr.Button("Embed")
27
+ out = gr.JSON(label="Embedding (1024-dim)")
28
+ btn.click(fn=embed, inputs=txt, outputs=out, api_name="embed")
29
+
30
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio>=4.0.0
2
+ sentence-transformers>=3.0.0