|
import gradio as gr |
|
from transformers import AutoModel, AutoTokenizer |
|
import numpy as np |
|
|
|
|
|
model_name = "sentence-transformers/all-mpnet-base-v2" |
|
model = AutoModel.from_pretrained(model_name) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
|
def text_to_vector(texts): |
|
|
|
inputs = tokenizer(texts, return_tensors="pt", padding=True, truncation=True) |
|
outputs = model(**inputs) |
|
vectors = outputs.pooler_output.detach().numpy() |
|
|
|
|
|
vector_strings = [", ".join(map(str, vector)) for vector in vectors] |
|
return vector_strings |
|
|
|
demo = gr.Interface( |
|
fn=text_to_vector, |
|
inputs=gr.Textbox(label="Enter text", lines=4, placeholder="Enter one or more texts (separate with new lines)"), |
|
outputs=gr.Textbox(label="Text Vectors", lines=10), |
|
title="Batch Text to Vector", |
|
description="This demo converts a batch of texts to vectors." |
|
) |
|
|
|
demo.launch() |
|
|
|
|