10 puan yazan xguru 2025-04-10 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Red Hat Node.js ekibi, LLM ile Node.js ve TypeScript/JavaScript entegrasyon yöntemlerini deneyimliyor
  • Birden çok framework’ü karşılaştırırken özellikle tool/function çağrıları ve ajan çalışma biçimleri üzerine yoğunlaşıyor
  • Kısa süre önce çıkan Llama Stack’in özellikleri ve Node.js ile entegrasyon olasılıkları analiz ediliyor

Llama Stack nasıl kurulur ve çalıştırılır

  • Llama Stack, API standardizasyonunu hedefleyerek çeşitli uygulamalar dağıtan modüler bir framework
  • Ollama tabanlı container kullanıldığında en kolay çalıştırma yöntemini sunuyor
  • Çalıştırma scripti örneğiyle sunucu yapılandırması:
    • Model: meta-llama/Llama-3.1-8B-Instruct
    • Port: 8321
    • Ollama sunucu IP’si: 10.1.2.38
  • Modelin Ollama’da önceden çalıştırılmış olması gerekiyor; keepalive’ı korumak için günde en az bir kez kullanılması gerekiyor
  • API şeması ve etkileşimli testler için dokümantasyon endpoint’i (/docs) kullanılabiliyor

İlk Node.js uygulaması örneği

  • Llama Stack ile iletişim için llama-stack-client-typescript kütüphanesi kullanılıyor
  • İki araç tanımı bulunuyor:
    • favorite_color_tool: şehir/ülke temelli renk bilgisi sağlıyor
    • favorite_hockey_tool: şehir/ülke temelli buz hokeyi takımı bilgisi sağlıyor
  • Soru senaryoları üzerinden araç çağrısı akışı test ediliyor
  • İlk sorun: araçta gerekli bilgi olmadığında net bir yönlendirme mesajı üretilmiyor
  • Çözüm: yanıt mesajına "assistant" kelimesi eklenince akış daha doğal hale geliyor

Llama Stack’te tool çağrılarının ele alınma biçimi

  • chatCompletion() API kullanıldığında tool çağrılarının doğrudan işlenmesi gerekiyor
  • handleResponse() fonksiyonu ile tool istekleri algılanıp sonuçlar tekrar mesaj olarak iletiliyor
  • tool_choice varsayılan olarak "auto" olsa da, tool varsa kullanma eğilimi oldukça güçlü
  • Soru tool ile ilgili olmasa bile tool kullanma denemesinden vazgeçip “yanıt verememe” şeklinde sonuçlanabildiği gözlemleniyor

MCP ile Llama Stack entegrasyonu deneyi

  • MCP(Model Context Protocol) ile araçlar harici bir sunucuda host edilebiliyor ve farklı framework’lerle paylaşılabiliyor
  • MCP sunucusu, Supergateway üzerinden stdio tabanlı sunucuyu SSE biçimine köprüleyerek çalıştırıyor
  • MCP sunucusu kaydedildikten sonra, Llama Stack agent API kullanılarak MCP araçları otomatik çağrılabiliyor
  • agent API şunları sağlıyor:
    • Durum/mesaj yönetimini otomatik olarak ele alıyor
    • Tool çağrısı akışını framework içerde yürütüyor
  • Ancak tool çağrısı log’ları doğrudan görülemiyor; yalnızca nihai yanıt doğrulanabiliyor

Yerel ortama erişim için MCP kullanımı

  • MCP sunucusu yerel ortamda stdio yöntemiyle çalıştırılıp Llama Stack’e bağlanabiliyor
  • MCP sunucusunun tool tanım JSON’unu Llama Stack uyumlu biçime dönüştüren bir kod gerekiyor
  • mcpClient.callTool() ile LLM yanıt akışı içinde tool sonuçları döndürülebiliyor
  • Böylece merkezi bir sunucu yerine yerel uygulama ortamına erişim senaryoları kurulabiliyor

Sonuç

  • Node.js ortamında Llama Stack üzerinden LLM ve tool çağrısı entegrasyonuna dair pratik bir çalışma yapılıyor
  • Yerel araçlar, uzak MCP ve yerel MCP üzerinden farklı kullanım örnekleri sunuluyor
  • Özellikle JavaScript/TypeScript geliştiricileri için pratik kod örnekleri ve akışlar gösteriliyor
  • Gelecekte LLM ile Node.js’i entegre etmek isteyen geliştiriciler için faydalı bir başlangıç noktası oluşturuyor

Ek kaynaklar

Henüz yorum yok.

Henüz yorum yok.