////
Search

GitHub Models - OpenAI GPT-4o

프로젝트 세팅

녹색의 Use this model 버튼을 클릭하면, 다양한 언어들에 대한 사용법을 알려줍니다. 우선, 깃허브 토큰을 발급받거나, Azure AI에서 ProductionKey를 발급받으면 됩니다.
둘 중 하나를 생성했다면, key값으로 사용할 것이니, shell에 임시로 저장해두거나 저처럼 JSON 파일에 넣어두고 .gitignore 등을 이용해 저장소에 올라가지만 않도록 조심하면 됩니다.
model명, endpoint, key 변수가 필요합니다
또한, 각자의 언어 선택에 알맞은 프로젝트 폴더를 생성하여 필요한 의존성들을 설치하면 됩니다

Basic code sample

코드

using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; using Microsoft.Extensions.Configuration; using OpenAI; using OpenAI.Chat; using Azure; // 애플리케이션 설정 구성 인스턴스 생성 var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) // JSON 파일에서 설정을 로드하도록 .AddUserSecrets<Program>() // 민감 정보를 관리하기 위해 추가 .Build(); // 구성 객체 생성 var endpoint = new Uri(config["GitHub:Models:EndPoint"]!); var credential = new AzureKeyCredential(config["GitHub:Models:ApiKey"]!); var model = config["GitHub:Models:ModelId"]!; if(string.IsNullOrWhiteSpace(config["GitHub:Models:ApiKey"]) == false) { var openAIOptions = new OpenAIClientOptions() { Endpoint = endpoint }; var client = new ChatClient(model, credential, openAIOptions); List<ChatMessage> messages = [ new SystemChatMessage("You are a helpful assistant."), new UserChatMessage("What is the capital of France?"), ]; var requestOptions = new ChatCompletionOptions() { Temperature = 1.0f, TopP = 1.0f }; var response = client.CompleteChat(messages, requestOptions); System.Console.WriteLine(response.Value.Content[0].Text); }
C#
복사

결과

UserChat으로 프랑스의 수도를 물어봤기 때문에 Paris라는 답변을 주었습니다

Explore more samples

Run a multi-turn conversation

코드

using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; using Microsoft.Extensions.Configuration; using OpenAI; using OpenAI.Chat; using Azure; // 애플리케이션 설정 구성 인스턴스 생성 var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) // JSON 파일에서 설정을 로드하도록 .AddUserSecrets<Program>() // 민감 정보를 관리하기 위해 추가 .Build(); // 구성 객체 생성 var endpoint = new Uri(config["GitHub:Models:EndPoint"]!); var credential = new AzureKeyCredential(config["GitHub:Models:ApiKey"]!); var model = config["GitHub:Models:ModelId"]!; if(string.IsNullOrWhiteSpace(config["GitHub:Models:ApiKey"]) == false) { var openAIOptions = new OpenAIClientOptions() { Endpoint = endpoint }; var client = new ChatClient(model, credential, openAIOptions); List<ChatMessage> messages = [ new SystemChatMessage("You are a helpful assistant."), new UserChatMessage("What is the capital of France?"), ]; var response = client.CompleteChat(messages); System.Console.WriteLine(response.Value.Content[0].Text); // Append the model response to the chat history. messages.Add(new AssistantChatMessage(response.Value.Content[0].Text)); // Append new user question. messages.Add(new UserChatMessage("What about Spain?")); response = client.CompleteChat(messages); System.Console.WriteLine(response.Value.Content[0].Text); }
C#
복사

결과