OpenAI API를 Node.js로 연결하기



OpenAI API를 Node.js로 연결하기

OpenAI의 API를 Node.js로 연결하는 방법은 공식 기술 문서에서 자세히 설명되어 있습니다. 이 글에서는 필요한 라이브러리 설치부터 서버 구현까지의 과정을 단계별로 안내드립니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 



H2 라이브러리 설치

H3 OpenAI npm 패키지 설치

Node.js에서 OpenAI API를 사용하기 위해서는 먼저 OpenAI의 npm 패키지를 설치해야 합니다. 이를 위해 아래의 명령어를 사용하세요.

bash
npm install openai dotenv express

  • openai: OpenAI API와의 상호작용을 담당하는 라이브러리입니다.
  • dotenv: 환경 변수를 안전하게 관리하기 위한 라이브러리입니다.
  • express: 웹 서버를 쉽게 구축할 수 있도록 도와주는 프레임워크입니다.

API 키를 발급받는 방법에 대해서는 여러 자료가 있으니 생략하겠습니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 

H2 서버 구현

H3 파일 구조 설정

프로젝트의 파일 구조는 다음과 같이 간단하게 설정합니다.

├─ app.js
├─ chatgpt.js
├─ package-lock.json
└─ package.json

H3 app.js 구현

서버를 실행하는 app.js 파일의 코드는 다음과 같습니다.

“`javascript
const express = require(“express”);
const router = express.Router();
const { callChatGPT } = require(“./chatgpt”);

const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

router.post(“/ask”, async (req, res) => {
const { ask } = req.body;
const response = await callChatGPT(ask);

if (response) {
    res.status(200).json({ response });
} else {
    res.status(500).json({
        error: "Failed to get response from ChatGPT API",
    });
}

});

app.use(“/”, router);

const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(Server is running on port ${port});
});
“`

H3 chatgpt.js 구현

OpenAI API와 연결하는 코드는 chatgpt.js 파일에 위치합니다.

“`javascript
const { Configuration, OpenAIApi } = require(“openai”);
require(“dotenv”).config();

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

try {
    const openai = new OpenAIApi(configuration);
    const response = await openai.createChatCompletion({
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: ask }],
    });
    return response.data.choices[0].message;
} catch (error) {
    console.error("Error calling ChatGPT API:", error);
    return null;
}

}

module.exports = { callChatGPT };
“`

이제 서버를 실행하면 /ask 주소로 POST 요청을 보내면 OpenAI API에서 받은 응답을 받을 수 있습니다.

H2 프롬프트 세팅

H3 간단한 프롬프트 추가

OpenAI의 채팅 모델에 지시할 때, 사용자 메시지 앞에 특정 프롬프트를 추가함으로써 일관된 결과를 유도할 수 있습니다. 예를 들어, 다음과 같은 프롬프트를 사용할 수 있습니다.

You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible. Knowledge cutoff: {knowledge_cutoff} Current date: {current_date}

이와 같은 프롬프트를 추가하면 응답이 간결하게 유지되고, 필요 없는 토큰 소모를 줄일 수 있습니다. 이를 통해 비용을 절감할 수 있습니다.

H2 향후 계획

추가적으로, 기존 대화를 유지하면서 새로운 질문을 추가할 수 있는 기능을 구현할 계획입니다. 이를 통해 더 자연스러운 대화 흐름을 생성할 수 있을 것으로 기대됩니다.

자주 묻는 질문

질문1: OpenAI API를 사용하기 위한 환경 변수 설정은 어떻게 하나요?

답변: 프로젝트 루트 디렉토리에 .env 파일을 생성하고, OPENAI_API_KEY=your_api_key 형식으로 API 키를 저장하면 됩니다.

질문2: Express 서버를 실행하기 위한 포트는 어떻게 설정하나요?

답변: process.env.PORT를 사용하거나 기본값으로 3000을 설정하여 서버를 실행할 수 있습니다.

이전 글: 2015 호주 오픈 슈퍼시리즈 배드민턴 남자복식 우승