File size: 25,599 Bytes
9be85fe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
{
  "aciklama": "Yedikule'nin talimat ayarı sırasında gördüğü araçların tam listesi. Her araç için eğitimdeki şema birebir verilmiştir, yanında da modelin o aracı gerçekten nasıl çağırdığını gösteren gerçek bir eğitim örneği bulunur. Örnekler uydurulmamış, eğitim setinden alınmıştır.",
  "kaynak": "Yedikule SFT eğitim seti, lamba-tools alt kümesi, 8032 örnek",
  "arac_sayisi": 15,
  "kullanim": {
    "1_sistem_promptu": "Ortak sistem promptunun SONUNA aşağıdaki blok eklenir. Sistem promptunun kendisi değiştirilmez, araç bloğu onun altına yazılır.",
    "sistem_promptu": "Sen Marul AI tarafından geliştirilen Yedikule adlı bir Türkçe yapay zeka asistanısın. Kullanıcılara doğru, açık ve yardımsever yanıtlar ver.",
    "arac_bloku_sablonu": "\n\n# Araçlar\nAşağıdaki araçları kullanabilirsin:\n<tools>\n{ARAC_SEMALARI}\n</tools>\nBir aracı çağırman gerekirse yanıtına şu satırı ekle:\n<tool_call>{\"name\": \"arac_adi\", \"arguments\": {\"anahtar\": \"deger\"}}</tool_call>\nGerek yoksa aracı çağırma, doğrudan yanıtla.",
    "2_sema_bicimi": "{ARAC_SEMALARI} yerine, kullanmak istediğiniz araçların JSON şemaları satır başına bir tane olacak şekilde yazılır. Şemalar tek satırda ve boşluksuz biçimde verilir; eğitimde böyle görüldü.",
    "3_cagri_bicimi": "Model bir aracı çağırmak istediğinde yanıtına şu satırı ekler: <tool_call>{\"name\": \"arac_adi\", \"arguments\": {...}}</tool_call>. Genellikle önce kısa bir gerekçe cümlesi yazar, sonra çağrıyı ekler.",
    "4_sonuc_bicimi": "Araç sonucu modele KULLANICI turunda geri verilir: <tool_response>{...}</tool_response>. Ayrı bir tool rolü yoktur, sonuç <|user|> rolüyle gönderilir.",
    "5_nihai_yanit": "Sonucu aldıktan sonra model normal bir asistan yanıtı üretir ve <|im_end|> ile durur.",
    "notlar": [
      "Ölçüm: 15 aracın her biri için eğitimdeki örnek soru üç farklı tohumla denendi. 45 denemenin 45'inde model geçerli bir çağrı üretti; bozuk JSON ve eksik zorunlu alan çıkmadı.",
      "Bu oran, sorunun net ve bilgi içeriyor olmasına bağlıdır. Kısa veya belirsiz isteklerde model çağırmamayı seçebiliyor. Örneğin 'Ankara'da hava nasıl?' yerine 'Ankara'nın bugünkü hava durumunu öğrenebilir misin?' gibi açık bir istek çağrı olasılığını artırır. Aşağıdaki örneklerdeki kullanıcı mesajları eğitimde görülen tarzı gösterir.",
      "Görülmemiş şemalarda model çoğunlukla bozuk JSON üretir. Şemayı okuyup alan doldurmak yerine büyük ölçüde isim ile çağrı eşlemesi ezberlemiştir. Kendi aracınızı tanımlayacaksanız buradaki adlardan ve alan adlarından birini kullanmak başarı oranını belirgin biçimde artırır.",
      "Alan adlarını değiştirmeyin. Aynı ada sahip bir araca sonradan zorunlu bir alan eklendiğinde model o alanı doldurmuyor, ezberlediği çağrıyı üretiyor.",
      "Eğitim setindeki 8032 örneğin 4070'i araç çağırıyor, 3963'ü araç verilmesine rağmen çağırmıyor. Model 'ne zaman çağırmamak gerektiğini' de öğrendi."
    ]
  },
  "araclar": [
    {
      "ad": "akilli_ev_isik",
      "sema": {
        "name": "akilli_ev_isik",
        "description": "Akıllı ev ışıklarının rengini ve durumunu kontrol eder.",
        "parameters": {
          "type": "object",
          "properties": {
            "oda": {
              "type": "string"
            },
            "durum": {
              "type": "boolean",
              "description": "Açık için true, kapalı için false"
            },
            "renk": {
              "type": "string"
            }
          },
          "required": [
            "oda",
            "durum"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 238,
      "egitimden_ornek": {
        "kullanici": "Merhaba, oturma odasındaki ışıkları açıp mavi renge ayarlayabilir misin? Film izlemek için hoş bir atmosfer oluşturmak istiyorum.",
        "asistan_cikti": "Kullanıcı oturma odasındaki ışıkları açmak ve mavi renge ayarlamak istiyor. Bu, akilli_ev_isik aracını kullanarak gerçekleştirilebilir. Gerekli parametreler: oda='oturma odası', durum=true, renk='mavi'.\n<tool_call>{\"name\":\"akilli_ev_isik\",\"arguments\":{\"oda\":\"oturma odası\",\"durum\":true,\"renk\":\"mavi\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"message\": \"Oturma odası ışıkları başarıyla açıldı ve mavi renge ayarlandı.\"}</tool_response>",
        "asistan_nihai_yanit": "Tamam, oturma odasındaki ışıkları açtım ve mavi renge ayarladım. Film izlemek için harika bir atmosfer oluştu! Keyifli seyirler dilerim."
      }
    },
    {
      "ad": "alarm_kur",
      "sema": {
        "name": "alarm_kur",
        "description": "Kullanıcının cihazında uyandırma veya hatırlatıcı alarmı kurar.",
        "parameters": {
          "type": "object",
          "properties": {
            "saat": {
              "type": "string",
              "description": "HH:MM formatında"
            },
            "etiket": {
              "type": "string"
            }
          },
          "required": [
            "saat"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 244,
      "egitimden_ornek": {
        "kullanici": "Yarın sabah 07:30'da işe gitmek için alarm kurmam lazım, 'İşe Gidiş' etiketiyle hatırlatıcı olsun.",
        "asistan_cikti": "Kullanıcı alarm kurmak istiyor, alarm_kur aracını çağırmalıyım.\n<tool_call>{\"name\":\"alarm_kur\",\"arguments\":{\"saat\":\"07:30\",\"etiket\":\"İşe Gidiş\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"message\": \"Alarm başarıyla kuruldu.\"}</tool_response>",
        "asistan_nihai_yanit": "Alarmınız 'İşe Gidiş' etiketiyle 07:30 için başarıyla kuruldu. İyi günler dilerim!"
      }
    },
    {
      "ad": "borsa_fiyat_getir",
      "sema": {
        "name": "borsa_fiyat_getir",
        "description": "Bir hissenin veya kripto paranın canlı fiyatını çeker.",
        "parameters": {
          "type": "object",
          "properties": {
            "sembol": {
              "type": "string",
              "description": "Hisse veya token sembolü, örn: THYAO, BTC"
            }
          },
          "required": [
            "sembol"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 275,
      "egitimden_ornek": {
        "kullanici": "Merhaba, THYAO hissesinin şu anki fiyatını öğrenebilir miyim? Borsa kapalıysa son kapanış fiyatını da görmek isterim.",
        "asistan_cikti": "Kullanıcı THYAO hissesinin fiyatını soruyor. 'borsa_fiyat_getir' aracını kullanarak bu bilgiyi çekmeliyim.\n<tool_call>{\"name\":\"borsa_fiyat_getir\",\"arguments\":{\"sembol\":\"THYAO\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"error\", \"message\": \"Sembol 'THYAO' bulunamadı veya geçersiz. Lütfen geçerli bir sembol girin.\"}</tool_response>",
        "asistan_nihai_yanit": "Üzgünüm, THYAO sembolü için fiyat bilgisi bulunamadı. Bu sembol geçersiz olabilir veya sistemde kayıtlı değil. Lütfen doğru hisse sembolünü (örn: THYAO için THYAO.IS gibi) kontrol edip tekrar deneyin."
      }
    },
    {
      "ad": "doviz_ceviri",
      "sema": {
        "name": "doviz_ceviri",
        "description": "Güncel kurlarla döviz çevirisi yapar.",
        "parameters": {
          "type": "object",
          "properties": {
            "miktar": {
              "type": "number"
            },
            "baz_doviz": {
              "type": "string",
              "description": "Örn: USD"
            },
            "hedef_doviz": {
              "type": "string",
              "description": "Örn: TRY"
            }
          },
          "required": [
            "miktar",
            "baz_doviz",
            "hedef_doviz"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 233,
      "egitimden_ornek": {
        "kullanici": "Merhaba, 500 Amerikan dolarını Türk lirasına çevirmek istiyorum. Güncel kurla ne kadar eder?",
        "asistan_cikti": "Kullanıcı 500 USD'yi TRY'ye çevirmek istiyor. doviz_ceviri aracını kullanarak güncel kuru kontrol edeceğim.\n<tool_call>{\"name\":\"doviz_ceviri\",\"arguments\":{\"miktar\":500,\"baz_doviz\":\"USD\",\"hedef_doviz\":\"TRY\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"sonuc\": 16250.75}</tool_response>",
        "asistan_nihai_yanit": "500 Amerikan doları, güncel kurla yaklaşık 16.250,75 Türk lirasına eşdeğerdir. Başka bir döviz çevirisi yapmak isterseniz, size yardımcı olabilirim."
      }
    },
    {
      "ad": "eposta_gonder",
      "sema": {
        "name": "eposta_gonder",
        "description": "Belirtilen kişiye e-posta atar.",
        "parameters": {
          "type": "object",
          "properties": {
            "alici": {
              "type": "string"
            },
            "konu": {
              "type": "string"
            },
            "mesaj": {
              "type": "string"
            }
          },
          "required": [
            "alici",
            "mesaj"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 241,
      "egitimden_ornek": {
        "kullanici": "Merhaba, bugünkü toplantı notlarını e-posta ile müdürüme göndermem gerekiyor. Lütfen 'ahmet.yilmaz@firma.com' adresine 'Toplantı Özeti' konulu bir e-posta gönderir misin? Mesaj olarak 'Sayın Müdürüm, bugünkü proje toplantısında alınan kararlar ektedir. İyi çalışmalar.' yazabilirsin.",
        "asistan_cikti": "Kullanıcı, toplantı notlarını e-posta ile göndermek istiyor. 'eposta_gonder' aracını kullanarak belirtilen alıcı, konu ve mesaj ile e-posta göndermeyi deneyeceğim.\n<tool_call>{\"name\":\"eposta_gonder\",\"arguments\":{\"alici\":\"ahmet.yilmaz@firma.com\",\"konu\":\"Toplantı Özeti\",\"mesaj\":\"Sayın Müdürüm, bugünkü proje toplantısında alınan kararlar ektedir. İyi çalışmalar.\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"error\", \"message\": \"E-posta gönderimi başarısız oldu: Sunucu bağlantı hatası.\"}</tool_response>",
        "asistan_nihai_yanit": "Üzgünüm, e-posta gönderimi sırasında bir sunucu bağlantı hatası oluştu. Lütfen internet bağlantınızı kontrol edin ve bir süre sonra tekrar deneyin. Alternatif olarak, notları manuel olarak göndermeyi düşünebilirsiniz."
      }
    },
    {
      "ad": "film_bul",
      "sema": {
        "name": "film_bul",
        "description": "IMDB veya benzeri bir veritabanından film arar.",
        "parameters": {
          "type": "object",
          "properties": {
            "tur": {
              "type": "string"
            },
            "yil": {
              "type": "integer"
            },
            "yonetmen": {
              "type": "string"
            }
          },
          "required": [
            "tur"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 335,
      "egitimden_ornek": {
        "kullanici": "Merhaba, bu akşam ailemle birlikte izlemek için komedi türünde bir film arıyorum. 2010'dan sonra çıkmış olursa daha iyi olur. Önerebileceğin bir film var mı?",
        "asistan_cikti": "Kullanıcı komedi türünde, 2010'dan sonra çıkmış bir film arıyor. 'film_bul' aracını kullanarak bu kriterlere uygun filmleri arayabilirim.\n<tool_call>{\"name\":\"film_bul\",\"arguments\":{\"tur\":\"komedi\",\"yil\":2010}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"filmler\": [{\"isim\": \"Zoraki Kral\", \"yil\": 2010, \"yonetmen\": \"Tom Hooper\", \"puan\": 8.1}, {\"isim\": \"Büyük Açık\", \"yil\": 2015, \"yonetmen\": \"Adam McKay\", \"puan\": 7.8}, {\"isim\": \"Deadpool\", \"yil\": 2016, \"yonetmen\": \"Tim Miller\", \"puan\": 8.0}]}</tool_response>",
        "asistan_nihai_yanit": "Size birkaç önerim var: 'Zoraki Kral' (2010, Tom Hooper, 8.1 puan), 'Büyük Açık' (2015, Adam McKay, 7.8 puan) ve 'Deadpool' (2016, Tim Miller, 8.0 puan). Bunlar komedi türünde ve 2010'dan sonra çıkmış, yüksek puanlı filmler. Ailenizle izlemek için uygun olabilirler."
      }
    },
    {
      "ad": "haberleri_getir",
      "sema": {
        "name": "haberleri_getir",
        "description": "Kategoriye göre güncel haber manşetlerini listeler.",
        "parameters": {
          "type": "object",
          "properties": {
            "kategori": {
              "type": "string",
              "enum": [
                "spor",
                "ekonomi",
                "siyaset",
                "teknoloji"
              ]
            }
          },
          "required": [
            "kategori"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 209,
      "egitimden_ornek": {
        "kullanici": "Merhaba, bugünün ekonomi haberlerini öğrenmek istiyorum. Bana güncel manşetleri gösterebilir misin?",
        "asistan_cikti": "Kullanıcı ekonomi haberlerini istiyor, bu nedenle 'haberleri_getir' aracını 'ekonomi' kategorisiyle çağırmalıyım.\n<tool_call>{\"name\":\"haberleri_getir\",\"arguments\":{\"kategori\":\"ekonomi\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"haberler\": [{\"baslik\": \"Merkez Bankası faiz kararını açıkladı\", \"tarih\": \"2023-10-05\"}, {\"baslik\": \"Dolar/TL kuru yeni zirvesinde\", \"tarih\": \"2023-10-05\"}, {\"baslik\": \"Enflasyon verileri beklentileri aştı\", \"tarih\": \"2023-10-04\"}]}</tool_response>",
        "asistan_nihai_yanit": "İşte bugünün ekonomi haberlerinden bazı manşetler: 1) Merkez Bankası faiz kararını açıkladı (5 Ekim 2023), 2) Dolar/TL kuru yeni zirvesinde (5 Ekim 2023), 3) Enflasyon verileri beklentileri aştı (4 Ekim 2023). Daha fazla detay için haber kaynaklarını ziyaret edebilirsiniz."
      }
    },
    {
      "ad": "hava_durumu_al",
      "sema": {
        "name": "hava_durumu_al",
        "description": "Belirtilen şehrin hava durumu bilgisini getirir.",
        "parameters": {
          "type": "object",
          "properties": {
            "sehir": {
              "type": "string",
              "description": "Şehir adı, örn: Ankara"
            },
            "gun": {
              "type": "string",
              "description": "Tarih veya gün (bugün, yarın vs.)"
            }
          },
          "required": [
            "sehir"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 242,
      "egitimden_ornek": {
        "kullanici": "Merhaba, yarın İstanbul'da hava nasıl olacak, dışarı çıkmayı planlıyorum da.",
        "asistan_cikti": "Kullanıcı İstanbul için yarınki hava durumunu soruyor. 'hava_durumu_al' aracını kullanarak bu bilgiyi alabilirim.\n<tool_call>{\"name\":\"hava_durumu_al\",\"arguments\":{\"sehir\":\"İstanbul\",\"gun\":\"yarın\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"sehir\": \"İstanbul\", \"gun\": \"yarın\", \"durum\": \"parçalı bulutlu\", \"sicaklik\": \"18°C\", \"nem\": \"%65\", \"ruzgar\": \"10 km/s\"}</tool_response>",
        "asistan_nihai_yanit": "Yarın İstanbul'da hava parçalı bulutlu olacak, sıcaklık 18°C civarında. Nem %65 ve rüzgar hızı 10 km/s olarak tahmin ediliyor. Dışarı çıkmak için uygun bir gün gibi görünüyor, hafif bir ceket almanızı öneririm."
      }
    },
    {
      "ad": "kargo_takip",
      "sema": {
        "name": "kargo_takip",
        "description": "Kargo takip numarasına göre kargonun nerede olduğunu bulur.",
        "parameters": {
          "type": "object",
          "properties": {
            "takip_no": {
              "type": "string",
              "description": "örneğin AS12345678"
            }
          },
          "required": [
            "takip_no"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 604,
      "egitimden_ornek": {
        "kullanici": "Merhaba, kargo takip numaram AS12345678 ile kargonun nerede olduğunu öğrenebilir miyim?",
        "asistan_cikti": "Kullanıcı kargo takip numarasını verdi, bu bilgiyi kullanarak kargonun durumunu kontrol ediyorum.\n<tool_call>{\"name\":\"kargo_takip\",\"arguments\":{\"takip_no\":\"AS12345678\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"kargo_durumu\": \"Kargo İstanbul'daki dağıtım merkezinde, tahmini teslimat yarın sabah.\"}</tool_response>",
        "asistan_nihai_yanit": "Kargonuz AS12345678 takip numarasıyla İstanbul'daki dağıtım merkezinde bulunuyor. Tahmini teslimat süresi yarın sabah olarak belirlenmiş. Herhangi bir sorunuz olursa yardımcı olabilirim."
      }
    },
    {
      "ad": "metin_cevirisi",
      "sema": {
        "name": "metin_cevirisi",
        "description": "Metni hedef dile çevirir.",
        "parameters": {
          "type": "object",
          "properties": {
            "metin": {
              "type": "string"
            },
            "hedef_dil": {
              "type": "string",
              "description": "Örn: İngilizce, Almanca"
            }
          },
          "required": [
            "metin",
            "hedef_dil"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 226,
      "egitimden_ornek": {
        "kullanici": "Merhaba, bu cümleyi İngilizce'ye çevirebilir misin: 'Bugün hava çok güzel, parka gitmek istiyorum.'?",
        "asistan_cikti": "Kullanıcı bir metin çevirisi istiyor, bu yüzden 'metin_cevirisi' aracını kullanacağım.\n<tool_call>{\"name\":\"metin_cevirisi\",\"arguments\":{\"metin\":\"Bugün hava çok güzel, parka gitmek istiyorum.\",\"hedef_dil\":\"İngilizce\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"ceviri\": \"The weather is very nice today, I want to go to the park.\"}</tool_response>",
        "asistan_nihai_yanit": "Çeviri tamamlandı: 'The weather is very nice today, I want to go to the park.' Başka bir çeviriye ihtiyacınız olursa söyleyin!"
      }
    },
    {
      "ad": "restoran_rezervasyon",
      "sema": {
        "name": "restoran_rezervasyon",
        "description": "Bir restoranda yer ayırtır.",
        "parameters": {
          "type": "object",
          "properties": {
            "restoran_adi": {
              "type": "string"
            },
            "kisi_sayisi": {
              "type": "integer"
            },
            "saat": {
              "type": "string"
            }
          },
          "required": [
            "restoran_adi",
            "kisi_sayisi",
            "saat"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 244,
      "egitimden_ornek": {
        "kullanici": "Merhaba, bu akşam için 'Lezzet Köşesi' restoranında 4 kişilik bir rezervasyon yapmak istiyorum. Saat 20:00 uygun olur mu?",
        "asistan_cikti": "Kullanıcı restoran rezervasyonu yapmak istiyor. 'restoran_rezervasyon' aracını kullanarak rezervasyon talebini işleyeceğim.\n<tool_call>{\"name\":\"restoran_rezervasyon\",\"arguments\":{\"restoran_adi\":\"Lezzet Köşesi\",\"kisi_sayisi\":4,\"saat\":\"20:00\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"mesaj\": \"Rezervasyon başarıyla alındı.\", \"rezervasyon_id\": \"RZ12345\"}</tool_response>",
        "asistan_nihai_yanit": "Rezervasyonunuz başarıyla tamamlandı! 'Lezzet Köşesi' restoranında bu akşam 20:00 için 4 kişilik yeriniz ayrıldı. Rezervasyon numaranız RZ12345. İyi akşamlar dilerim!"
      }
    },
    {
      "ad": "sarki_cal",
      "sema": {
        "name": "sarki_cal",
        "description": "Spotify/Apple Music arayüzünde müzik başlatır.",
        "parameters": {
          "type": "object",
          "properties": {
            "sarki": {
              "type": "string"
            },
            "sanatci": {
              "type": "string"
            }
          },
          "required": [
            "sarki"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 260,
      "egitimden_ornek": {
        "kullanici": "Merhaba, biraz müzik dinlemek istiyorum. Bana 'Yalnızlık Senfonisi' şarkısını çalabilir misin?",
        "asistan_cikti": "Kullanıcı bir şarkı çalmak istediğini belirtti. 'sarki_cal' aracını kullanarak bu isteği yerine getireceğim.\n<tool_call>{\"name\":\"sarki_cal\",\"arguments\":{\"sarki\":\"Yalnızlık Senfonisi\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"message\": \"'Yalnızlık Senfonisi' şarkısı başarıyla çalınıyor.\"}</tool_response>",
        "asistan_nihai_yanit": "Tamam, 'Yalnızlık Senfonisi' şarkısını çalmaya başladım. İyi dinlemeler!"
      }
    },
    {
      "ad": "sifre_olustur",
      "sema": {
        "name": "sifre_olustur",
        "description": "Güçlü ve rastgele bir şifre üretir.",
        "parameters": {
          "type": "object",
          "properties": {
            "uzunluk": {
              "type": "integer"
            },
            "ozel_karakter_olsun_mu": {
              "type": "boolean"
            }
          },
          "required": [
            "uzunluk"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 256,
      "egitimden_ornek": {
        "kullanici": "Merhaba, yeni bir hesap açmak istiyorum ve güvenli bir şifreye ihtiyacım var. Bana 12 karakter uzunluğunda, özel karakterler içeren bir şifre oluşturabilir misin?",
        "asistan_cikti": "Kullanıcı güvenli bir şifre istiyor. 'sifre_olustur' aracını kullanarak 12 karakter uzunluğunda ve özel karakterler içeren bir şifre oluşturmalıyım.\n<tool_call>{\"name\":\"sifre_olustur\",\"arguments\":{\"uzunluk\":12,\"ozel_karakter_olsun_mu\":true}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"error\", \"message\": \"Şifre oluşturma işlemi başarısız oldu. Sunucu geçici olarak kullanılamıyor, lütfen daha sonra tekrar deneyin.\"}</tool_response>",
        "asistan_nihai_yanit": "Üzgünüm, şifre oluşturma aracı şu anda çalışmıyor. Sunucu geçici bir sorun yaşıyor. Lütfen bir süre sonra tekrar deneyin veya kendiniz rastgele bir şifre oluşturmayı düşünebilirsiniz."
      }
    },
    {
      "ad": "takvim_etkinlik_ekle",
      "sema": {
        "name": "takvim_etkinlik_ekle",
        "description": "Takvime toplantı veya etkinlik ekler.",
        "parameters": {
          "type": "object",
          "properties": {
            "baslik": {
              "type": "string"
            },
            "tarih": {
              "type": "string"
            },
            "saat": {
              "type": "string"
            }
          },
          "required": [
            "baslik",
            "tarih",
            "saat"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 230,
      "egitimden_ornek": {
        "kullanici": "Merhaba, yarın saat 14:00'te bir proje toplantım var, lütfen takvime ekler misin? Başlık olarak 'Proje Değerlendirme Toplantısı' yazabilirsin.",
        "asistan_cikti": "Kullanıcı takvime etkinlik eklemek istiyor. 'takvim_etkinlik_ekle' aracını kullanarak başlık, tarih ve saat bilgilerini sağlamalıyım. Yarın tarihini belirlemek için bugünün tarihine bir gün ekleyip 'YYYY-MM-DD' formatında yazmalıyım.\n<tool_call>{\"name\":\"takvim_etkinlik_ekle\",\"arguments\":{\"baslik\":\"Proje Değerlendirme Toplantısı\",\"tarih\":\"2023-10-27\",\"saat\":\"14:00\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"message\": \"Etkinlik başarıyla eklendi: Proje Değerlendirme Toplantısı - 2023-10-27 14:00\"}</tool_response>",
        "asistan_nihai_yanit": "Tamam, 'Proje Değerlendirme Toplantısı' başlıklı etkinlik 27 Ekim 2023 saat 14:00 için takviminize başarıyla eklendi. Toplantı öncesi hatırlatma almak isterseniz bildirebilirim."
      }
    },
    {
      "ad": "ucak_bileti_ara",
      "sema": {
        "name": "ucak_bileti_ara",
        "description": "Kalkış ve varış noktasına göre müsait uçuşları arar.",
        "parameters": {
          "type": "object",
          "properties": {
            "kalkis": {
              "type": "string"
            },
            "varis": {
              "type": "string"
            },
            "tarih": {
              "type": "string"
            }
          },
          "required": [
            "kalkis",
            "varis",
            "tarih"
          ]
        }
      },
      "egitimde_cagrilma_sayisi": 224,
      "egitimden_ornek": {
        "kullanici": "Merhaba, İstanbul'dan Ankara'ya 15 Aralık 2024 tarihinde uçak bileti arıyorum. Müsait uçuşları kontrol edebilir misin?",
        "asistan_cikti": "Kullanıcı İstanbul'dan Ankara'ya 15 Aralık 2024 tarihinde uçak bileti aramak istiyor. Bu bilgileri kullanarak ucak_bileti_ara aracını çağırmalıyım.\n<tool_call>{\"name\":\"ucak_bileti_ara\",\"arguments\":{\"kalkis\":\"İstanbul\",\"varis\":\"Ankara\",\"tarih\":\"15 Aralık 2024\"}}</tool_call>",
        "arac_sonucu": "<tool_response>{\"status\": \"ok\", \"ucuslar\": []}</tool_response>",
        "asistan_nihai_yanit": "Üzgünüm, İstanbul'dan Ankara'ya 15 Aralık 2024 tarihinde müsait uçuş bulunamadı. Başka bir tarih veya rota için arama yapmamı ister misiniz?"
      }
    }
  ]
}