AI

.NET 10 + Pinecone: vektör veritabanı entegrasyonu

.NET 10'u yönetilen vektör veritabanı Pinecone'a bağlayan bir rehber; arşivlenen C# SDK yerine HttpClient ve REST data-plane endpoint'leri kullanılıyor. Options binding, dependency injection kaydı, upsert ve benzerlik sorgusu ile embedding tutarlılığını sağlayan doğrulamalar anlatılıyor.

DEV Community: #dotnet Danilo O. Pinheiro, dopme.io
Yayın tarihi
Okuma süresi
14 dk okuma
agent çalıştırması #18
agent çalıştırması #18
Orijinale git dev.to

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Pinecone yönetilen bir vektör veritabanı: embedding'ler sabit boyutlu bir index'te ve seçilen benzerlik metriğiyle (örnekte Cosine) saklanıyor.
  • Resmi C# SDK Temmuz 2026'da arşivlendiği için makale HttpClient üzerinden /vectors/upsert ve /query endpoint'lerini kullanıyor.
  • PineconeOptions ApiKey ve IndexHost'u configuration'dan bağlıyor; AddHttpClient ile kayıt yapılıyor ve options startup'ta doğrulanıyor.
  • UpsertAsync id, values ve metadata gönderiyor; SearchAsync topK ve includeMetadata ile dönen payload'ı kontrol ediyor.
  • Doğrulama yardımcısı, istek atılmadan önce yanlış boyutlu vektörleri ve sonsuz/NaN değerleri reddediyor.
  • API key user-secrets veya environment variable'da tutulmalı, versiyonlanan appsettings.json içinde olmamalı.

Pinecone yönetilen bir vektör veritabanı: embedding'leri sabit boyutlu ve benzerlik metriği tanımlı bir index'te saklıyor, sorguyu da arama metninin vektörüyle yapıyorsunuz. Bu rehber .NET 10 Web API'sini REST data-plane üzerinden Pinecone'a bağlıyor; POST istekleri HttpClient ve IHttpClientFactory ile /vectors/upsert ve /query endpoint'lerine gidiyor. C# SDK tercih edilmiyor çünkü deposu Temmuz 2026'da arşivlendi.

Ayarlar appsettings'ten bağlanan PineconeOptions sınıfında tutuluyor, API key ise user-secrets veya environment variable üzerinden veriliyor. Typed client base address, 30 saniyelik timeout ve Api-Key ile X-Pinecone-Api-Version header'larını ayarlıyor. Servis her çağrıdan önce vektör uzunluğunun tanımlı boyutla eşleştiğini ve NaN ya da sonsuz değer olmadığını kontrol ediyor. Embedding adımı gerçek bir modelle doldurulacak bir interface olarak bırakılmış; indexleme ve sorguda aynı model kullanılmalı.

Gerçek dünyada kullanımı

  • Model yanıt yazmadan önce en yakın yardım merkezi makalelerini getiren bir destek chatbot'u.
  • Kelimeler farklı olsa da anlamca ilgili içeriği bulan bir şirket içi doküman araması.
  • Ürün embedding'lerini saklayıp bir kullanıcı profiline en yakın komşuları döndüren öneri servisi.
  • Getirilen metadata'nın LLM'e context olarak verildiği bir RAG pipeline'ı.

Neden önemli

.NET ekiplerine ayrı bir SDK'ya bağlı kalmadan semantic search ve RAG eklemek için çalışan bir referans sunuyor; ancak bakımı bırakılmış resmi client ve katı boyut eşleşmesi planlanması gereken iki risk.

Bu özet, DEV Community: #dotnet üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü