demo_video.mp4
- Food preferences and dietary restrictions
- Ingredients you have available at home
The application uses a PostgreSQL database to remember chat history, preferences, and ingredients.
- Frontend: Streamlit
- AI Framework: LangChain and LangGraph
- Language Model: Qwen3 14B (running locally)
- Database: PostgreSQL for persistent storage
- Architecture: Agent-based system with memory management
app.py: Streamlit application and user interfaceagent.py: Implementation of the conversational agent with LangGraphmemory.py: Memory management and database persistence layermodels.py: Pydantic models for data structuresprompts.py: System messages and instructions for the language model
- Python 3.9+
- PostgreSQL
- Ollama (for running the Qwen model locally)
1.Clone the repository:
git clone git@github.com:ccrvos/ingrai.git
cd ingrai2.Install dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt3.Set up PostgreSQL:
# Make sure PostgreSQL is running on port 5442
# Example using Docker:
docker run --name postgres-ingrai -e POSTGRES_PASSWORD=postgres -p 5442:5432 -d postgres4.Install Ollama: Follow Ollama installation instructions
5.Run the Ollama server:
ollama serve6.Open new terminal and run the Ollama model:
ollama run qwen3:14b7.Run the application:
streamlit run app.py