import spacy import gradio as gr # Загрузка модели spaCy nlp = spacy.load("ru_core_news_md") # или "ru_core_news_md" для русского языка # Функция для загрузки статей из файла def load_articles(file_path): with open(file_path, "r", encoding="utf-8") as f: articles = f.readlines() return [article.strip() for article in articles] # Функция для нахождения самой релевантной статьи def find_most_relevant_article(query, articles): query_doc = nlp(query) similarities = [(article, query_doc.similarity(nlp(article))) for article in articles] most_relevant_article = max(similarities, key=lambda x: x[1]) return most_relevant_article[0] # Загрузка статей из файла file_path = "dataset.txt" articles = load_articles(file_path) # Определение функции для интерфейса Gradio def get_relevant_article(query): return find_most_relevant_article(query, articles) # Создание интерфейса Gradio iface = gr.Interface( fn=get_relevant_article, inputs="text", outputs="text", title="Поиск релевантных статей из Википедии", description="Введите запрос, чтобы найти самую релевантную статью из датасета." ) # Запуск интерфейса iface.launch()