Spaces:
Runtime error
Runtime error
import gradio as gr | |
import torch | |
import os | |
import numpy | |
from sentence_transformers import SentenceTransformer | |
#sentence_model = SentenceTransformer("paraphrase-multilingual-mpnet-base-v2") | |
#sentence_model = SentenceTransformer("all-mpnet-base-v2") | |
sentence_model = SentenceTransformer("mixedbread-ai/mxbai-embed-large-v1") | |
def getText( file ): | |
return open( file ).read() | |
def axis(): | |
global v, a, s | |
doc = getText( './axis/v' ) | |
embedding = sentence_model.encode( doc , show_progress_bar=False, normalize_embeddings=True ) | |
torch.save( embedding , './embeds/v' ) | |
v = embedding | |
doc = getText( './axis/a' ) | |
embedding = sentence_model.encode( doc , show_progress_bar=False, normalize_embeddings=True ) | |
torch.save( embedding , './embeds/a' ) | |
a = embedding | |
doc = getText( './axis/s' ) | |
embedding = sentence_model.encode( doc , show_progress_bar=False, normalize_embeddings=True ) | |
torch.save( embedding , './embeds/s' ) | |
s = embedding | |
def zxy( doc ): | |
global v, a, s | |
if not os.path.exists( './embeds/s' ): | |
axis() # run this to setup axis embeddings | |
else: | |
if not 'v' in globals() : | |
print( "loading axes from embeds" ) | |
v = torch.load( './embeds/v' ) | |
a = torch.load( './embeds/a' ) | |
s = torch.load( './embeds/s' ) | |
embedding = sentence_model.encode( doc , show_progress_bar=False , normalize_embeddings=True ) | |
# torch.save( embedding , './embeds/new' ) | |
z = ( 1.0 - embedding @ s ) / 2.0 # level 0 on top | |
x = ( 1.0 - embedding @ a ) / 2.0 # ring 0 in the middle | |
y = ( embedding @ v + 1.0 ) / 2.0 # sector 0 at twelve oclock | |
# add one to make positive / divide by two to make range 0-1 | |
scale = 1 | |
levels = 44 | |
rings = 22 | |
sectors = 44 * 4 | |
zxy = [ numpy.rint( scale * levels * z ) , numpy.rint( scale * rings * x ) , numpy.rint( scale * sectors * y ) ] | |
return f"""L{ str( int( zxy[ 0 ] ) ) }/{ str( int( zxy[ 1 ] ) ) }/{ str( int( zxy[ 2 ] ) ) } | |
es={ embedding @ s } ex={ embedding @ a } ey={ embedding @ v } | |
z={ z } x={ x } y={ y } | |
{scale} {levels} {rings} {sectors} | |
""" | |
#iface = gr.Interface(fn=zxy, inputs="text", outputs="text") | |
#iface.launch() | |
#iface.launch(share=True) # make public | |