Doğal Dil Hava Durumu Uygulaması
Bu basit web uygulaması, doğal dil sorgularını kullanarak bir konum için mevcut hava durumunu veya tahmini kontrol etmenizi sağlar (örneğin, "Tokyo için tahmin", "Seattle'da yağmur yağıyor mu?").
Talebinizi anlamak için Gaia Dil Modeli 'nden (OpenAI uyumlu bir uç nokta aracılığıyla) ve gerçek hava durumu verilerini almak için Nubila Hava Durumu API 'sinden yararlanır.
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.
Özellikler
- Sade bir İngilizce kullanarak güncel hava durumunu veya tahminleri alın.
- Sorgunuzdan konumu ve istenen bilgileri (mevcut / tahmin) yorumlamak için Gaia LLM'yi kullanır.
- Nubila API'sinden ayrıntılı hava durumu verilerini alır.
- LLM'nin yorumunu görüntüler (konum, koordinatlar, talep türü).
- LLM'nin kavramsal olarak hangi işlevi ve argümanları kullanmaya karar verdiğini göstererek bir LLM "araç çağrısı" kavramını açıklar.
- Hızlı kullanım için tıklanabilir örnek istemler sağlar.
- Vanilla JavaScript, Node.js ve CSS ile oluşturulmuş basit, temiz kullanıcı arayüzü.
Nasıl Çalışır
- Kullanıcı Sorgusu: Web arayüzüne "Berlin'de hava durumu nasıl?" gibi bir sorgu girersiniz.
- Arka Uç İsteği: Sorgu, tarayıcınızdan Node.js arka uç sunucusuna gönderilir.
- LLM Analizi (Gaia): Arka uç sorgunuzu Gaia API'ye gönderir. Gaia bunu analiz eder:
- Konumu tanımlayın (örneğin, "Berlin").
- Yaklaşık coğrafi koordinatları (enlem ve boylam) belirleyin.
- 'Güncel' hava durumunu mu yoksa 'tahmini' hava durumunu mu istediğinizi anlayın.
- API Çağrısı (Nubila): Arka uç, uygun Nubila Weather API uç noktasına bir istekte bulunmak için Gaia tarafından tanımlanan koordinatları ve istek türünü ('güncel' veya 'tahmin') kullanır.
- Hava Durumu Verileri: Nubila API, istenen hava durumu verileriyle yanıt verir.
- Ön Uç Ekranı: Arka uç hem Gaia'nın analizini hem de Nubila'nın hava durumu verilerini tarayıcınıza geri gönderir. Ön uç daha sonra görüntülenir:
- Gaia isteğinizi nasıl yorumladı.
- Gaia'nın yapacağı "alet çağrısının" bir simülasyonu.
- Biçimlendirilmiş güncel hava durumu veya tahmin ayrıntıları.
Ön Koşullar
- Node.js ve npm: nodejs.org adresinden indirin ve yükleyin.
- Nubila API Anahtarı: Nubila Weather API'den bir API anahtarına ihtiyacınız var. Bir tane edinmek için buradan kaydolun veya oturum açın.
Kurulum ve Kurulum
-
Depoyu klonlayın (veya dosyaları indirin):
git clone <repository-url>
cd <repository-folder-name>(Değiştirin
<repository-url>
ve<repository-folder-name>
buna göre) -
Bağımlılıkları yükleyin:
npm kurulumu
Bu, Express, node-fetch, dotenv ve cors'u yükler.
Konfigürasyon
-
Oluştur
.env
dosya: Projenin kök dizininde, şu adda bir dosya oluşturun.env
. -
API Anahtarı ve Ayarları Ekleyin: Açın
.env
dosyasını açın ve aşağıdaki satırları ekleyin, yerineYOUR_NUBILA_API_KEY_HERE
gerçek Nubila API anahtarınız ile:NUBILA_API_KEY=YOUR_NUBILA_API_KEY_HERE
GAIA_API_ENDPOINT=https://llama70b.gaia.domains/v1/chat/completions
GAIA_API_KEY=your-gaia-api-key
PORT=3000NUBILA_API_KEY
: Nubila API için gizli anahtarınız.GAIA_API_ENDPOINT
: Gaia LLM için son nokta.GAIA_API_KEY
: Bu öğreticiyi takip ederek Gaia API anahtarınızı alın: https://docs.gaianet.ai/getting-started/authenticationLİMAN
: Yerel sunucunun çalışacağı bağlantı noktası (varsayılan 3000'dir).
-
Önemli: Bu
.env
dosyası hassas bilgiler (API anahtarınız) içerir. Dosyanızda listelendiğinden emin olun.gitignore
dosyasını (klonladıysanız varsayılan olarak öyle olmalıdır) yanlışlıkla sürüm kontrolüne işlememeniz için.
Uygulamayı Çalıştırma
-
Sunucuyu başlatın:
node server.js
-
Uygulamayı açın: Web tarayıcınızı açın ve şu adrese gidin:
http://localhost:3000
(veyahttp://localhost:YOUR_PORT
değiştirdiysenizLİMAN
içinde.env
). -
Hava durumu sorgunuzu girin veya öneri düğmelerinden birine tıklayın!
Teknoloji Yığını
- Arka uç: Node.js, Express.js
- Ön uç: Vanilla JavaScript (ES6+), HTML5, CSS3
- API'ler:
- Doğal Dil Anlama için Gaia API (OpenAI uyumlu uç nokta aracılığıyla)
- Hava durumu verileri için Nubila Weather API
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.