다음을 통해 공유


Windows 앱 SDK Phi Silica에 대한 API ref

Important

이 기능은 아직 사용할 수 없습니다. 그것은 Windows 앱 SDK 곧 실험 채널 릴리스에서 제공 될 것으로 예상된다.

Windows 앱 SDK 실험 채널에는 개발 초기 단계의 API 및 기능이 포함됩니다. 실험적 채널의 모든 API는 광범위한 수정 및 호환성이 손상되는 변경이 적용되며 언제든지 후속 릴리스에서 제거될 수 있습니다. 프로덕션 환경에서는 사용할 수 없으며 실험적 기능을 사용하는 앱은 Microsoft Store에 게시할 수 없습니다.

디바이스 내 처리 및 채팅 생성, 텍스트 추론, 수학 해결, 코드 생성 등을 가능하게 하는 Microsoft의 가장 강력한 NPU 튜닝 로컬 언어 모델인 Phi Silica와 같은 로컬 언어 모델에 액세스할 수 있는 Windows 앱 SDK API에 대해 알아봅니다.

자세한 내용은 Windows 앱 SDK 피 실리카 시작하기를 참조하세요.

Windows 앱 SDK GitHub 리포지토리에서 새 문제를 만들어 이러한 API 및 해당 기능에 대한 피드백을 제공합니다. (제목에 Phi Silica를 포함해야 합니다.)


Microsoft.Windows.AI.Generative 네임스페이스

로컬 디바이스에서 생성된 AI 프롬프트 처리 및 응답을 위한 API를 제공합니다.

ImageDescriptionGenerator 클래스

public sealed class ImageDescriptionGenerator : System.IDisposable

ImageDescriptionGenerator.Close 메소드

// This member is not implemented in C#

ImageDescriptionGenerator.CreateAsync 메서드

public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.ImageDescriptionGenerator> CreateAsync ();

ImageDescriptionGenerator.DescribeAsync(Microsoft.Windows.Imaging.ImageBuffer) 메서드

public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Windows.Imaging.ImageBuffer image);

ImageDescriptionGenerator.IsAvailable 메서드

public static bool IsAvailable ();

ImageDescriptionGenerator.MakeAvailableAsync 메서드

public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();

LanguageModel 클래스

public sealed class LanguageModel : System.IDisposable

제공된 프롬프트에 대한 응답을 생성하기 위해 로컬 언어 모델과 상호 작용할 수 있는 개체를 나타냅니다.

LanguageModel.Close 메서드

개체 및 연결된 리소스를 삭제합니다.

설명

C#에서 구현되지 않았습니다.

LanguageModel.CreateAsync 메서드

public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModel> CreateAsync ();

LanguageModel 클래스의 새 인스턴스를 비동기적으로 만듭니다.

반품

TextRecognizer 클래스의 새 인스턴스입니다.

LanguageModel.GenerateEmbeddingVector(System.String) 메서드

public System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> GenerateEmbeddingVector (string prompt);

LanguageModel.GenerateEmbeddingVectorAsync(System.String) 메서드

public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector>> GenerateEmbeddingVectorAsync (string prompt);

LanguageModel.GenerateResponseAsync(System.String) 메서드

public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (string prompt);

단일 프롬프트에 대한 전체 응답을 생성하고 반환합니다.

매개 변수
prompt

질문 형식의 프롬프트입니다.

반품

응답 문자열 및 상태입니다.

예외

ArgumentException: 지정한 프롬프트가 모델이 허용할 수 있는 최대 토큰 수보다 깁니다.

LanguageModel.GenerateResponseAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String) 메서드

public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt);

LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector}) 메서드

public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromEmbeddingsWithProgressAsync (System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> promptEmbedding);

LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector}) method

public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromEmbeddingsWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> promptEmbedding);

LanguageModel.GenerateResponseWithProgressAsync(System.String) 메서드

public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse, 
string> GenerateResponseWithProgressAsync (string prompt);

진행률 처리기를 통해 응답을 생성하고 스트리밍합니다. 생성이 진행되는 동안 부분 결과를 검색할 수 있습니다.

매개 변수
prompt

응답에 대한 프롬프트입니다.

반품

응답 문자열 및 상태입니다.

모델이 반환할 때 전체 응답에 추가되는 문자열의 다음 토큰이며, 이는 OnProgress 결과로 설정된 이전 LanguageModelReponse의 델타입니다.

예외

ArgumentException: 지정한 프롬프트가 모델이 허용할 수 있는 최대 토큰 수보다 깁니다.

설명

OnProgress 이벤트는 응답에서 각 단일 단어를 생성할 때 발생합니다.

LanguageModel.IsAvailable 메서드

public static bool IsAvailable ();

필요한 AI 모델을 사용할 수 있는지 여부를 검색합니다.

반품

True, 필요한 경우 AI 모델을 사용할 수 있습니다. 그렇지 않으면 false입니다.

LanguageModel.IsPromptLargerThanContext(System.String) 메서드

public bool IsPromptLargerThanContext (string prompt);

LanguageModel.MakeAvailableAsync 메서드

public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult, 
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();

기본 언어 모델이 설치되어 있고 사용할 수 있는지 확인합니다.

반품

완료 시 PackageDeploymentResult를 반환하는 진행률이 있는 비동기 작업입니다.

LanguageModelOptions 클래스

public sealed class LanguageModelOptions

LanguageModelOptions.#ctor 생성자

public LanguageModelOptions ();

LanguageModelOptions.#ctor(Microsoft.Windows.AI.Generative.LanguageModelSkill,System.Single,System.Single,System.UInt32) 생성자

public LanguageModelOptions (Microsoft.Windows.AI.Generative.LanguageModelSkill skill, float temp, float top_p, uint top_k);

LanguageModelOptions.Skill 속성

public Microsoft.Windows.AI.Generative.LanguageModelSkill Skill { get; set; }

LanguageModelOptions.Temp 속성

public float Temp { get; set; }

LanguageModelOptions.Top_k 속성

public uint Top_k { get; set; }

LanguageModelOptions.Top_p 속성

public float Top_p { get; set; }

LanguageModelResponse 클래스

public sealed class LanguageModelResponse

응답 문자열 및 상태를 나타냅니다.

LanguageModelResponse.Response 속성

public string Response { get; }

제공된 프롬프트에 따라 언어 모델에서 반환되는 응답 문자열을 가져옵니다.

속성 값

제공된 프롬프트에 따라 언어 모델에서 반환되는 응답 문자열입니다.

LanguageModelResponse.Status 속성

public Microsoft.Windows.AI.Generative.LanguageModelResponseStatus Status { get; }

제공된 프롬프트에 따라 응답 상태를 가져옵니다.

속성 값

제공된 프롬프트에 따라 언어 모델에서 반환되는 응답 문자열입니다.

설명

오류가 아닌 Succeeded 값이거나 InProgress 실패로 간주됩니다.

LanguageModelResponseStatus 열거형

public enum LanguageModelResponseStatus

제공된 프롬프트에 대한 가능한 응답 상태 값을 지정합니다.

필드 - OS

완료: 0

응답이 완료되었습니다.

InProgress: 1

응답이 진행 중입니다.

BlockedByPolicy: 2

응답은 정책 설정에 의해 차단됩니다.

PromptLargerThanContext: 3

LanguageModelSkill 열거형

public enum LanguageModelSkill

필드

일반: 0
TextToTable: 1