GitHub Copilot verileri
Bu ünitede GitHub Copilot'un farklı ortamlar, özellikler ve yapılandırmalar için verileri nasıl işlediğini ele alacağız.
GitHub Copilot kod önerileri için veri işleme
Kod düzenleyicisindeki GitHub Copilot, temel modelleri eğitmek için öneriler sağlamak amacıyla kullanılan kod veya diğer bağlam gibi istemleri tutmaz. Bir öneri döndürüldükten sonra istemleri atar.
GitHub Copilot Bireysel aboneleri github ile istemlerini paylaşmayı geri çevirebilir ve aksi takdirde GitHub'ın temel modelini inceleyecek şekilde kullanılır.
GitHub Copilot sohbeti için veri işleme
GitHub Copilot Chat, geliştiricilerin kodlama yardımı almak için yapay zeka yardımcısı ile konuşma etkileşimlerinde bulunmasını sağlayan etkileşimli bir platform olarak çalışır. Kod tamamlama gibi diğer özelliklerden farklı olabilecek, gerçekleştirdiği adımlar şunlardır:
- Biçimlendirme: Copilot, oluşturulan yanıtı sohbet arabiriminde en uygun sunu için titizlikle biçimlendirmektedir. Okunabilirliği geliştirmek için kod parçacıklarını vurgular ve kodunuzla doğrudan tümleştirme seçenekleri içerebilir. Copilot, IDE içindeki Copilot Sohbet penceresinde biçimlendirilmiş yanıtı sergileyerek sağlanan bilgileri kolayca gözden geçirmenize ve bunlarla etkileşim kurmanıza olanak sağlar.
- Kullanıcı etkileşimi: takip soruları sorarak, açıklama isteyerek veya ek girişler sağlayarak yanıtla etkin bir şekilde etkileşim kurabilirsiniz. Sohbet arabirimi, sonraki etkileşimlerde bağlamsal anlayışı kolaylaştırmak için bir konuşma geçmişi tutar.
- Veri saklama: Kod düzenleyicisi dışında kullanılan Copilot Sohbeti için GitHub genellikle istemleri, önerileri ve destekleyici bağlamı 28 gün boyunca saklar. Kod düzenleyicisinde Copilot Sohbeti için belirli bekletme ilkeleri farklılık gösterebilir.
Aynı durum GitHub.com'da CLI, Mobile ve GitHub Copilot Chat için de geçerli.
GitHub Copilot Chat tarafından desteklenen istem türleri
GitHub Copilot Chat, kodlamayla ilgili çok çeşitli istemleri işler ve konuşma kodlama yardımcısı olarak çok yönlülüğünü gösterir. Bazı yaygın giriş türleri şunlardır:
- Doğrudan Sorular: Kodlama kavramları, kitaplıklar veya sorun giderme hakkında belirli sorular sorabilirsiniz. Örneğin, "Nasıl yaparım? Python'da hızlı sıralama algoritması uygulayın?" veya "React bileşenim neden işlenmiyor?"
- Kodla İlgili İstekler: Kod oluşturma, değiştirme veya açıklama isteyebilirsiniz. Örnekler arasında "Faktöriyeli hesaplamak için işlev yazma", "Kodumda bu hatayı düzelt" veya "Bu kod parçacığını açıkla" sayılabilir.
- Açık Uçlu Sorgular: Kodlama kavramlarını keşfedebilir veya "Temiz kod yazmak için en iyi yöntemler nelerdir?" veya "Python uygulamamın performansını nasıl geliştirebilirim?" gibi açık uçlu sorular sorarak genel rehberlik alabilirsiniz.
- Bağlamsal istemler: Özel yardım almak için kod parçacıkları sağlayabilir veya belirli kodlama senaryolarını açıklayabilirsiniz. Örneğin, "İşte kodumun bir parçası, iyileştirmeler önerebilir misiniz?" veya "Web uygulaması oluşturuyorum, kimlik doğrulama akışında bana yardımcı olabilir misiniz?"
Copilot Chat'in farklı giriş türlerini işleme yeteneği, kapsamlı bir kodlama yardımcısı olarak yardımcı programını geliştirir.
Sınırlı bağlam pencereleri
GitHub Copilot Chat istemleri anlama ve yanıtlama konusunda başarılı olsa da bağlam pencerelerinin sınırlamasını kabul etmek önemlidir. Bu, modelin öneriler oluşturmak için aynı anda işleyebileceği çevresindeki kod ve metin miktarını ifade eder. GitHub Copilot'ın bağlam penceresi genellikle yaklaşık 200-500 kod satırı veya birkaç bin belirteç arasında değişir. Bu sınırlama, kullanılan Copilot'un belirli uygulamasına ve sürümüne bağlı olarak farklılık gösterebilir.
Copilot Chat şu anda 4k belirteçlerden oluşan bir bağlam penceresiyle çalışır ve standart Copilot ile karşılaştırıldığında kullanıcı sorgularını anlamak ve yanıtlamak için daha geniş bir kapsam sağlar.
Bu ilerlemelere rağmen, istem oluştururken bağlam penceresi sınırlamalarına dikkat etmelisiniz. Karmaşık sorunları daha küçük, daha odaklanmış sorgulara bölmek veya ilgili kod parçacıkları sağlamak, modelin doğru ve yararlı yanıtlar sağlama becerisini önemli ölçüde geliştirebilir.