[{"data":1,"prerenderedAt":275},["ShallowReactive",2],{"blog-tr-\u002Fblog\u002Fyerel-llm-ve-rag-ile-agronomi-asistani":3},{"id":4,"title":5,"body":6,"description":256,"extension":257,"meta":258,"navigation":270,"path":271,"seo":272,"stem":273,"__hash__":274},"blog\u002Fblog\u002Fyerel-llm-ve-rag-ile-agronomi-asistani.md","Yerel LLM ve RAG ile Agronomi Asistanı: PlantFarm AI Operator",{"type":7,"value":8,"toc":239},"minimark",[9,14,27,34,38,41,69,72,76,83,138,141,145,150,157,161,169,173,176,180,197,201,209,213],[10,11,13],"h2",{"id":12},"neden-bir-asistan","Neden Bir Asistan?",[15,16,17,22,23],"p",{},[18,19,21],"a",{"href":20},"\u002Fblog\u002Fplantfarm-scan-getek-ile-drone-ve-yapay-zeka-agac-analizi","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: ",[24,25,26],"em",{},"\"Bu ağaçta ne oluyor olabilir, sahada neye bakmalıyım?\"",[15,28,29,33],{},[30,31,32],"strong",{},"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.",[10,35,37],{"id":36},"nasıl-çalışıyor","Nasıl Çalışıyor?",[15,39,40],{},"Kullanıcı bir soru sorduğunda arka uç modele iki şey veriyor:",[42,43,44,55],"ol",{},[45,46,47,50,51,54],"li",{},[30,48,49],{},"Ö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ığı ",[30,52,53],{},"aynı servislerden"," okunuyor. Yani ekranda gördüğünüz sayı ile modelin gördüğü sayı hiçbir zaman farklı olmuyor.",[45,56,57,60,61,64,65,68],{},[30,58,59],{},"Korpus parçaları",": Literatür dokümanları parçalara bölünüp vektörlere (embedding) çevrilmiş durumda. Soruya anlamca en yakın ",[30,62,63],{},"6 parça"," bulunup modele ekleniyor. Buna ",[30,66,67],{},"RAG (Retrieval-Augmented Generation)"," deniyor.",[15,70,71],{},"Cevap akış (streaming) olarak geliyor; kullanıcı ilk kelimeyi saniyeler içinde görüyor.",[10,73,75],{"id":74},"neden-yerel-model","Neden Yerel Model?",[15,77,78,79,82],{},"Tarım verisi ticari açıdan hassas: hangi bahçenin ne durumda olduğu, verim tahmini, parsel bilgisi. Bu yüzden asistanı ",[30,80,81],{},"Ollama"," üzerinde, şirket içinde çalışacak şekilde kurduk:",[84,85,86,102],"table",{},[87,88,89],"thead",{},[90,91,92,96,99],"tr",{},[93,94,95],"th",{},"Bileşen",[93,97,98],{},"Seçim",[93,100,101],{},"Not",[103,104,105,117,128],"tbody",{},[90,106,107,111,114],{},[108,109,110],"td",{},"Sohbet modeli",[108,112,113],{},"Qwen3 4B",[108,115,116],{},"~2,5 GB, tek orta seviye GPU'da çalışıyor",[90,118,119,122,125],{},[108,120,121],{},"Embedding",[108,123,124],{},"bge-m3",[108,126,127],{},"Çok dilli; Türkçe ve İngilizce kaynaklar tek indekste",[90,129,130,133,135],{},[108,131,132],{},"Sunucu",[108,134,81],{},[108,136,137],{},"Docker Compose ile uygulamayla birlikte ayağa kalkıyor",[15,139,140],{},"İ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.",[10,142,144],{"id":143},"karşılaştığımız-tuzaklar","Karşılaştığımız Tuzaklar",[146,147,149],"h3",{"id":148},"korpusa-her-şeyi-koymak","Korpusa her şeyi koymak",[15,151,152,153,156],{},"İ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. ",[30,154,155],{},"RAG'de daha fazla doküman daha iyi cevap demek değil."," Korpusu ceviz odaklı kaynaklarla sınırlamak isabeti belirgin şekilde artırdı.",[146,158,160],{"id":159},"modelin-düşünme-çıktısı","Modelin \"düşünme\" çıktısı",[15,162,163,164,168],{},"Qwen3 cevap vermeden önce bir iç monolog üretebiliyor. Bunu kapatmak için API'ye ",[165,166,167],"code",{},"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.",[146,170,172],{"id":171},"eski-gpuda-indeksleme-süresi","Eski GPU'da indeksleme süresi",[15,174,175],{},"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.",[10,177,179],{"id":178},"endüstriye-uyarlaması","Endüstriye Uyarlaması",[15,181,182,183,187,188,192,193,196],{},"Aynı yapı, tarımın dışında da çalışıyor. Bir üretim tesisinde ölçüm bağlamı ",[18,184,186],{"href":185},"\u002Furunler\u002Fzma-data-acquisition","ZMA"," ve ",[18,189,191],{"href":190},"\u002Furunler\u002Fgdt-dijital-transmitter","GDT","'den gelen sensör verisi, korpus ise makine kılavuzları ve bakım kayıtları olabilir. Operatör ",[24,194,195],{},"\"3 numaralı presin yük eğrisi neden değişti?\""," diye sorduğunda asistan hem veriye hem kılavuza bakarak cevap verir.",[10,198,200],{"id":199},"sonuç","Sonuç",[15,202,203,204,208],{},"İ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 ",[18,205,207],{"href":206},"\u002Fcozumlerimiz\u002Findustrial-ai","Industrial AI çözümümüz"," sayfasına bakabilirsiniz.",[146,210,212],{"id":211},"i̇lgili-yazılar","İlgili Yazılar",[214,215,216,222,227,233],"ul",{},[45,217,218],{},[18,219,221],{"href":220},"\u002Fblog\u002Follama-ile-yerel-ai-cozumleri-fabrika-ici","Ollama ile Yerel AI Çözümleri",[45,223,224],{},[18,225,226],{"href":20},"PlantFarm Scan: GETEK ile Drone Görüntüsünden Ağaç Bazlı Bitki Sağlığı Analizi",[45,228,229],{},[18,230,232],{"href":231},"\u002Fsozluk\u002Frag","Sözlük: RAG",[45,234,235],{},[18,236,238],{"href":237},"\u002Fsozluk\u002Fembedding","Sözlük: Embedding ve Vektör Arama",{"title":240,"searchDepth":241,"depth":241,"links":242},"",2,[243,244,245,246,252,253],{"id":12,"depth":241,"text":13},{"id":36,"depth":241,"text":37},{"id":74,"depth":241,"text":75},{"id":143,"depth":241,"text":144,"children":247},[248,250,251],{"id":148,"depth":249,"text":149},3,{"id":159,"depth":249,"text":160},{"id":171,"depth":249,"text":172},{"id":178,"depth":241,"text":179},{"id":199,"depth":241,"text":200,"children":254},[255],{"id":211,"depth":249,"text":212},"Ölçüm verisini ve literatürü birlikte okuyan, şirket içinde çalışan bir yapay zeka asistanını nasıl kurduk? Ollama, embedding, korpus seçimi ve karşılaştığımız tuzaklar.","md",{"date":259,"author":260,"readTime":261,"tags":262,"image":268,"translation":269},"2026-10-29","Amazeng Teknik Ekip",7,[263,264,265,81,266,267],"Industrial AI","LLM","RAG","Yapay Zeka","PlantFarm","\u002Fsolutions\u002Fcloud\u002Fshowcase-ollama.webp","local-llm-rag-agronomy-assistant",true,"\u002Fblog\u002Fyerel-llm-ve-rag-ile-agronomi-asistani",{"title":5,"description":256},"blog\u002Fyerel-llm-ve-rag-ile-agronomi-asistani","tUAFPk-Y275HSSKTtwFhTeXoYsV6ZO94YD6OifkGclQ",1793268824029]