Spaces:
Sleeping
Sleeping
File size: 830 Bytes
e9ce7de 3e261a2 e9ce7de 3e261a2 e9ce7de 3e261a2 e9ce7de 3e261a2 e9ce7de 27e7139 e9ce7de 3e261a2 e9ce7de 3e261a2 e9ce7de |
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 32 33 34 |
from sentence_transformers import SentenceTransformer
import gradio as gr
import numpy as np
import torch
# Function to convert dense vector to binary vector
def dense_to_binary(dense_vector):
return np.packbits(np.where(dense_vector >= 0, 1, 0)).tobytes()
# Load the model
device="cuda" if torch.cuda.is_available() else "cpu"
model = SentenceTransformer("mixedbread-ai/mxbai-embed-large-v1", device=device)
def embed(text:str):
# Float embedding
float_vector = model.encode(text, convert_to_numpy=True)
# Convert to binary vector
binary_vector = dense_to_binary(float_vector)
# Return both vectors
return float_vector, binary_vector
# Gradio interface
interface = gr.Interface(
fn=embed,
inputs=["text"],
outputs=["json", "text"]
)
interface.launch(server_port=7860)
|