İngilizce dilinde oku

Aracılığıyla paylaş


Windows Uygulama SDK'sında Phi Silica ile çalışmaya başlama

Önemli

Windows Uygulama SDK'sının en son deneysel kanal sürümünde kullanılabilir.

Windows Uygulama SDK'sı deneysel kanalı, geliştirmenin erken aşamalarında API'leri ve özellikleri içerir. Deneysel kanaldaki tüm API'ler kapsamlı düzeltmelere ve hataya neden olan değişikliklere tabidir ve herhangi bir zamanda sonraki sürümlerden kaldırılabilir. Deneysel özellikler üretim ortamlarında kullanılmak üzere desteklenmez ve bunları kullanan uygulamalar Microsoft Store'da yayımlanamaz.

  • Phi Silica Çin'de mevcut değildir.
  • Bağımsız uygulamalar desteklenmez.

Phi Silica, Windows Uygulama SDK'sınıkullanarak Windows uygulamalarınızla tümleştirebileceğiniz yerel bir dil modelidir.

Microsoft'un en güçlü NPU ayarlı yerel dil modeli olan Phi Silica, Windows Copilot+ bilgisayar cihazlarında verimlilik ve performans için iyileştirilirken, Büyük Dil Modellerinde (LLM) bulunan özelliklerin çoğunu sunmaya devam eder.

Bu iyileştirme düzeyi, Windows Uygulama SDK'sı içindeki modele özeldir ve Phi'nin diğer sürümlerinde kullanılamaz.

API ayrıntıları için bkz. Windows Uygulama SDK'sında Phi Silica api başvurusu.

içerik denetimi ayrıntıları için bkz. Oluşturma yapay zeka API'leri ile içerik güvenliği.

İpucu

Windows Uygulama SDK'sı GitHub deposunda (başlıkta Phi Silica dahil) yeni bir Sorun oluşturarak veya mevcutbir soruna yanıt vererek bu API'ler ve işlevleri hakkında geri bildirim sağlayın.

Önkoşullar

Phi Silica'nın Windows uygulamanızla tümleştirilmesi için Windows Uygulama SDK'sını kullanma

Yerel Phi Silika dil modeli ve Windows Uygulama SDK'sı ile kullanıcı istemlerine metin yanıtları oluşturabilirsiniz.

Eksiksiz bir yanıt oluşturma

Bu örnekte, sonuç döndürülmeden önce tam yanıtın oluşturulduğu Q&A istemine nasıl yanıt oluşturulacağı gösterilmektedir.

  1. IsAvailable yöntemini çağırıp MakeAvailableAsync yönteminin başarıyla döndürülmesini bekleyerek dil modelinin kullanılabilir olduğundan emin olun.

  2. Dil modeli kullanılabilir olduğunda, başvurmak için bir LanguageModel nesnesi oluşturun.

  3. tam sonucu döndüren GenerateResponseAsync yöntemini kullanarak modele bir dize istemi gönderin.

C#
using Microsoft.Windows.AI.Generative; 
 
 
if (!LanguageModel.IsAvailable()) 
{ 
   var op = await LanguageModel.MakeAvailableAsync(); 
} 
 
using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string prompt = "Provide the molecular formula for glucose."; 
 
var result = await languageModel.GenerateResponseAsync(prompt); 
 
Console.WriteLine(result.Response); 

Bu örnek tarafından oluşturulan yanıt:

Output
The molecular formula for glucose is C6H12O6.

Eksiksiz bir yanıt oluşturma

API'miz özelleştirilebilir yerleşik içerik moderasyonuna sahiptir. Bu örnekte, iç içerik moderasyonu için kendi eşiklerinizi nasıl belirteceğiniz gösterilmektedir. Windows Copilot Runtime ileİçerik Moderasyonu hakkında daha fazla bilgi edinin.

  1. Yerel dil modeline başvurmak için bir LanguageModel nesnesi oluşturun. *Phi Silika dil modelinin önceki kod parçacığında kullanıcının cihazında kullanılabilir olduğundan emin olmak için bir denetim zaten yapılmıştır.
  2. bir ContentFilterOptions nesnesi oluşturun ve tercih ettiğiniz değerleri belirtin.
  3. GenerateResponseAsync yöntemini, ContentFilterOptions'i bir parametre olarak kullanarak modele bir dize istemi gönderin.
C#
using Microsoft.Windows.AI.Generative; 

using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string prompt = "Provide the molecular formula for glucose."; 

ContentFilterOptions filterOptions = new ContentFilterOptions();
filterOptions.PromptMinSeverityLevelToBlock.ViolentContentSeverity = SeverityLevel.Medium;
filterOptions.ResponseMinSeverityLevelToBlock.ViolentContentSeverity = SeverityLevel.Medium;
 
// var result = await languageModel.GenerateResponseAsync(null, prompt, filterOptions); 
 
Console.WriteLine(result.Response);

Kısmi yanıt akışı oluşturma

Bu örnekte, kısmi sonuçların akışı olarak yanıtın döndürüldüğü Q&A istemine nasıl yanıt oluşturulacağı gösterilmektedir.

  1. Yerel dil modeline başvurmak için bir LanguageModel nesnesi oluşturun. *Phi Silika dil modelinin önceki kod parçacığında kullanıcının cihazında kullanılabilir olduğundan emin olmak için bir denetim zaten yapılmıştır.

  2. LanguageModelResponseçağrısında GenerateResponseWithProgressAsync'ı zaman uyumsuz bir şekilde al. Yanıt oluşturulurken konsola yazın.

C#
using Microsoft.Windows.AI.Generative; 

using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string prompt = "Provide the molecular formula for glucose."; 
 
AsyncOperationProgressHandler<LanguageModelResponse, string> 
progressHandler = (asyncInfo, delta) => 
{ 
    Console.WriteLine($"Progress: {delta}"); 
    Console.WriteLine($"Response so far: {asyncInfo.GetResults().Response()}"); 
 }; 
 
var asyncOp = languageModel.GenerateResponseWithProgressAsync(prompt); 
 
asyncOp.Progress = progressHandler; 
 
var result = await asyncOp;  
 
Console.WriteLine(result.Response);

Uygulamanızda daha tutarlı yanıtlar için önceden tanımlanmış metin biçimleri uygulama

Phi Silica, uygulamanızda kullanmak üzere metin yanıt biçimlerini önceden tanımlayabilme özelliğini içerir. Metin biçimini önceden tanımlayarak aşağıdaki seçeneklerle daha tutarlı yanıt sonuçları elde edebilirsiniz:

  • Metinden Tabloya: İstem yanıtını tablo biçimine dönüştürün.
  • Özet: İstem metnine göre bir özet döndürür.
  • Yeniden Yaz: Netlik sağlamak ve yanıtı daha kolay anlaşılır bir şekilde ifade etmek için istem metnini yeniden yazın.
  1. Yerel dil modeline başvurmak için bir LanguageModel nesnesi oluşturun. *Phi Silika dil modelinin önceki kod parçacığında kullanıcının cihazında kullanılabilir olduğundan emin olmak için bir denetim zaten yapılmıştır.

  2. bir LanguageModelOptions nesnesi oluşturun ve LanguageModelSkill nesnesinin Beceri alanına bir LanguageModelOptions sabit listesi atayarak kullanılacak önceden tanımlanmış metin biçimini belirtin. LanguageModelSkill numaralandırması için aşağıdaki değerler kullanılabilir.

    Numaralandırma Açıklama
    LanguageModelSkill.General Varsayılan değer, önceden tanımlanmış biçimlendirme uygulanmadı.
    LanguageModelSkill.TextToTable Varsa, istem metnini tabloya dönüştürün.
    LanguageModelSkill.Summarize İstem metnine göre bir özet döndürür.
    LanguageModelSkill.Rewrite Netliği ve kavramayı geliştirmek için istem metni yanıtını yeniden yazın.
  3. Ardından, LanguageModelResponse'i, GenerateResponseWithProgressAsync çağrısında zaman uyumsuz bir şekilde alırız ve yanıt oluşturulurken bunu konsola yazarız.

C#
using Microsoft.Windows.AI.Generative; 
 
using LanguageModel languageModel = await LanguageModel.CreateAsync(); 
 
string prompt = "This is a large amount of text I want to have summarized.";

LanguageModelOptions options = new LanguageModelOptions {
    Skill = LanguageModelSkill.Summarize
};
 
var result = await languageModel.GenerateResponseAsync(options, prompt); 
 
Console.WriteLine(result.Response); 

Sorumlu yapay zeka

Phi Silica, geliştiricilere güvenli ve güvenli yapay zeka deneyimleriyle uygulama oluşturmak için güçlü ve güvenilir bir model sunar. Phi Silica'nın güvenilir, güvenli ve sorumlu bir şekilde oluşturulduğundan emin olmak için aşağıdaki adımlar atılmıştır. Uygulamanızda yapay zeka özelliklerini uygularken Windows Sorumlu Üretken Yapay Zeka Geliştirme bölümünde açıklanan en iyi yöntemleri gözden geçirmenizi öneririz.

  • Olası riskleri belirlemek ve azaltmak için model kalitesinin kapsamlı bir şekilde test edilmesi ve değerlendirilmesi.
  • Phi Silica deneysel sürümlerinin kademeli dağıtımı. Son Phi Silica deneysel sürümünün ardından dağıtım, yerel model özelliklerine sahip uygulamalara kötü amaçlı yazılım taramalarının uygulandığından emin olmak için imzalı uygulamalara genişletilecektir.
  • Phi Silica, Metin İçeriği Denetleme API'sini içeren yerelleştirilmiş bir yapay zeka modeli sağlar. Bu API hem giriş hem de yapay zeka tarafından oluşturulan çıktıdaki zararlı olabilecek içeriği tanımlar ve filtreler. Yerel metin içerik denetleme modeli, içerik denetimi için Azure AI content Safety modelini temel alır ve benzer performans sağlar. Önem düzeyi filtre seçeneklerinin açıklaması ve bu seçeneklerin nasıl uygulandığını gösteren bir kod örneği için bkz. Windows Copilot Runtime ile Metin İçeriği Moderasyonu .

Önemli

İçerik güvenliği sistemi hatalı değildir ve ara sıra hatalar oluşabilir, bu nedenle ek Sorumlu Yapay Zeka (RAI) araçlarını ve uygulamalarını tümleştirmenizi öneririz. Daha fazla ayrıntı için bkz. Windows'da Sorumlu Üretken Yapay Zeka Geliştirme.