import spacy_streamlit
from pathlib import Path
import srsly
import importlib
import random

DEFAULT_MODEL = "en_core_web_trf"
DEFAULT_TEXT = "  "


def get_all_models():
   with open("requirements.txt") as f:
    content = f.readlines()
    models = []
    for line in content:
        if "huggingface.co" in line:
            models.append(line.split("/")[4])
    return models

MODELS = get_all_models()

def get_default_text(nlp):
    # Check if spaCy has built-in example texts for the language
    try:
        examples = importlib.import_module(f".lang.{nlp.lang}.examples", "spacy")
        return examples.sentences[0]
    except (ModuleNotFoundError, ImportError):
        return ""

spacy_streamlit.visualize(
    MODELS,
    default_model=DEFAULT_MODEL,
    visualizers=["ner"],
    show_visualizer_select=True,
    get_default_text=get_default_text
)