이벤트
.NET을 사용하여 AI 모델에 연결 및 프롬프트
이 빠른 시작에서는 .NET 콘솔 채팅 앱을 만들어 OpenAI 또는 Azure OpenAI 모델에 연결하고 프롬프트를 표시하는 방법을 알아봅니다. 앱은 라이브러리를 Microsoft.Extensions.AI 사용하므로 특정 SDK가 아닌 AI 추상화로 코드를 작성할 수 있습니다. AI 추상화는 최소한의 코드 변경으로 기본 AI 모델을 변경할 수 있습니다.
참고
라이브러리는 Microsoft.Extensions.AI
현재 미리 보기로 제공됩니다.
- .NET 8.0 SDK 이상 - .NET 8.0 SDK설치.
- 이 샘플을 실행할 수 있는 OpenAI의 API 키입니다.
- .NET 8.0 SDK 이상 - .NET 8 SDK설치.
- Azure 구독 – 체험 구독을 만듭니다.
- Azure OpenAI 서비스에 액세스합니다.
- Azure 개발자 CLI (선택 사항) - Azure 개발자 CLI 설치하거나업데이트합니다.
참고
의미 체계 커널을 사용하여 이 문서의 작업을 수행할 수도 있습니다. 의미 체계 커널은 AI 에이전트를 빌드하고 최신 AI 모델을 .NET 앱에 통합할 수 있는 간단한 오픈 소스 SDK입니다.
앞의 섹션의 단계를 사용하여 고유한 앱을 만들거나 모든 빠른 시작에 대해 완료된 샘플 앱이 포함된 GitHub 리포지토리를 복제할 수 있습니다. Azure OpenAI를 사용하려는 경우 샘플 리포지토리는 Azure OpenAI 리소스를 프로비전할 수 있는 Azure 개발자 CLI 템플릿으로도 구성됩니다.
git clone https://github.com/dotnet/ai-samples.git
다음 단계를 완료하여 AI 모델에 연결할 .NET 콘솔 앱을 만듭니다.
컴퓨터의 빈 디렉터리에서 명령을 사용하여
dotnet new
새 콘솔 앱을 만듭니다..NET CLIdotnet new console -o ExtensionsAI
디렉터리를 앱 폴더로 변경합니다.
.NET CLIcd ExtensionsAI
필요한 패키지를 설치합니다.
Bashdotnet add package Azure.Identity dotnet add package Azure.AI.OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
Bashdotnet add package OpenAI dotnet add package Microsoft.Extensions.AI.OpenAI dotnet add package Microsoft.Extensions.Configuration dotnet add package Microsoft.Extensions.Configuration.UserSecrets
Visual Studio 코드 또는 선택한 편집기에서 앱 열기
Bashcode .
- Azure Developer CLI
- Azure CLI
- Azure Portal
샘플 GitHub 리포지토리는 Azure OpenAI 서비스 및 모델을 프로비전하는 데 사용할 수 있는 azd
Azure 개발자 CLI(azd
) 템플릿으로 구성됩니다.
터미널 또는 명령 프롬프트에서 샘플 리포지토리의 디렉터리로 이동합니다
src\quickstarts\azure-openai
.명령을
azd up
실행하여 Azure OpenAI 리소스를 프로비전합니다. Azure OpenAI 서비스를 만들고 모델을 배포하는 데 몇 분 정도 걸릴 수 있습니다.Azure 개발자 CLIazd up
azd
또한 Azure OpenAI 엔드포인트 및 모델 이름과 같은 샘플 앱에 필요한 사용자 비밀을 구성합니다.
터미널 또는 명령 프롬프트에서 .NET 프로젝트의 루트로 이동합니다.
다음 명령을 실행하여 OpenAI API 키를 샘플 앱의 암호로 구성합니다.
Bashdotnet user-secrets init dotnet user-secrets set OpenAIKey <your-openai-key> dotnet user-secrets set ModelName <your-openai-model-name>
앱은 패키지를 사용하여 Microsoft.Extensions.AI
AI 모델에 요청을 보내고 받습니다.
Program.cs 파일에서 다음 코드를 추가하여 AI 모델에 연결하고 인증합니다.
C#using Microsoft.Extensions.Configuration; using Microsoft.Extensions.AI; using Azure.AI.OpenAI; using Azure.Identity; var config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string endpoint = config["AZURE_OPENAI_ENDPOINT"]; string deployment = config["AZURE_OPENAI_GPT_NAME"]; IChatClient client = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()) .AsChatClient(deployment);
참고
DefaultAzureCredential 는 로컬 도구에서 인증 자격 증명을 검색합니다. 템플릿을
azd
사용하여 Azure OpenAI 리소스를 프로비전하지 않는 경우 Visual Studio 또는 Azure CLI에 로그인하는 데 사용한 계정에 역할을 할당Azure AI Developer
해야 합니다. 자세한 내용은 .NET을 사용하여 Azure AI 서비스에 인증을 참조하세요.C#using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; using OpenAI; IConfigurationRoot config = new ConfigurationBuilder().AddUserSecrets<Program>().Build(); string? model = config["ModelName"]; string? key = config["OpenAIKey"]; // Create the IChatClient IChatClient client = new OpenAIClient(key).AsChatClient(model);
benefits.md 파일 콘텐츠를 읽고 이를 사용하여 모델에 대한 프롬프트를 만듭니다. 이 프롬프트는 모델에 파일 텍스트 콘텐츠를 요약하도록 지시합니다.
C#// Create and print out the prompt string prompt = $""" summarize the the following text in 20 words or less: {File.ReadAllText("benefits.md")} """; Console.WriteLine($"user >>> {prompt}");
함수를
InvokePromptAsync
호출하여 프롬프트를 모델에 보내 응답을 생성합니다.C#// Submit the prompt and print out the response ChatResponse response = await client.GetResponseAsync(prompt, new ChatOptions { MaxOutputTokens = 400 }); Console.WriteLine($"assistant >>> {response}");
dotnet run
명령을 사용하여 앱을 실행합니다..NET CLIdotnet run
앱은 AI 모델의 완료 응답을 출력합니다. 파일의
benefits.md
텍스트 콘텐츠 또는 요약 길이를 사용자 지정하여 응답의 차이점을 확인합니다.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.
추가 리소스
학습
모듈
.NET 및 Azure OpenAI Completions를 사용하여 텍스트 및 대화 생성 - Training
Azure OpenAI 서비스와 함께 .NET SDK를 사용하여 애플리케이션이 사용자와 자연어로 대화하도록 하는 방법을 알아봅니다.
인증
Microsoft Certified: Azure AI 기본 사항 - Certifications
AI 솔루션을 만들기 위한 Microsoft Azure의 소프트웨어 및 서비스 개발과 관련된 기본 AI 개념을 보여 줍니다.
설명서
-
빠른 시작 - .NET에서 AI를 사용하여 이미지 생성 - .NET
.NET 및 OpenAI 또는 Azure OpenAI 모델을 사용하여 이미지를 생성하는 데 사용하는 간단한 앱을 만듭니다.
-
빠른 시작 - 최소한의 .NET AI RAG 앱 만들기 - .NET
.NET용 Embeddings 및 Microsoft.Extensions.VectorData 패키지를 사용하여 벡터 저장소를 검색하고 통합하는 AI 기반 앱 만들기
-
빠른 시작 - 도구를 사용하여 OpenAI 확장 및 .NET을 사용하여 로컬 함수 실행 - .NET
OpenAI를 사용하여 간단한 채팅 앱을 만들고 모델을 확장하여 로컬 함수를 실행합니다.