hien-embed / app.py
Kasher13
Add lightweight bge-m3 embedding API (no llama-cpp-python)
59c1316
raw
history blame contribute delete
976 Bytes
"""
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()