Skip to content

hediyeorhan/AI-Cooking-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍳 AI Cooking Assistant

Elinizdeki malzemelerle yapay zeka destekli yemek tarifleri ve görselleri üreten akıllı mutfak asistanı.

Bu proje, kullanıcının girdiği malzemelere göre Google Gemini ile yaratıcı yemek tarifleri öneren ve her tarif için Pollinations.ai ile yapay zeka destekli profesyonel yemek görselleri üreten modern bir web uygulamasıdır.


🌟 Özellikler

Özellik Açıklama
🤖 Yapay Zeka Tarif Üretimi Google Gemini 2.5 Flash ile malzemelere özel 3 farklı tarif önerisi
🖼️ AI Görsel Üretimi Pollinations.ai (ücretsiz) ile her tarife özel profesyonel yemek fotoğrafı
📦 Akıllı Önbellekleme Üretilen görseller yerel klasöre indirilir, tekrar sorulduğunda anında yüklenir
🔁 Otomatik Yeniden Deneme Rate limit veya zaman aşımında otomatik retry mekanizması
📊 Kalori Bilgisi Her tarif için yaklaşık kalori değeri
⚠️ Eksik Malzeme Analizi Tarif için ek olarak gerekli malzemeleri listeler
📖 Detaylı Tarif Görünümü Adım adım hazırlanış talimatları
🎨 Modern Arayüz Amber/Altın tonlarında premium dark theme tasarım

🏗️ Proje Mimarisi

CookingAssistant/
├── app.py                    # 🖥️  Streamlit ana uygulama (Web arayüzü)
├── main.py                   # 💻  Terminal tabanlı uygulama (CLI)
├── requirements.txt          # 📦  Python bağımlılıkları
├── .env                      # 🔑  API anahtarları (GEMINI_API_KEY)
│
├── llm/                      # 🧠  Yapay Zeka Katmanı
│   ├── gemini_client.py      #     Gemini API bağlantısı ve model seçimi
│   ├── prompt_builder.py     #     Yapılandırılmış prompt şablonu
│   ├── recipe_generator.py   #     Tarif üretim motoru (hata yönetimi dahil)
│   └── model_loader.py       #     Model yükleme yardımcıları
│
├── utils/                    # 🔧  Yardımcı Araçlar
│   ├── parser.py             #     Kullanıcı girdisi ayrıştırıcı
│   └── formatter.py          #     AI yanıt ayrıştırıcı (tarif parse)
│
└── assets/                   # 🖼️  Statik Dosyalar
    └── recipes/              #     AI tarafından üretilen yemek görselleri

🛠️ Kullanılan Teknolojiler

Teknoloji Kullanım Amacı Maliyet
Python 3.10+ Ana programlama dili Ücretsiz
Streamlit Web arayüzü framework'ü Ücretsiz
Google Gemini 2.5 Flash Tarif üretimi (LLM) Ücretsiz (günlük kota)
Pollinations.ai AI görsel üretimi (Stable Diffusion) Ücretsiz, API Key gerektirmez
Pillow (PIL) Görsel işleme Ücretsiz
python-dotenv Ortam değişkenleri yönetimi Ücretsiz

⚡ Kurulum

1. Depoyu Klonlayın

git clone <repo-url>
cd CookingAssistant

2. Python Bağımlılıklarını Yükleyin

pip install -r requirements.txt

3. API Anahtarını Ayarlayın

.env dosyası oluşturun veya mevcut dosyayı düzenleyin:

GEMINI_API_KEY=your_gemini_api_key_here

🔑 Gemini API Anahtarı Almak İçin: Google AI Studio adresine gidin → Sol menüden "Get API Key" → "Create API Key"

4. Uygulamayı Başlatın

Web Arayüzü (Streamlit):

streamlit run app.py

Terminal Modu (CLI):

python main.py

🚀 Nasıl Çalışır?

flowchart LR
    A[👤 Kullanıcı\nMalzeme Girer] --> B[🧠 Gemini 2.5 Flash\n3 Tarif + İngilizce Prompt Üretir]
    B --> C[🎨 Pollinations.ai\nAI Görsel Üretir]
    C --> D[💾 Yerel Klasör\nassets/recipes/]
    D --> E[🖥️ Streamlit\nKart Arayüzünde Gösterir]
Loading

Adım Adım Akış:

  1. Kullanıcı malzemelerini girer (ör: "tavuk, biber, mantar")
  2. Gemini AI bu malzemelerle 3 farklı tarif önerir + her tarif için İngilizce görsel açıklaması (GORSEL_PROMPT) üretir
  3. Pollinations.ai bu İngilizce açıklamayı kullanarak profesyonel yemek fotoğrafı üretir
  4. Görseller assets/recipes/ klasörüne .png olarak kaydedilir (önbellekleme)
  5. Streamlit kartları görselleriyle birlikte ekranda düzenli bir şekilde sunar
  6. "Tarifi İncele" butonuyla detaylı hazırlanış adımlarına ulaşılır

📸 Ekran Görüntüleri

Arama ve Bekleme Ekranı

Yapay zeka asistanı, girilen malzemelere göre tarifleri ve görselleri hazırlarken: Arama Ekranı

Yapay Zeka Tarif Kartları

Gemini'nin ürettiği tarifler ve Pollinations'ın ürettiği profesyonel AI Yemek Görselleri: Tarif Kartları Balık Kartları

Detaylı Hazırlanış ve Sunum

Seçilen tarifin içerik özeti, adım adım hazırlanış aşamaları ve kalori bilgisi: Tarif Detay Balık Detay


🖼️ Görsel Üretim Sistemi

Proje, yemek görselleri için Pollinations.ai servisini kullanır:

  • Ücretsiz & Sınırsız: API anahtarı gerektirmez
  • AI Destekli: Stable Diffusion tabanlı yapay zeka ile üretim
  • Akıllı Prompt: Gemini, her tarif için İngilizce görsel açıklaması üretir → Pollinations bu açıklamayla çok daha isabetli görseller oluşturur
  • Önbellekleme: Aynı yemek tekrar sorulduğunda görsel yeniden üretilmez, yerel dosyadan yüklenir
  • Rate Limit Koruması: İstekler arası 15 saniye bekleme + otomatik yeniden deneme mekanizması

🎨 Arayüz Tasarımı

  • Tema: Dark mode + Amber/Altın Sarısı tonlar
  • Kart Düzeni: 3 sütunlu responsive grid
  • Detay Görünümü: Tarif seçildiğinde alt bölümde adım adım talimatlar
  • Animasyonlar: Hover efektleri ve geçiş animasyonları

📋 Gereksinimler

google-generativeai
python-dotenv
streamlit
pillow
requests

⚠️ Bilinen Sınırlamalar

  • Gemini Kota: Ücretsiz planda günlük API çağrı limiti vardır. Limit aşılırsa yeni bir Google Cloud projesi oluşturup yeni API anahtarı alınabilir.
  • Görsel Üretim Süresi: Her görsel için ortalama 30-60 saniye süre gerekir. 3 tarif için toplam ~2-3 dakika bekleme süresi olabilir.
  • İnternet Bağlantısı: Hem tarif üretimi hem görsel üretimi için aktif internet bağlantısı gereklidir.

🧑‍🍳 Afiyet olsun! Yapay zeka destekli mutfağınıza hoş geldiniz.

Releases

No releases published

Packages

 
 
 

Contributors

Languages