O Agente de Memória é um assistente inteligente que funciona como seu "assistente virtual", capaz de:
- 🎤 Gravar áudio através do microfone
- 📝 Transcrever sua fala usando IA (Whisper da OpenAI)
- 🤖 Processar e registrar os eventos descritos no áudio usando GPT-4
- 💾 Salvar tudo em uma memória persistente para consultas futuras
Este projeto é perfeito para iniciantes em Python e IA que querem entender como integrar diferentes tecnologias de inteligência artificial.
- Como usar APIs da OpenAI (Whisper para transcrição e GPT-4 para processamento)
- Manipulação de arquivos de áudio em Python
- Gerenciamento de variáveis de ambiente
- Conceitos básicos de Agentes de IA
- Python 3.11+ - Linguagem principal
- OpenAI API - Para transcrição (Whisper) e processamento de linguagem natural (GPT-4)
- PyAudio - Para gravação de áudio
- Pydantic - Para validação e estruturação de dados
- Python-dotenv - Para gerenciamento de variáveis de ambiente
cw-academy/
│
├── agent-memory/ # Pasta principal do projeto
│ ├── main.py # Script principal
│ ├── requirements.txt # Dependências do projeto
│ ├── memory.json # Arquivo de memória (criado automaticamente)
│ │
│ ├── utils/ # Utilitários
│ │ ├── record_audio.py # Função para gravar áudio
│ │ └── basemodel2tool.py # Conversor de modelos Pydantic para tools OpenAI
│ │
│ └── tools/ # Ferramentas do agente
│ └── daily_events.py # Modelo para eventos diários
│
├── venv/ # Ambiente virtual Python
├── .gitignore # Arquivos ignorados pelo Git
└── README.md # Este arquivo
git clone <seu-repositorio>
cd cw-academy
# Criar ambiente virtual
python -m venv venv
# Ativar ambiente virtual
# No macOS/Linux:
source venv/bin/activate
# No Windows:
venv\Scripts\activate
cd agent-memory
pip install -r requirements.txt
- Crie uma conta na OpenAI
- Gere uma API Key no painel de controle
- Crie um arquivo
.env
na pastaagent-memory/
:
# Criar arquivo .env
touch .env
- Adicione sua API Key no arquivo
.env
:
OPENAI_API_KEY=sua_chave_api_aqui
⚠️ Importante: Nunca compartilhe sua API Key! O arquivo.env
já está no.gitignore
para protegê-la.
cd agent-memory
python main.py
- Fale sobre seu dia: O programa começará a gravar automaticamente
- Conte eventos: Ex: "Hoje de manhã fui ao médico e à tarde tive uma reunião importante"
- Aguarde o processamento: O agente irá transcrever e processar sua fala
- Veja o resultado: Os eventos serão salvos e uma confirmação será exibida
🎤 Gravando... (Fale sobre seus eventos do dia)
Você: "Hoje de manhã às 9h fui ao dentista, e à tarde às 15h tive uma reunião com o cliente João"
🤖 Agente: "Evento do dia 15/01/2024 registrado com sucesso, posso te ajudar com mais alguma coisa?"
graph TD
A[Início] --> B[Gravar Áudio]
B --> C[Transcrever com Whisper]
C --> D[Processar com GPT-4]
D --> E[Identificar Eventos]
E --> F[Salvar na Memória]
F --> G[Exibir Confirmação]
G --> B
- record_audio.py: Grava áudio do microfone e salva como arquivo WAV
- main.py: Loop principal que coordena todo o processo
- daily_events.py: Modelo de dados para eventos diários
- memory.json: Arquivo onde ficam salvos todos os eventos e interações
- Crie um novo modelo em
tools/
:
from pydantic import BaseModel, Field
class TaskEvents(BaseModel):
"""Registra tarefas e compromissos"""
date: str = Field(description="Data da tarefa")
tasks: List[str] = Field(description="Lista de tarefas")
- Importe e adicione ao
main.py
:
from tools.task_events import TaskEvents
# Adicione na lista de tools
Para usar em inglês, altere no main.py
:
language="en" # Linha da transcrição
macOS: Vá em Configurações > Privacidade > Microfone e permita o acesso ao Terminal/Python
macOS:
brew install portaudio
pip install pyaudio
Ubuntu/Debian:
sudo apt-get install portaudio19-dev
pip install pyaudio
- Verifique se a chave está correta no arquivo
.env
- Confirme se há créditos na sua conta OpenAI
Depois de dominar este projeto, você pode:
- Adicionar interface gráfica com Tkinter ou Streamlit
- Integrar com calendário (Google Calendar API)
- Adicionar busca por eventos por data ou palavra-chave
- Implementar classificação automática de eventos por categoria
- Criar relatórios semanais ou mensais
- Adicionar lembretes automáticos
Este é um projeto educacional! Sinta-se à vontade para:
- Fazer fork do projeto
- Propor melhorias
- Reportar bugs
- Adicionar novas funcionalidades
Projeto desenvolvido para fins educacionais. Use, modifique e compartilhe livremente!
💡 Dica: Este projeto é uma excelente introdução ao mundo dos Agentes de IA. Continue explorando e criando!