File size: 1,006 Bytes
33d0cf1 |
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 35 36 37 38 39 40 |
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow_text import SentencepieceTokenizer
import gradio as gr
import math
model_url = "https://tfhub.dev/google/universal-sentence-encoder-multilingual-large/3"
model = hub.load(model_url)
def embed_text(text: str) -> dict:
embeddings = model(text)
return embeddings.numpy().tolist()
embed_text_inter = gr.Interface(
fn = embed_text,
inputs = "text",
outputs = gr.JSON(),
title = "Universal Sentence Encoder 3 Large"
)
def distance(text_1: str, text_2: str) -> float:
embeddings_1 = model(text_1)
embeddings_2 = model(text_2)
dist = math.sqrt(sum((embeddings_1 - embeddings_2)**2))
return dist
distance_inter = gr.Interface(
fn = distance,
inputs = ["text", "text"],
outputs = "number",
title = "Universal Sentence Encoder 3 Large"
)
iface = gr.TabbedInterface(
interface_list=[embed_text_inter, distance_inter],
title="Universal Sentence Encoder 3 Large"
)
iface.launch() |