본문 바로가기
chatGpt 사용하기

chatGpt 사용해보기..

by 쿠리의일상 2023. 3. 22.

https://chat.openai.com/

 

1. 챗gpt 역할 설정하기

역할을 설정하지 않고 질문할 경우 인공지능 어시던트의 역할로서 말할 수 있는 일반적인 답변만 생성한다.

구체적인 답변을 위해선 역할 설정이 최초 조건이 된다.

ex. 카피라이팅 전문가라고 가정하고 / 개발자라고 가정하고 / ...

2. 받기 원하는 답변의 예시

ex. A > B, 왜냐하면...

 

3. 글자수를 제시하기

글자수를 제시하면 답변의 구체성을 조절 가능

 

4. 받아보기 원하는 분석의 형식과 방법을 제시

ex. 정반합 구조로 설명해줘

ex. 장단점을 각각 2가지 들어서 설명해줘

ex. 다음 4가지 측면에서 설명해줘 ...

 

5. 원하는 방식의 답변에 포함될 것으로 예상되는 키워드를 제시하기

ex. ~ 에 대해 말해줘 -XXX 키워드를 포함

 

6. Develop 명령어를 사용

ex. 계속 말해 / 계속 생성해

 

 

회원가입 API 작성하기

mogoose는 익일 배울 내용인데... 예습해버렸다.

bcrypt 는 처음 보는 라이브러리인데 사용해봐야겠다.

const express = require('express');
const router = express.Router();
const User = require('../models/user');
const bcrypt = require('bcrypt');

router.post('/signup', (req, res) => {
  const { username, email, password } = req.body;
  User.findOne({ email: email })
    .then(user => {
      if (user) {
        return res.status(409).json({
          message: 'Email already exists'
        });
      }
      bcrypt.hash(password, 10, (err, hash) => {
        if (err) {
          return res.status(500).json({
            error: err
          });
        } else {
          const user = new User({
            _id: mongoose.Types.ObjectId(),
            username: username,
            email: email,
            password: hash
          });
          user.save()
            .then(result => {
              console.log(result);
              res.status(201).json({
                message: 'User created'
              });
            })
            .catch(err => {
              console.log(err);
              res.status(500).json({
                error: err
              });
            });
        }
      });
    })
    .catch(err => {
      console.log(err);
      res.status(500).json({
        error: err
      });
    });
});

module.exports = router;

해당 api를 async/await 로 변경을 요청했다.

 

const express = require('express');
const router = express.Router();
const User = require('../models/user');
const bcrypt = require('bcrypt');

router.post('/signup', async (req, res) => {
  const { username, email, password } = req.body;
  try {
    const existingUser = await User.findOne({ email });
    if (existingUser) {
      return res.status(409).json({
        message: 'Email already exists'
      });
    }
    const hashedPassword = await bcrypt.hash(password, 10);
    const newUser = new User({
      _id: mongoose.Types.ObjectId(),
      username,
      email,
      password: hashedPassword
    });
    await newUser.save();
    console.log(newUser);
    return res.status(201).json({
      message: 'User created'
    });
  } catch (err) {
    console.log(err);
    return res.status(500).json({
      error: err
    });
  }
});

module.exports = router;

 

신기하다 ... 공부할 때 챗gpt 를 옆에 켜두고 해야겠다. 웬만한 유튜브나 블로그보다 나을지도 모르겠다.