컴퓨터과학과

"위안의 길목, 용서로!" 프로그램에 사용할 도구

공부하는노년 2024. 3. 14. 11:52
반응형

"위안의 길목, 용서로!" 프로그램에 사용할 도구

"위안의 길목, 용서로!" 프로그램을 OpenAI API를 사용하여 Node.js로 개발하는 과정은 여러 단계로 나눌 수 있습니다. 아래는 기본적인 개발 절차를 설명합니다. 이 프로젝트를 진행하기 전에, Node.js와 npm이 시스템에 설치되어 있어야 하며, OpenAI API에 접근할 수 있는 API 키가 필요합니다.

1. 프로젝트 초기 설정

  1. VSCode 설치 및 실행: 이미 설치되어 있다면, VSCode를 열고 새 프로젝트 폴더를 생성합니다.
  2. Node.js 설치: Node.js와 패키지를 관리하는 npm을 설치합니다.
  3. 프로젝트 폴더 초기화: VSCode의 터미널에서 새 프로젝트 폴더로 이동한 후, npm init -y를 실행하여 package.json 파일을 생성합니다.

node.js 설치

2. 필요한 패키지 설치

  1. OpenAI SDK 설치: 터미널에서 npm install openai를 실행하여 OpenAI Node.js SDK를 설치합니다.

npm으로 openai SDK 설치

3. API 키 설정

  1. 환경 변수 설정: Windows 10에서 API 키를 환경 변수로 설정합니다. 이는 API 키를 코드에 직접 넣지 않고 안전하게 사용할 수 있는 방법입니다. 시스템 속성에서 '환경 변수'를 선택하고, 새로운 사용자 변수를 추가합니다. 변수 이름을 OPENAI_API_KEY로 하고, 값에는 OpenAI에서 발급받은 API 키를 입력합니다.

고급시스템 정보

 

Windows 10에서 '고급 시스템 정보'를 찾습니다. 일반적으로 설정의 시스템에서 '정보'를 확인하여 '고급시스템 정보'로 진입할 수 있습니다.

OPENAI API 키를 환경변수에 추가

4. Node.js 애플리케이션 작성

  1. 애플리케이션 코드 작성: VSCode에서 새 파일을 생성하고 (예: app.js), OpenAI SDK를 사용하여 애플리케이션 코드를 작성합니다.
const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});

const openai = new OpenAIApi(configuration);

async function generateResponse(prompt) {
  try {
    const response = await openai.createCompletion({
      model: "text-davinci-003", // 모델 버전은 상황에 따라 최신으로 조정
      prompt: prompt,
      temperature: 0.7,
      max_tokens: 150,
      n: 1,
      stop: null,
    });
    console.log(response.data.choices[0].text.trim());
  } catch (error) {
    console.error(error);
  }
}

generateResponse("이야기해줘, 용서에 관한 것");

VSCode의 app.js

5. 애플리케이션 실행

  1. 애플리케이션 실행: 터미널에서 node app.js를 실행하여 애플리케이션을 실행하고, OpenAI API를 통해 생성된 응답을 확인합니다.

6. 개발 확장

  • 사용자 인터페이스(UI)를 구축하려면 HTML, CSS, JavaScript와 같은 웹 기술을 사용할 수 있습니다.
  • 사용자로부터 입력을 받고, OpenAI API를 통해 처리한 후, 결과를 사용자에게 보여주는 기능을 추가합니다.
  • Node.js의 express 같은 프레임워크를 사용하여 웹 서버를 구축할 수 있습니다.

이 기본적인 가이드라인을 통해 "위안의 길목, 용서로!" 프로그램의 개발을 시작할 수 있습니다. 프로젝트의 요구사항과 목표에 따라 추가 기능을 계획하고 구현할 수 있습니다.