Spaces:
Running on Zero
Running on Zero
| import json | |
| import gradio as gr | |
| import spaces | |
| from sentence_transformers import SentenceTransformer | |
| model = None | |
| def get_model(): | |
| global model | |
| if model is None: | |
| model = SentenceTransformer("mixedbread-ai/deepset-mxbai-embed-de-large-v1") | |
| return model | |
| def embed_texts(texts_json: str) -> str: | |
| """Embed a list of texts. Input: JSON array of strings. Output: JSON array of float arrays.""" | |
| texts = json.loads(texts_json) | |
| m = get_model() | |
| embeddings = m.encode(texts, batch_size=64, convert_to_numpy=True) | |
| return json.dumps(embeddings.tolist()) | |
| demo = gr.Interface( | |
| fn=embed_texts, | |
| inputs=gr.Textbox(label="Texts (JSON array of strings)", lines=5), | |
| outputs=gr.Textbox(label="Embeddings (JSON array of float arrays)", lines=5), | |
| title="HDP Wiki Embedder", | |
| description="Batch text embedding using deepset-mxbai-embed-de-large-v1 (1024-dim).", | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |