Spaces:
Running on Zero
Running on Zero
A newer version of the Gradio SDK is available: 6.24.0
metadata
title: Tool Calling Demo
emoji: 🛠️
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 6.20.0
app_file: app.py
pinned: false
Tool Calling / Function Calling Demo
Bu proje, bir LLM'in dış veri kaynaklarıyla (Public API) Tool Calling / Function Calling yoluyla etkileşimini gösterir.
Bileşenler
- Public API: Open-Meteo — ücretsiz, API key gerektirmeyen hava durumu + geocoding API'si.
- LLM Backend: Groq —
llama-3.3-70b-versatilemodeli, OpenAI uyumlu function calling arayüzü ile. Ücretsiz tier mevcut. - Arayüz: Gradio
ChatInterface.
Tool Tanımları (JSON Schema)
get_weather(city: str)
Open-Meteo Geocoding API ile şehri koordinata çevirir, ardından Open-Meteo Forecast API'den güncel hava durumunu (°C, gökyüzü durumu, rüzgar hızı) çeker.
convert_temperature(value: float, to_unit: "C" | "F")
Verilen sıcaklık değerini Celsius ↔ Fahrenheit arasında çevirir.
Çalışma Akışı
Kullanıcı sorusuna göre model önce get_weather çağırır (gerekirse birden fazla şehir için
paralel/ardışık), sonra gerekiyorsa convert_temperature çağırır, en son doğal dilde yanıt
üretir. Model her turda hangi aracı hangi parametrelerle çağırdığını ve API'den ne döndüğünü
yanıtın üstünde açıkça gösterir ([Tur N] Araç Çağrıları: -> tool(args) <- sonuç).
Yerelde çalıştırma
pip install -r requirements.txt
export GROQ_API_KEY=your_key_here # https://console.groq.com/keys üzerinden ücretsiz alınır
python app.py
Hugging Face Spaces'e deploy
- HF üzerinde yeni bir Gradio Space oluştur.
- Bu klasördeki
app.py,requirements.txtve buREADME.mddosyalarını yükle. - Space Settings → Repository secrets kısmına
GROQ_API_KEYekle. - Space otomatik build olup çalışır.
Dosyalar
app.py— Gradio arayüzü + tool calling agent döngüsürequirements.txt— bağımlılıklarREADME.md— bu dosya (HF Space açıklaması + metadata)