CihanYakar commited on
Commit
18a2288
·
1 Parent(s): a9293d4
Files changed (1) hide show
  1. app/main.py +52 -23
app/main.py CHANGED
@@ -4,6 +4,7 @@ from fastapi.middleware.cors import CORSMiddleware
4
  import json
5
  from datetime import datetime
6
  import os
 
7
  from typing import Dict
8
 
9
  app = FastAPI()
@@ -20,25 +21,6 @@ app.add_middleware(
20
  # Cache dosya yolu
21
  CACHE_FILE = "menu_cache.json"
22
 
23
- # Sabit örnek menü - API çalışana kadar bunu kullanacağız
24
- SAMPLE_MENU = """Kahvaltı:
25
- - Karışık kahvaltı tabağı (zeytin, peynir, domates, salatalık, bal, tereyağı)
26
- - Haşlanmış yumurta
27
- - Simit
28
- - Çay
29
-
30
- Öğle:
31
- - Mercimek çorbası
32
- - Izgara köfte
33
- - Pilav
34
- - Mevsim salata
35
-
36
- Akşam:
37
- - Sebzeli tavuk sote
38
- - Bulgur pilavı
39
- - Cacık
40
- - Revani tatlısı"""
41
-
42
 
43
  def get_current_date() -> str:
44
  """Günün tarihini YYYY-MM-DD formatında döndürür"""
@@ -67,12 +49,59 @@ def save_cache(cache_data: Dict) -> None:
67
 
68
 
69
  async def generate_menu() -> Dict:
70
- """Menü oluşturur - şimdilik sabit menü döndürüyoruz"""
71
  try:
72
- return {
73
- "date": get_current_date(),
74
- "menu": SAMPLE_MENU
 
75
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  except Exception as e:
77
  print(f"Menü oluşturma hatası: {str(e)}")
78
  raise HTTPException(status_code=500, detail=f"Menü oluşturulamadı: {str(e)}")
 
4
  import json
5
  from datetime import datetime
6
  import os
7
+ import requests
8
  from typing import Dict
9
 
10
  app = FastAPI()
 
21
  # Cache dosya yolu
22
  CACHE_FILE = "menu_cache.json"
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  def get_current_date() -> str:
26
  """Günün tarihini YYYY-MM-DD formatında döndürür"""
 
49
 
50
 
51
  async def generate_menu() -> Dict:
52
+ """Gigachat API kullanarak menü oluşturur"""
53
  try:
54
+ API_URL = "https://api.gigachat.ai/v1/chat/completions"
55
+
56
+ headers = {
57
+ "Content-Type": "application/json"
58
  }
59
+
60
+ data = {
61
+ "messages": [{
62
+ "role": "user",
63
+ "content": """Türk mutfağına uygun günlük bir menü oluştur. Şu şekilde olmalı:
64
+ - Kahvaltı: Tipik bir Türk kahvaltısı
65
+ - Öğle: Ana yemek ve yanında
66
+ - Akşam: Ana yemek ve yanında
67
+
68
+ Lütfen mevsime uygun ve sağlıklı seçimler yap. Sadece menüyü liste olarak ver ve menüyü Türkçe hazırla."""
69
+ }]
70
+ }
71
+
72
+ response = requests.post(API_URL, json=data, headers=headers, timeout=10)
73
+ print(f"API yanıtı status: {response.status_code}")
74
+
75
+ if response.status_code == 200:
76
+ menu_text = response.json()['choices'][0]['message']['content']
77
+ return {
78
+ "date": get_current_date(),
79
+ "menu": menu_text
80
+ }
81
+ else:
82
+ print(f"API hata yanıtı: {response.text}")
83
+ # API hatası durumunda yedek (sabit) menüyü döndür
84
+ return {
85
+ "date": get_current_date(),
86
+ "menu": """Kahvaltı:
87
+ - Karışık kahvaltı tabağı (zeytin, peynir, domates, salatalık, bal, tereyağı)
88
+ - Haşlanmış yumurta
89
+ - Simit
90
+ - Çay
91
+
92
+ Öğle:
93
+ - Mercimek çorbası
94
+ - Izgara köfte
95
+ - Pilav
96
+ - Mevsim salata
97
+
98
+ Akşam:
99
+ - Sebzeli tavuk sote
100
+ - Bulgur pilavı
101
+ - Cacık
102
+ - Revani tatlısı"""
103
+ }
104
+
105
  except Exception as e:
106
  print(f"Menü oluşturma hatası: {str(e)}")
107
  raise HTTPException(status_code=500, detail=f"Menü oluşturulamadı: {str(e)}")