Testapi / app.py
habulaj's picture
Update app.py
7730d87 verified
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))