본문 바로가기

C#

Part 1: chatgpt 환경 설정 및 기본 C# 프로젝트 만들기

반응형

소개

이 2부작 블로그 시리즈에서는 OpenAI ChatGPT API를 C#으로 사용하는 방법을 탐구합니다. 첫 번째 부분에서는 환경을 설정하고 기본 C# 프로젝트를 만들고 첫 번째 API 호출을 수행하는 것에 대해 다룹니다.

사전 준비

시작하기 전에 다음이 설치되어 있는지 확인하세요:

1단계: 새로운 C# 프로젝트 생성

터미널이나 명령 프롬프트를 열고 다음 명령을 실행하여 새로운 콘솔 애플리케이션을 생성하세요.

dotnet new console -n ChatGPTDemo

프로젝트 디렉토리로 이동하세요.

cd ChatGPTDemo

2단계: 필요한 NuGet 패키지 설치

HTTP 요청을 수행하기 위해 System.Net.Http 패키지가 필요합니다. 다음 명령을 실행하여 프로젝트에 추가하세요.

dotnet add package System.Net.Http

3단계: ChatGPT API 호출을 위한 기본 코드 작성

IDE에서 Program.cs 파일을 열고 다음 코드로 내용을 교체하세요.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

namespace ChatGPTDemo
{
    class Program
    {
        private static readonly HttpClient client = new HttpClient();

        static async Task Main(string[] args)
        {
            string apiKey = "your_api_key_here";  // OpenAI API 키로 교체하세요
            string prompt = "안녕하세요, C#으로 ChatGPT를 어떻게 사용하나요?";

            var requestContent = new
            {
                model = "gpt-3.5-turbo",
                messages = new[]
                {
                    new { role = "system", content = "당신은 도움을 주는 어시스턴트입니다." },
                    new { role = "user", content = prompt }
                }
            };

            var content = new StringContent(JsonConvert.SerializeObject(requestContent), Encoding.UTF8, "application/json");

            client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");

            var response = await client.PostAsync("https://api.openai.com/v1/chat/completions", content);

            if (response.IsSuccessStatusCode)
            {
                var responseString = await response.Content.ReadAsStringAsync();
                dynamic responseObject = JsonConvert.DeserializeObject(responseString);
                Console.WriteLine(responseObject.choices[0].message.content);
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}

설명

  • HttpClient: HTTP 요청을 보내기 위해 사용됩니다.
  • JsonConvert.SerializeObject: 요청 객체를 JSON 문자열로 변환합니다.
  • StringContent: HTTP 요청을 위한 JSON 문자열을 캡슐화합니다.
  • PostAsync: OpenAI API 엔드포인트에 POST 요청을 보냅니다.
  • Authorization Header: 요청 헤더에 API 키를 추가합니다.

4단계: 애플리케이션 실행

다음 명령을 사용하여 애플리케이션을 실행하세요.

dotnet run

콘솔에서 ChatGPT의 응답을 볼 수 있을 것입니다.

결론

이 파트에서는 기본 C# 콘솔 애플리케이션을 설정하고 OpenAI ChatGPT API에 간단한 요청을 보냈습니다. 다음 파트에서는 더 복잡한 상호작용을 처리하고, 오류 처리를 수행하며, API 호출을 개선하는 방법에 대해 다룰 것입니다.

반응형