A chatbot that performs web searches on demand and notifies users with relevant results in real time.
- Conversational chatbot interface using Gradio
- On-demand web search via Google Serper API
- Real-time push notifications using Pushover
- Persistent conversation memory with SQLite
- Powered by OpenAI GPT-4o-mini and LangChain/Graph
- Python 3.12+
- API keys for OpenAI, Google Serper, and Pushover
- Clone the repository:
git clone https://github.com/yourusername/prompt-to-notify.git cd prompt-to-notify
- Install dependencies (recommended: use a virtual environment):
Or, if using uv:
pip install -r requirements.txt
uv pip install -r requirements.txt
Create a .env
file in the project root with the following variables:
OPENAI_API_KEY=blah
LANGSMITH_TRACING="true"
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
LANGSMITH_API_KEY="blah"
LANGSMITH_PROJECT="blah"
SERPER_API_KEY=blah
PUSHOVER_TOKEN=blah
Run the chatbot interface:
python main.py
This will launch a Gradio web interface in your browser.
- The chatbot receives user input and determines if a web search or push notification is needed.
- Web searches are performed using the Google Serper API.
- Push notifications are sent via the Pushover API.
- All conversation history is stored in a local SQLite database (
memory.db
).
main.py
— Main application codepyproject.toml
— Project metadata and dependenciesREADME.md
— This fileuv.lock
— Lockfile for reproducible installs
MIT License