Windows 앱 SDK 피 실리카 시작
팁
Windows 앱 SDK GitHub 리포지토리에서 새 문제를 만들어 이러한 API 및 해당 기능에 대한 피드백을 제공합니다. (제목에 Phi Silica를 포함해야 합니다.)
Phi Silica는 Windows 앱 SDK 사용하여 Windows 앱에 통합할 수 있는 로컬 언어 모델입니다.
Microsoft의 가장 강력한 NPU 튜닝 로컬 언어 모델인 Phi Silica는 Windows Copilot+ PC 디바이스의 효율성과 성능에 최적화되어 있으며 LLM(대규모 언어 모델)에 있는 많은 기능을 제공합니다.
이 수준의 최적화는 Windows 앱 SDK 내의 모델에만 적용되며 다른 버전의 Phi Silica에서는 사용할 수 없습니다.
API 세부 정보는 Windows 앱 SDK Phi Silica에 대한 API 참조를 참조하세요.
중요
이 기능은 아직 사용할 수 없습니다. 그것은 Windows 앱 SDK 곧 실험 채널 릴리스에서 제공 될 것으로 예상된다.
Windows 앱 SDK 실험 채널에는 개발 초기 단계의 API 및 기능이 포함됩니다. 실험적 채널의 모든 API는 광범위한 수정 및 호환성이 손상되는 변경이 적용되며 언제든지 후속 릴리스에서 제거될 수 있습니다. 프로덕션 환경에서는 사용할 수 없으며 실험적 기능을 사용하는 앱은 Microsoft Store에 게시할 수 없습니다.
로컬 Phi Silica 언어 모델 및 Windows 앱 SDK 사용하여 사용자 프롬프트에 대한 텍스트 응답을 생성할 수 있습니다.
이 예제에서는 결과가 반환되기 전에 전체 응답이 생성되는 Q&A 프롬프트에 대한 응답을 생성하는 방법을 보여줍니다.
- 먼저 IsAvailable 메서드를 호출하고 MakeAvailableAsync 메서드가 성공적으로 반환되도록 대기하여 언어 모델을 사용할 수 있는지 확인합니다.
- 언어 모델을 사용할 수 있게 되면 LanguageModel 개체를 만들어 참조합니다.
- 마지막으로 전체 결과를 반환하는 GenerateResponseAsync 메서드를 사용하여 문자열 프롬프트를 모델에 제출합니다.
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);
using namespace winrt::Microsoft::Windows::AI::Generative;
if (!LanguageModel::IsAvailable())
{
auto op = LanguageModel::MakeAvailableAsync().get();
}
auto languageModel = LanguageModel::CreateAsync().get();
std::string prompt = "Provide the molecular formula for glucose.";
auto result = languageModel.GenerateResponseAsync(prompt).get();
std::cout << result.Response << std::endl;
이 예제에서 생성된 응답은 다음과 같습니다.
The molecular formula for glucose is C6H12O6.
이 예제에서는 응답이 부분 결과의 스트림으로 반환되는 Q&A 프롬프트에 대한 응답을 생성하는 방법을 보여줍니다.
- 먼저 로컬 언어 모델을 참조하는 LanguageModel 개체를 만듭니다(이전 코드 조각에서 언어 모델이 있는지 이미 확인했습니다).
- 그런 다음 GenerateResponseWithProgressAsync 호출에서 LanguageModelResponse를 비동기적으로 검색하고 응답이 생성될 때 콘솔에 씁니다.
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);
using namespace winrt::Microsoft::Windows::AI::Generative;
auto languageModel = LanguageModel::CreateAsync().get();
std::string prompt = "Provide the molecular formula for glucose.";
AsyncOperationProgressHandler<LanguageModelResponse, std::string> progressHandler =
[](const IAsyncOperationWithProgress<LanguageModelResponse, std::string>& asyncInfo, const std::string& delta)
{
std::cout << "Progress: " << delta << std::endl;
std::cout << "Response so far: " << asyncInfo.GetResults().Response() << std::endl;
};
auto asyncOp = languageModel.GenerateResponseWithProgressAsync(prompt);
asyncOp.Progress(progressHandler);
auto result = asyncOp.get();
std::cout << result.Response() << std::endl;
Phi Silica는 안전하고 안전한 AI 환경을 사용하여 앱을 빌드하기 위한 강력하고 신뢰할 수 있는 모델을 개발자에게 제공합니다. Phi Silica가 신뢰할 수 있고 안전하며 책임감 있게 빌드되도록 하기 위해 다음 단계를 수행했습니다(또한 Windows의 책임 있는 생성 AI 개발에 설명된 모범 사례를 검토하는 것이 좋습니다).
- 모델 품질을 철저히 테스트하고 평가하여 잠재적 위험을 식별하고 완화합니다.
- 모델의 강점과 한계를 설명하고 의도한 용도에 대한 명확성을 제공하는 Phi Silica 모델 카드를 만듭니다.
- Phi Silica 실험 릴리스의 증분 롤아웃. 최종 Phi Silica 실험 릴리스에 이어, 롤아웃은 서명된 앱으로 확장되어 로컬 모델 기능이 있는 애플리케이션에 맬웨어 검사가 적용되었는지 확인합니다.
- 사용자가 시스템, 사용자 또는 앱의 디바이스에서 모델을 끌 수 있도록 설정에서 기능 액세스 관리자를 통해 고객 컨트롤을 제공합니다.
- Phi Silica의 입력 및 AI 생성 출력 모두에서 유해한 콘텐츠를 식별하고 필터링하는 con텐트 모드ration에 대한 로컬 AI 모델을 제공합니다. 이 로컬 con텐트 모드ration 모델은 텍스트 조정을 위한 Azure AI 콘텐츠 안전 모델을 기반으로 하며 비슷한 성능을 제공합니다.
중요
콘텐츠 안전 시스템은 틀릴 수 없으며 가끔 오류가 발생할 수 있으므로 추가적인 RAI(책임 있는 AI) 도구와 사례를 통합하는 것이 좋습니다. 자세한 내용은 Windows의 책임 있는 생성 AI 개발을 참조 하세요.