Spaces:
Running
Running
from typing import List | |
import gradio as gr | |
import spaces | |
import numpy as np | |
from sentence_transformers import SentenceTransformer | |
model = SentenceTransformer("nomic-ai/nomic-embed-text-v1.5", trust_remote_code=True) | |
def embed(document: str) -> List[float]: | |
""" | |
Embed text using the Nomic AI model, normalize the embedding, and return a 768-dimension vector. | |
Args: | |
document (str): The input text to embed. | |
Returns: | |
List[float]: The normalized embedding vector (length 768). | |
""" | |
embedding = model.encode(document) | |
normalized_embedding = embedding / np.linalg.norm(embedding) | |
return normalized_embedding.tolist() | |
with gr.Blocks() as app: | |
text_input = gr.Textbox(label="Enter text to embed") | |
output = gr.JSON(label="Normalized Text Embedding") | |
text_input.submit(embed, inputs=text_input, outputs=output) | |
if __name__ == '__main__': | |
app.queue().launch(server_name="0.0.0.0", show_error=True, server_port=7860, mcp_server=True) |