Yerel LLM ve RAG ile Agronomi Asistanı: PlantFarm AI Operator

Amazeng Teknik Ekip
7 dakika okuma
Industrial AILLMRAGOllamaYapay ZekaPlantFarm

Neden Bir Asistan?

PlantFarm Scan her uçuştan sonra bir sürü sayı üretiyor: hangi ağacın NDRE'si düştü, kaç ağaç kötüye gidiyor, hangi bölgede zemin farklı. Ziraat mühendisinin asıl sorusu ise sayı değil: "Bu ağaçta ne oluyor olabilir, sahada neye bakmalıyım?"

AI Operator, bu soruyu yanıtlamak için eklediğimiz sohbet paneli. Genel bir sohbet botu değil; cevabını iki kaynağa dayandırıyor: projenin kendi ölçümleri ve ceviz hastalıklarıyla ilgili seçilmiş literatür.

Nasıl Çalışıyor?

Kullanıcı bir soru sorduğunda arka uç modele iki şey veriyor:

  1. Ölçüm bağlamı: Projenin trend özeti (yükselen ve düşen ağaç sayıları, en kötü giden 15 ağaç). Haritada bir ağaç seçiliyse o ağacın tüm uçuşlardaki NDVI, NDRE ve GCI serisi. Bu veriler arayüzün kullandığı aynı servislerden okunuyor. Yani ekranda gördüğünüz sayı ile modelin gördüğü sayı hiçbir zaman farklı olmuyor.
  2. Korpus parçaları: Literatür dokümanları parçalara bölünüp vektörlere (embedding) çevrilmiş durumda. Soruya anlamca en yakın 6 parça bulunup modele ekleniyor. Buna RAG (Retrieval-Augmented Generation) deniyor.

Cevap akış (streaming) olarak geliyor; kullanıcı ilk kelimeyi saniyeler içinde görüyor.

Neden Yerel Model?

Tarım verisi ticari açıdan hassas: hangi bahçenin ne durumda olduğu, verim tahmini, parsel bilgisi. Bu yüzden asistanı Ollama üzerinde, şirket içinde çalışacak şekilde kurduk:

BileşenSeçimNot
Sohbet modeliQwen3 4B~2,5 GB, tek orta seviye GPU'da çalışıyor
Embeddingbge-m3Çok dilli; Türkçe ve İngilizce kaynaklar tek indekste
SunucuOllamaDocker Compose ile uygulamayla birlikte ayağa kalkıyor

İlk kurulumda modeller (~3,7 GB) ayrı bir servisle indiriliyor. Uygulama bu indirmeyi beklemiyor; harita hemen çalışıyor, asistan paneli model hazır olana kadar uyarı gösteriyor.

Karşılaştığımız Tuzaklar

Korpusa her şeyi koymak

İlk denemede tarım bakanlığının tüm ürünleri kapsayan genel bir zararlı kılavuzunu da korpusa ekledik. Sonuç: ceviz hakkındaki bir soruya, belirti tarifi benzediği için böğürtlen akarı gibi cevizle ilgisiz bir zararlı önerildi. RAG'de daha fazla doküman daha iyi cevap demek değil. Korpusu ceviz odaklı kaynaklarla sınırlamak isabeti belirgin şekilde artırdı.

Modelin "düşünme" çıktısı

Qwen3 cevap vermeden önce bir iç monolog üretebiliyor. Bunu kapatmak için API'ye think: false göndermek ilk akla gelen; ama bizim kullandığımız sürümde bu, monoloğu kaybetmek yerine cevabın içine karıştırdı. Parametreyi göndermemek ve düşünme bloğunu ayrı alanda bırakmak doğru çözüm oldu. Bu tür ayrıntılar ancak gerçek kullanıcı testinde çıkıyor.

Eski GPU'da indeksleme süresi

Korpusu yeniden indekslemek, eski nesil bir GPU'da dakikalar sürüyor. Arayüze bunu söyleyen bir ipucu ekledik; kullanıcı butona tekrar tekrar basmasın diye.

Endüstriye Uyarlaması

Aynı yapı, tarımın dışında da çalışıyor. Bir üretim tesisinde ölçüm bağlamı ZMA ve GDT'den gelen sensör verisi, korpus ise makine kılavuzları ve bakım kayıtları olabilir. Operatör "3 numaralı presin yük eğrisi neden değişti?" diye sorduğunda asistan hem veriye hem kılavuza bakarak cevap verir.

Sonuç

İyi bir RAG asistanı büyük bir modelden çok doğru bağlamdan geçiyor: modelin ekranla aynı sayıları görmesi ve yalnız ilgili kaynakları okuması. Kendi verinizle çalışan bir asistan için Industrial AI çözümümüz sayfasına bakabilirsiniz.

İlgili Yazılar