from fastapi import FastAPI, HTTPException import yake app = FastAPI() # Inicializando o extrator de palavras-chave YAKE kw_extractor = yake.KeywordExtractor() @app.get("/extract-keywords") async def extract_keywords(text: str, max_ngram_size: int = 3, num_of_keywords: int = 10): """ Extrai palavras-chave de um texto enviado via GET. :param text: Texto do post a ser analisado. :param max_ngram_size: O tamanho máximo dos n-grams (default é 3). :param num_of_keywords: Número máximo de palavras-chave a serem retornadas. :return: Lista de palavras-chave extraídas. """ try: # Configuração do extrator de palavras-chave custom_kw_extractor = yake.KeywordExtractor( lan="en", n=max_ngram_size, top=num_of_keywords ) # Extraindo as palavras-chave keywords = custom_kw_extractor.extract_keywords(text) # Extrai apenas as palavras-chave (segundo valor de cada tupla) keyword_list = [kw[1] for kw in keywords] # Aqui pegamos o segundo valor de cada tupla (a palavra-chave) return {"keywords": keyword_list} except Exception as e: raise HTTPException(status_code=400, detail=str(e))