Um chatbot interativo que aprende com as interações do usuário e se adapta às preferências. O chatbot armazena informações sobre um tópico específico, valida fatos e ajusta-se às preferências do usuário.
- Interface de usuário interativa construída com Streamlit
- Aprendizado contínuo a partir das interações do usuário
- Validação de fatos antes de adicionar à base de conhecimento
- Adaptação às preferências do usuário
- Banco de dados vetorial para recuperação eficiente de conhecimento
- Containerização com Docker para fácil implantação
O projeto é construído usando as seguintes tecnologias:
- Python: Linguagem de programação principal
- Streamlit: Interface do usuário
- LangChain: Framework para trabalhar com LLMs
- LangGraph: Orquestração de agentes e fluxo de trabalho
- Groq: Provedor de LLM
- FAISS: Banco de dados vetorial para armazenamento de conhecimento
- Docker: Containerização
project/
├── .env.example # Modelo de variáveis de ambiente
├── .gitignore
├── README.md # Documentação do projeto
├── docker-compose.yml # Configuração Docker para a aplicação e banco de dados
├── Dockerfile # Configuração Docker para a aplicação
├── src/
│ ├── __init__.py
│ ├── main.py # Ponto de entrada da aplicação
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── chatbot.py # Implementação do agente LangGraph
│ │ └── validator.py # Agente de validação de entrada
│ ├── database/
│ │ ├── __init__.py
│ │ └── vector_store.py # Integração com banco de dados vetorial FAISS
│ ├── config/
│ │ ├── __init__.py
│ │ └── settings.py # Configurações
│ ├── memory/
│ │ ├── __init__.py
│ │ └── knowledge_base.py # Armazenamento e recuperação de conhecimento
│ └── ui/
│ ├── __init__.py
│ └── app.py # Implementação da interface Streamlit
└── tests/
├── __init__.py
└── test_chatbot.py # Testes básicos
- Python 3.10+
- Poetry
- Docker e Docker Compose
- Chave de API Groq
-
Clone o repositório:
git clone https://github.com/yourusername/adaptive-learning-chatbot.git cd adaptive-learning-chatbot
-
Instale as dependências:
poetry install
-
Crie um arquivo
.env
a partir do modelo:cp .env.example .env
-
Edite o arquivo
.env
para adicionar sua chave de API Groq:GROQ_API_KEY=sua_chave_api_groq_aqui
-
Execute a aplicação:
streamlit run src/ui/app.py
-
Construa e execute com Docker Compose:
docker-compose up --build
-
Acesse a aplicação em
http://localhost:8501
-
Iniciando uma Conversa: Comece fazendo perguntas ou compartilhando informações com o chatbot.
-
Ensinando o Chatbot: O chatbot aprenderá informações que você compartilhar após validá-las.
-
Definindo Preferências: O chatbot se adaptará às suas preferências:
- Para comunicação formal: "Eu prefiro um tom formal"
- Para respostas concisas: "Eu gosto de respostas curtas e diretas"
- Para respostas detalhadas: "Por favor, forneça explicações detalhadas"
-
Visualizando Informações Aprendidas: Use a barra lateral para ver o que o chatbot aprendeu.
Execute os testes com:
pytest
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.