iToverDose/Yazılım· 5 TEMMUZ 2026 · 04:04

NodeLLM 1.17: MCP örnekleme, paralel araç çalıştırma ve ORM iyileştirmeleri

NodeLLM 1.17, MCP tabanlı LLM'lerde istemci ile sunucu arasındaki işlem akışını tersine çeviren örnekleme desteğini sunuyor. Paralel araç çalıştırma, ORM katmanı iyileştirmeleri ve middleware benzeri callback'ler ile geliştirici deneyimini nasıl zenginleştirdiğine yakından bakıyoruz.

DEV Community3 dk okuma0 Yorumlar

Yapay zeka entegrasyonlarında kullanılan NodeLLM adlı araç seti, yeni sürümü 1.17 ile önemli yenilikler sunuyor. Bu güncelleme özellikle MCP (Model Context Protocol) tabanlı uygulamalar için tasarlanan yeni özellikler içerirken, aynı zamanda paralel araç çalıştırma ve ORM katmanı iyileştirmeleriyle de dikkat çekiyor. Geliştiricilerin çok daha esnek ve verimli iş akışları oluşturmasına olanak tanıyan bu yenilikler, NodeLLM ekosistemini bir adım öteye taşıyor.

MCP Örneklemesiyle Sunucu-Tabanlı LLM Gücü

NodeLLM 1.17'nin getirdiği en önemli yeniliklerden biri, MCP örneklemesi olarak adlandırılan bir özelliktir. Bu özellik, geleneksel modelde istemcinin sunucuya araç talep etmesi yerine, sunucunun doğrudan istemciden LLM tamamlaması talep etmesine olanak tanıyor. Bu yaklaşım, özellikle sunucuların kendi API anahtarlarına veya model entegrasyonlarına ihtiyaç duymadan LLM tabanlı yetenekler sunmasını sağlıyor.

Örnek olarak, bir sunucu özetleme, sınıflandırma veya içerik oluşturma gibi görevleri gerçekleştirebilir ve bunu doğrudan istemci tarafında yapılandırılan bir NodeLLM örneği üzerinden yürütebilir. Bu yapılandırma, geliştiricilerin model seçiminden tutun da koruma mekanizmalarına kadar geniş bir kontrol yelpazesi sunuyor:

import { createLLM } from "@node-llm/core";
import { MCP, createLLMSamplingHandler } from "@node-llm/mcp";

const llm = createLLM({ provider: "openai" });

const mcp = await MCP.connect(
  { command: "node", args:["./sampling-server.mjs"] },
  { sampling: createLLMSamplingHandler(llm, "gpt-4o-mini") }
);

const tools = await mcp.discoverTools();

createLLMSamplingHandler fonksiyonu, istemci tarafından tanımlanan modele göre yanıt üretirken, geliştiriciler aynı zamanda ham parametreleri alarak kendi özel yanıt mantıklarını da uygulayabiliyorlar.

Paralel Araç Çalıştırma ile Performans Avantajı

NodeLLM'in önceki sürümlerinde, bir modelin aynı anda birden fazla araç çağrısı yaptığı durumlarda bu çağrılar sırayla gerçekleştiriliyordu. Bu yaklaşım güvenilirlik açısından avantaj sağlasa da, bağımsız çağrılar için performans kaybına neden oluyordu. Örneğin, farklı şehirlerin hava durumunu sorgulayan üç ayrı araç çağrısı, sırayla gerçekleştirildiğinde gereksiz yere zaman kaybına yol açıyordu.

NodeLLM 1.17'de sunulan toolConcurrency seçeneğiyle, geliştiriciler bu bağımsız çağrıları paralel olarak çalıştırabiliyor. Bu özellik, hem standart sohbet modunda hem de akış (stream) modunda hem de ajan tabanlı uygulamalarda kullanılabiliyor:

const chat = llm.chat("gpt-4o-mini")
  .withTool(WeatherTool)
  .withToolConcurrency(true);

await chat.ask("Tokyo, Londra ve New York'un hava durumları nasıl?");

Bu sayede, bağımsız araç çağrılarının birbirini beklemesi gerekmediğinden, toplam yanıt süresinde önemli iyileşmeler elde ediliyor.

Callback Yığınlamasıyla Esnek Middleware Desteği

NodeLLM'de daha önce, aynı callback türüne (onEndMessage, beforeRequest, afterResponse gibi) birden fazla kez kaydedilen fonksiyonlar, son kaydedilen fonksiyonun geçerli olmasına neden oluyordu. Bu durum, özellikle bağımsız modüllerden gelen callback'lerin birbiriyle çakışmasına yol açabiliyordu.

Yeni sürümde, aynı callback türüne kaydedilen tüm fonksiyonlar sırayla çalıştırılmaya başlandı. Bu özellik, özellikle ortak fonksiyonların birden fazla bağımsız bileşen tarafından yönetilmesi gerektiği durumlarda büyük bir esneklik sağlıyor:

chat
  .onEndMessage((msg) => audit.log(msg))
  .onEndMessage(() => ui.refresh());

chat
  .beforeRequest(redactPII)
  .beforeRequest(logOutboundPrompt);

Bu değişiklik, middleware benzeri davranışların daha düzgün bir şekilde uygulanmasına olanak tanıyor.

ORM Katmanında Tam Kontrol ve Kalıcı Veriler

NodeLLM'in ORM katmanında yapılan iyileştirmeler de dikkat çekiyor. Artık ORM katmanı, çekirdek API ile aynı araç çalıştırma kontrolüne sahip. Bu sayede, Prisma gibi ORM araçları üzerinden çalışan sohbet uygulamaları, araç çalıştırma modlarını koruyarak veri tabanına kaydedebiliyorlar.

Yeni özellikler arasında, araç çalıştırma modlarının seçilebilmesi de bulunuyor. Örneğin, auto modu varsayılan olarak çalışırken, confirm modu her araç çağrısından önce kullanıcı onayı gerektiriyor. dry-run modu ise araç çağrılarını gerçekleştirmeden yalnızca simülasyon yapıyor:

import { createChat } from "@node-llm/orm/prisma";
import { ToolExecutionMode } from "@node-llm/core";

const chat = await createChat(prisma, { model: "gpt-4o" })
  .withToolExecution(ToolExecutionMode.CONFIRM)
  .onConfirmToolCall(async (call) => await askUserToApprove(call))
  .onToolCallError((call, error) => ({ error: error.message }))
  .withToolChoice("get_weather")
  .withToolConcurrency(true);

Bu iyileştirmelerle birlikte, ORM katmanı çekirdek API'nin sunduğu tüm araç çalıştırma özelliklerini eksiksiz olarak destekliyor.

Token Kullanımının Ayrıntılı İzlenmesi

NodeLLM Monitor paketi de bu güncellemeyle birlikte token kullanımının daha ayrıntılı bir şekilde izlenmesine olanak tanıyor. Artık hem önbellek hem de akıl yürütme token'ları gibi farklı kaynaklardan gelen token kullanımları da ayrıştırılarak raporlanabiliyor. Bu iyileştirme, özellikle token maliyetlerinin doğru bir şekilde hesaplanması gereken durumlarda büyük önem taşıyor.

Yeni token yapısı aşağıdaki gibi tanımlanıyor:

interface ExtractedTokenUsage {
  prompt: number;
  completion: number;
  cached: number;
  cacheCreation: number;
  reasoning: number;
  image: number;
}

Bu sayede, farklı API sağlayıcılarından gelen token kullanım verileri standartlaştırılıyor ve karşılaştırılabilir hale geliyor.

NodeLLM ekosistemi, bu yeni özelliklerle birlikte yapay zeka entegrasyonlarında kullanılan araçların daha esnek, verimli ve denetlenebilir hale gelmesini sağlıyor. Geliştiriciler artık hem performans hem de kontrol açısından daha geniş bir yelpazeye sahip olacaklar. Gelecekteki güncellemelerde de benzer yeniliklerin devam etmesi bekleniyor.

Yapay zeka özeti

NodeLLM 1.17, MCP tabanlı LLM'lerde istemci-sunucu akışını tersine çeviren örnekleme desteği sunuyor. Paralel araç çalıştırma, ORM iyileştirmeleri ve callback yönetimiyle geliştirici deneyimini nasıl yükselttiğini keşfedin.

Yorumlar

00
YORUM BIRAK
ID #MAGCYG

0 / 1200 KARAKTER

İnsan doğrulaması

7 + 9 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.