다음을 통해 공유


Phi Silica를 시작해보세요

중요한

피 실리카는 중국에서 사용할 수 없습니다.

Phi Silica는 Windows AI Foundry를 사용하여 Windows 앱에 통합할 수 있는 로컬 언어 모델입니다.

Microsoft의 가장 강력한 NPU 튜닝 로컬 언어 모델인 Phi Silica는 Windows Copilot+ PC 디바이스의 효율성과 성능에 최적화되어 있으며 LLM(대규모 언어 모델)에 있는 많은 기능을 제공합니다.

이 수준의 최적화는 Windows 앱 SDK 내의 모델에서만 사용할 수 있으며 다른 버전의 Phi에서는 사용할 수 없습니다. API 세부 정보는 다음을 참조하세요.

중요한

다음은 현재 지원되는 Windows AI 기능 및 Windows 앱 SDK 릴리스 목록입니다.

버전 1.8 실험적(1.8.0-experimental1) - 개체 지우기, Phi Silica, Phi Silica에 대한 LoRA 미세 조정, 대화 요약(텍스트 인텔리전스)

프라이빗 미리 보기 - 의미 체계 검색

버전 1.7.1(1.7.250401001) - 다른 모든 API

이러한 API는 5월 7일 업데이트를 받은 WIP(Windows Insider Preview) 디바이스에서만 작동합니다. 5월 28일부터 29일까지 WIP가 아닌 디바이스에 선택적 업데이트가 릴리스되고 6월 10일 업데이트가 진행됩니다. 이 업데이트는 Windows AI API가 작동하는 데 필요한 AI 모델을 제공합니다. 또한 이러한 업데이트를 수행하려면 런타임에 앱에 패키지 ID가 부여될 때까지 Windows AI API를 사용하는 모든 앱이 이 작업을 수행할 수 없게 됩니다.

Phi Silica를 통합하다

로컬 Phi Silica 언어 모델을 사용하면 사용자 프롬프트에 대한 텍스트 응답을 생성할 수 있습니다. 먼저 Windows AI API 시작에 설명된 대로 디바이스에서 사용할 수 있는 필수 구성 요소 및 모델이 있는지 확인합니다.

필요한 네임스페이스 지정

Phi Silica를 사용하려면 필요한 네임스페이스를 사용하고 있는지 확인합니다.

using Microsoft.Windows.AI;
using Microsoft.Windows.AI.Text;
#include "winrt/Microsoft.Windows.AI.Text.h"
using namespace Microsoft::Windows::AI;
using namespace Microsoft::Windows::AI::Text;

응답 생성

이 예제에서는 사용자 지정 콘텐츠 조정을 사용하여 Q&A 프롬프트에 대한 응답을 생성하는 방법을 보여 줍니다( Windows AI Foundry를 사용한 콘텐츠 조정 참조).

  1. GetReadyState 메서드를 호출하고 EnsureReadyAsync 메서드가 성공적으로 반환되도록 대기하여 언어 모델을 사용할 수 있는지 확인합니다.

  2. 언어 모델을 사용할 수 있게 되면 LanguageModel 개체를 만들어 참조합니다.

  3. 전체 결과를 반환하는 GenerateResponseAsync 메서드를 사용하여 문자열 프롬프트를 모델에 제출합니다.

if (LanguageModel.GetReadyState() == AIFeatureReadyState.EnsureNeeded) 
{ 
   var op = await LanguageModel.EnsureReadyAsync(); 
} 

using LanguageModel languageModel = await LanguageModel.CreateAsync();

string prompt = "Provide the molecular formula for glucose.";

LanguageModelOptions options = new LanguageModelOptions();
ContentFilterOptions filterOptions = new ContentFilterOptions();
filterOptions.PromptMaxAllowedSeverityLevel.Violent = SeverityLevel.Minimum;
options.ContentFilterOptions = filterOptions;

var result = await languageModel.GenerateResponseAsync(prompt, options);
 
Console.WriteLine(result.Text);
if (LanguageModel::GetReadyState() == AIFeatureReadyState::NotReady)
{
    auto op = LanguageModel::EnsureReadyAsync().get();
}

auto languageModel = LanguageModel::CreateAsync().get();

const winrt::hstring prompt = L"Provide the molecular formula for glucose.";

LanguageModelResponseResult result = languageModel.GenerateResponseAsync(prompt).get();
std::cout << result.Text().c_str() << std::endl;

이 예제에서 생성된 응답은 다음과 같습니다.

C6H12O6

텍스트 인텔리전스 기술

Phi Silica에는 로컬 언어 모델을 사용하여 미리 정의된 서식을 통해 구조화되고 간결하며 사용자 친화적인 응답을 제공할 수 있는 기본 제공 텍스트 변환 기능(텍스트 인텔리전스 기술이라고 함)이 포함되어 있습니다.

지원되는 기술은 다음과 같습니다.

  • 텍스트-표: 프롬프트 응답을 해당하는 경우 구조화된 테이블 형식으로 변환합니다.
  • 요약: 프롬프트 텍스트의 간결한 요약을 반환합니다.
  • 다시 쓰기: 프롬프트 응답을 다시 표현하여 명확성과 가독성을 향상시킵니다.

다음 단계에서는 텍스트 인텔리전스 기술을 사용하는 방법을 설명합니다.

  1. LanguageModel 개체 만들기
    이 개체는 로컬 Phi Silica 언어 모델을 참조합니다(디바이스에서 Phi Silica 모델을 사용할 수 있는지 확인해야 합니다).

  2. 기술별 개체 인스턴스화
    적용하려는 기술에 따라 적절한 클래스를 선택하고 LanguageModel 인스턴스를 매개 변수로 전달합니다.

  3. 메서드를 호출하여 기술 수행
    각 기술은 입력을 처리하고 형식이 지정된 결과를 반환하는 비동기 메서드를 노출합니다.

  4. 응답 처리
    결과는 필요에 따라 인쇄하거나 기록할 수 있는 형식화된 개체로 반환됩니다.

이 예제는 텍스트 요약 기술을 보여 줍니다.

  1. LanguageModel 인스턴스(languageModel)를 만듭니다.
  2. TextSummarizer 생성자에 해당 LanguageModel을 전달합니다.
  3. SummarizeAsync 메서드에 일부 텍스트를 전달하고 결과를 출력합니다.
using namespace Microsoft.Windows.AI.Text;

using LanguageModel languageModel = await LanguageModel.CreateAsync();

var textSummarizer = new TextSummarizer(languageModel);
string text = @"This is a large amount of text I want to have summarized.";
var result = await textSummarizer.SummarizeAsync(text);

Console.WriteLine(result.Text); 
using namespace Microsoft::Windows::AI::Text;

auto languageModel = LanguageModel::CreateAsync().get();
auto textSummarizer = TextSummarizer(languageModel);
std::string prompt = "This is a large amount of text I want to have summarized.";
auto result = textSummarizer.SummarizeAsync(prompt);

std::wcout << result.get().Text() << std::endl;

책임 있는 AI

다음 단계의 조합을 사용하여 이러한 이미징 API가 신뢰할 수 있고 안전하며 책임감 있게 빌드되도록 했습니다. 앱에서 AI 기능을 구현할 때 Windows의 책임 있는 생성 AI 개발에 설명된 모범 사례를 검토하는 것이 좋습니다.

참고하십시오