LMQuestAI é uma API Flask que utiliza técnicas de Inteligência Artificial para responder perguntas com base em um documento de texto. O sistema usa TF-IDF e similaridade de cosseno para identificar e fornecer a resposta mais relevante a partir de um conjunto de sentenças.
- Carrega um documento de texto (
internet.txt) e divide o conteúdo em sentenças. - Gera uma representação TF-IDF das sentenças.
- Calcula a similaridade de cosseno entre uma pergunta e as sentenças do documento para determinar a resposta mais relevante.
Para rodar este projeto localmente, você precisará ter:
-
Python 3.x
-
As seguintes bibliotecas Python:
Flask: para criar a APIscikit-learn: para o processamento de texto e cálculo de similaridadenumpy: para operações matemáticasre: para manipulação de expressões regulares (integrada ao Python)
Use o pip para instalar as bibliotecas necessárias:
pip install Flask scikit-learn numpy-
Clone este repositório.
-
Certifique-se de ter o arquivo
internet.txtno diretório raiz do projeto. Este arquivo deve conter o texto que será analisado para responder às perguntas. -
Execute o script
app.py:
python app.py- A API estará disponível localmente em
http://127.0.0.1:5000.
Para fazer uma pergunta à API, você deve enviar uma solicitação POST para o endpoint /do_answer com um corpo JSON contendo a pergunta. Exemplo:
curl -X POST http://127.0.0.1:5000/do_answer -H "Content-Type: application/json" -d '{"pergunta": "Qual é o propósito da internet?"}'{
"resposta": "A internet foi criada com o propósito de interligar redes."
}Se a similaridade da pergunta com as sentenças não for suficientemente alta, a API retornará:
{
"resposta": "Desculpe, não consegui encontrar uma resposta adequada."
}- Arquivo de texto: Para utilizar seu próprio documento, substitua o conteúdo do arquivo
internet.txt. - Limite de similaridade: O valor padrão de
thresholdé 0.2. Você pode ajustar esse valor na funçãoanswer_questionpara alterar a precisão das respostas.
.
├── app.py # Código principal da API
├── internet.txt # Documento de texto utilizado para responder às perguntas
└── README.md # Arquivo de documentação- Flask - para construção da API
- Scikit-learn - para a implementação do TF-IDF e cálculo da similaridade de cosseno
- NumPy - para operações matemáticas
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Made with ❤️ by Larissa Santos