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