Ana içeriğe geç

EnvAI Blog'a Hoşgeldin!

Sağladığımız ürün ve servisler için envai.tr adresini ziyaret edebilirsin.

Langsmith evaluator

“Authorization” Hatası: Evaluator Testlerinde İnce Bir Header Hatası

LangSmith üzerinde evaluator ile testler yaparken, küçük ama uğraştırıcı bir problemle karşılaştım. Bu durum, küçük uygulama detaylarının bile standart davranışları nasıl bozabileceğini gösteriyor.

Kurulum

Modelim için bir “Correctness” evaluator oluşturdum. Model, Extra Headers alanı üzerinden Authorization header’ı ekledim, zira uzak sunucudaki Ollama bunu gerektiriyor.

Her şey oldukça standart, başka bir ayar değiştirmedim.

Problem

Header’ı şu şekilde manuel olarak eklediğimde:

Authorization: Bearer <token>

testler sorunsuz çalışıyor.

Ancak evaluator’ı kaydettikten sonra LangSmith, header’ı otomatik olarak küçük harfe çeviriyor:

authorization: Bearer <token>

İlk bakışta bu bir problem olmamalı. HTTP spesifikasyonuna göre header isimleri case-insensitive’tir. Yani Authorization ve authorization aynı şekilde değerlendirilmelidir.

Fakat pratikte beklenmeyen bir durum ortaya çıkıyor.

Davranış

  • Authorization ile manuel test → çalışıyor
  • authorization ile kaydedilmiş evaluator → çalışmıyor
  • Aynı sorun Playground’da da tekrar ediyor

Bu tutarsızlık, request zincirinin bir yerinde header büyük/küçük harf duyarlılığının yanlış ele alındığını gösteriyor.

Neden Önemli?

Bu tür problemler özellikle zorlayıcıdır çünkü:

  • HTTP standartlarına aykırı davranır
  • Debug sürecinde kolayca gözden kaçabilir
  • Test ve kayıtlı konfigürasyonlar arasında tutarsızlık yaratır

Geliştiriciler için bu durum, aslında basit bir header problemi olmasına rağmen zaman kaybettiren karmaşık bir kimlik doğrulama sorunu gibi görünebilir.

Henüz kesin sebebi belirleyemedim, ancak Langsmith backend'inde bir problem olduğunu düşünüyorum. Hatayı site üzerinden bildirdim.

Standartların her zaman doğru uygulanacağını varsaymayın.
Debug yaparken ham request’leri karşılaştırın. Küçük farklar büyük sorunlara yol açabilir.

LangSmith Studio ile Uzak Sunucudaki Projeye Erişim

Diyelim ki LangChain veya LangGraph ile bir proje geliştiriyorsunuz ve geliştirme ortamınızı uzak bir sunucuda tutmak istiyorsunuz.

LangSmith Studio çözümüne bu sunucu üzerinden erişmek istediğinizde, basit bir şekilde şu linki kullanabilirsiniz:

https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

Ancak burada şöyle bir durum var: Takımınızdaki her geliştirici LangSmith Studio ile hata ayıklamak istediğinde, bu linkin çalışabilmesi için projeyi sunucudan alıp kendi lokal geliştirme ortamını kurmaları gerekir. Aksi halde link onlar için çalışmayacaktır.

Temel / Ön Eğitimli Modelleri Çalıştırma

Temel veya ön eğitimli dil modelleriyle deneme yaparken, uygun bir model bulmak zor olabilir; çünkü mevcut modellerin çoğu artık talimat-odaklı eğitilmiş (instruction-tuned) hale getirilmiş durumda.

Bu yüzden bu modelleri hem barındırılan API'ler hem de yerel olarak çalıştırmanın birkaç hızlı ve pratik yolunu paylaşmak istedim. Böylece model aramakla vakit kaybetmeden hemen denemeye başlayabilirsiniz.

OpenAI API Kullanımı

babbage-002 kullanan basit bir curl örneği:

İş Görüşmesi Kullanım Senaryosundan Yapay Zeka Sistemi Oluşturma

Yakın zamanda, akıllı belge işleme ve otomasyonla ilgili pratik bir kullanım durumunu tartıştığımız bir iş görüşmesini geçtim. Bu blog dizisinde, böyle bir sistemi ne kadar iyi tasarlayabileceğimi ve ilgili araç ve yazılımları entegre edebileceğimi değerlendirmek için bu kullanım senaryosunun önemli kısımlarını uygulamaya çalışacağım.

Kullanım Örneği

Bize aşağıdaki senaryo veriliyor:

  • Verileri almak için çoğunlukla PDF formatında Zoho CRM/Email kullanıyoruz.
  • Bu belgelerin içeriğini ayrıştırmamız gerekiyor.
  • Son olarak, kullanıcıların belgeleri sorgulamasına ve İş Zekası (BI) görevlerini otomatikleştirmesine olanak tanımak için RAG (Retrieval-Augmented Generation) kullanarak ajansal bir yapay zeka sistemi oluşturmayı hedefliyoruz.

Amazon vs ChatGPT: İnternette Kime Güvenmelisiniz?

Büyük İsimler Bile Yanlış Olabilir: İnternetteki Her Şeye Neden Güvenmemelisiniz?

A hospital booking application: an example of Docker

For example, a hospital wants to make an appointment booking application. The end users may use the app on Android, iOS, Windows machine, MacBook, or via the hospital’s website. If the code were deployed separately on each platform, it would be challenging to maintain. Instead, Docker could be used to create a single universal container of the booking application. This container can run everywhere, including on computing platforms like AWS.

Bu Amazon web sitesinden: https://aws.amazon.com/what-is/compute/. Wayback Makinesi'ni bile kontrol ettim ve ne yazık ki original version from 2022 aynı şeyi söyledi.

ChatGPT'e sorduğumda söyledikleri şunlardı:

Bu bana doğru gelmiyor. Docker, uygulamaları doğrudan Android, Windows veya iOS gibi platformlarda çalıştırmak için tasarlanmamıştır, değil mi?

Crawl4AI İş Başında: Daha Akıllı Web Kazıma için Gerçek Dünya Kullanım Durumları

https://huyenchip.com/llama-police adresinde Chip Huyen, LLM modelleri etrafında oluşturulan araçlara ve depolara özel olarak odaklanarak açık kaynaklı yapay zeka ekosisteminin güncel bir analizini sunuyor.

Bu araçları keşfetmekten gerçekten keyif alıyorum ve onlarla pratik yapmaya çalışıyorum. Her hafta bir tanesini seçip nasıl çalıştığını daha iyi anlamak için küçük bir oyun projesi oluşturuyorum. Her proje bana yapay zeka ve büyük dil modelleri (LLM) hakkında yeni bir şeyler öğretiyor.

Geçen haftanın aracı Crawler4AI idi. Bunu kullanarak bir oyun projesi oluşturmak istedim ve taranacak web sitesi olarak FactBook'yi seçtim.

Size ne yaptığımı daha ayrıntılı olarak göstereyim!

LlamaIndex'i kullanmaya başlamanın en kolay yolu: create-llama

LlamaIndex, Next.js ve Ollama ile Hobi Proje Oluşturma

Önceki yazı'larımdan birinde, LLM uygulamaları oluşturmak için güçlü bir framework olan LlamaIndex'i tanıttım. Bu yazıda, yerel LLM'leri çalıştırmak için Ollama sağlayıcısıyla eşleştirilmiş bir Next.js backendini kullanarak bir hobi proje oluşturarak işi bir adım daha ileri taşımak istiyorum.

Hadi başlayalım.


🛠 Gereksinimler

Devam etmek için aşağıdakilerin kurulu olduğundan emin olun: