File size: 976 Bytes
59c1316
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
Hiền Concept — bge-m3 Embedding Service
Lightweight HF Space: gradio + sentence-transformers only (~300MB)
API: POST /api/predict → 1024-dim float list
"""

import gradio as gr
from sentence_transformers import SentenceTransformer

print("📥 Loading BAAI/bge-m3...")
model = SentenceTransformer("BAAI/bge-m3")
print("✅ bge-m3 ready!")


def embed(text: str) -> list:
    """Embed text with bge-m3. Called by Vercel chatbot via Gradio API."""
    if not text or not text.strip():
        return []
    vec = model.encode(text.strip(), normalize_embeddings=True)
    return vec.tolist()


with gr.Blocks(title="Hiền Embed") as demo:
    gr.Markdown("# bge-m3 Embedding API\n1024-dim vectors — used by Hiền Concept chatbot")
    txt = gr.Textbox(label="Text", placeholder="chi phí là bao nhiêu?")
    btn = gr.Button("Embed")
    out = gr.JSON(label="Embedding (1024-dim)")
    btn.click(fn=embed, inputs=txt, outputs=out, api_name="embed")

demo.launch()