4일간의 달콤한 연휴가 끝나고 24일차에 접어들었다.
node.js에서 강사님의 openai API키를 활용해 chat gpt를 이용하는 법을 배웠고, 이를 응용해 챗봇을 만들었다.
DB에 주고받은 대화 히스토리를 저장하고 이를 기반으로 내가 그동한 던진 질문이 무엇인지도 물어볼 수 있게 하였다.
저번주 복습 겸 내용을 정리해보겠다.
입력된 텍스트에 기반하여 새로운 텍스트, 코드, 이미지 등을 생성하는 인공지능.
대표적인 모델로는 GPT (OpenAI), Claude (Anthropic), LLaMA (Meta), PaLM (Google) 등이 있다.
역할 지정: 너는 친절한 설명을 해주는 초등학교 선생님이야.
질문: 번개는 왜 치는 거야?
역할, 출력 형식, 예시 등을 명확히 제시하면 더 좋은 결과 유도 가능
반복 실험하면서 프롬프트를 조정할 것
사전 준비
1. OpenAI에서 API Key 발급
2. .env 파일에 API 키 저장
OPENAI_API_KEY=sk-xxxx
npm install axios dotenv
const axios = require('axios');
require('dotenv').config();
async function askChatGPT(prompt) {
try {
const response = await axios.post(
'https://api.openai.com/v1/chat/completions',
{
model: 'gpt-3.5-turbo',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: prompt },
],
temperature: 0.7,
},
{
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
},
}
);
console.log('응답 결과:', response.data.choices[0].message.content);
} catch (error) {
console.error('오류 발생:', error.response?.data || error.message);
}
}
// 테스트 실행
askChatGPT('프롬프트 엔지니어링이 뭐야?');
응답 결과: 프롬프트 엔지니어링은 생성형 AI 모델에 원하는 응답을 얻기 위해 질문의 형식을 전략적으로 설계하는 기법입니다. ...