본문 바로가기
컴퓨터과학과

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

by 공부하는노년 2024. 3. 14.
반응형

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

"위안의 길목, 용서로!" 프로그램을 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 같은 프레임워크를 사용하여 웹 서버를 구축할 수 있습니다.

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

댓글