Spaces:
Sleeping
Sleeping
import gradio as gr | |
import fasttext | |
from huggingface_hub import hf_hub_download | |
from huggingface_hub import login | |
import os | |
login(token=os.environ["HF_TOKEN"]) | |
model_path = hf_hub_download(repo_id="LuminAISecurity/fasttext-english-nearest-neighbors", filename="model.bin") | |
model = fasttext.load_model(model_path) | |
def get_nearest_neighbors(word, model, k=5): | |
neighbors = model.get_nearest_neighbors(word, k=k) | |
return neighbors | |
# Define the K-nearest neighbors function | |
def find_nearest_neighbors(text, k): | |
neighbors = model.get_nearest_neighbors(text, k=k+3) | |
return neighbors[2:] | |
# Create the Gradio interface | |
iface = gr.Interface( | |
fn=find_nearest_neighbors, | |
inputs=[ | |
gr.Textbox(lines=2, placeholder="Enter text here...", label="Input Text"), | |
gr.Slider(1, 10, value=5, label="Number of Neighbors") | |
], | |
outputs=gr.JSON(label="Nearest Neighbors"), | |
title="FastText K-Nearest Neighbors Finder", | |
description="Enter a text and the number of neighbors to find the closest matches using the FastText model.", | |
examples=[["king", 5], ["queen", 3]], | |
theme="default", | |
css="style.css" | |
) | |
# Launch the app | |
if __name__ == "__main__": | |
iface.launch(share=True) | |