CoolFace
Apppublic

seali/tool_calling_demoo

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

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-versatile modeli, 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

bash
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

  1. 1.HF üzerinde yeni bir Gradio Space oluştur.
  2. 2.Bu klasördeki app.py, requirements.txt ve bu README.md dosyalarını yükle.
  3. 3.Space Settings → Repository secrets kısmına GROQ_API_KEY ekle.
  4. 4.Space otomatik build olup çalışır.

Dosyalar

  • —app.py — Gradio arayüzü + tool calling agent döngüsü
  • —requirements.txt — bağımlılıklar
  • —README.md — bu dosya (HF Space açıklaması + metadata)