CoolFace
Apppublic

berkbirkan/weather-tool-calling-agent

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes
App README

Weather Tool Calling Agent

Bu Space, bir dil modelinin kullanıcı sorusuna göre araç seçmesini, açık bir API'den veri almasını ve araç sonuçlarından nihai yanıt üretmesini gösterir.

Akış

  1. 1.Model şehir başına get_weather çağırır.
  2. 2.Fonksiyon, Open-Meteo Geocoding ve Forecast API'lerinden güncel veriyi alır.
  3. 3.Kullanıcı Fahrenheit isterse model her sıcaklık için convert_temperature çağırır.
  4. 4.Arayüz model turlarını, argümanları ve araç çıktılarını açıkça gösterir.
  5. 5.Model, araç sonuçlarına dayanarak Türkçe nihai yanıtı üretir.

Tool JSON şemaları

Uygulamadaki TOOLS sabiti iki function definition içerir:

  • —get_weather(city: string)
  • —convert_temperature(value: number, from_unit: "C"|"F", to_unit: "C"|"F")

Her ikisi de strict JSON Schema kullanır.

Teknolojiler

  • —Gradio
  • —OpenAI Responses API
  • —OpenRouter Chat Completions API
  • —Open-Meteo (ücretsiz, API anahtarı gerektirmez)
  • —httpx

Hugging Face Spaces kurulumu

  1. 1.Yeni bir Gradio Space açın.
  2. 2.Bu klasördeki app.py, requirements.txt ve README.md dosyalarını Space'e yükleyin.
  3. 3.Space → Settings → Variables and secrets → New secret bölümünde:
  4. 4.Ad: OPENAI_API_KEY
  5. 5.Değer: OpenAI API anahtarınız
  6. 6.OpenRouter'ı Space anahtarıyla sunmak isterseniz OPENROUTER_API_KEY Secret'ını ekleyin.
  7. 7.İsteğe bağlı variable: OPENAI_MODEL=gpt-5.6-sol
  8. 8.Space yeniden başladıktan sonra örnek sorguyla test edin.

API anahtarları Secret olarak tanımlanmazsa kullanıcı arayüzde kendi OpenAI veya OpenRouter anahtarını geçici olarak girebilir. Anahtar loglanmaz veya diske yazılmaz.

OpenRouter model listesi canlı katalogdan alınır ve yalnızca tools desteğini ilan eden modeller gösterilir.

Yerelde çalıştırma

bash
pip install -r requirements.txt
export OPENAI_API_KEY="..."
python app.py

Örnek

Ankara mı daha sıcak Londra mı, ve bu değerler Fahrenheit olarak kaç eder?

İz panelinde önce iki get_weather, ardından gerekli convert_temperature çağrıları görünür; son panelde karşılaştırmalı yanıt yer alır.

Veri ve güvenilirlik notu

Hava durumu Open-Meteo'dan çalışma anında alınır. Şehir bulunamazsa veya dış servis erişilemezse uygulama veri uydurmak yerine hata bilgisini modele geri verir.