framework/ReactNative

πŸ“˜ [4편] GPTκ°€ λ©΄μ ‘ 닡변을 ν‰κ°€ν•œλ‹€ – ν”Όλ“œλ°± ν”„λ‘¬ν”„νŠΈ 섀계

octo54 2025. 7. 4. 17:40
λ°˜μ‘ν˜•

πŸ“˜ [4편] GPTκ°€ λ©΄μ ‘ 닡변을 ν‰κ°€ν•œλ‹€ – ν”Όλ“œλ°± ν”„λ‘¬ν”„νŠΈ 섀계


자, 이젠 μ‚¬μš©μžκ°€ λ§ν•œ λ‹΅λ³€ ν…μŠ€νŠΈλ₯Ό GPTμ—κ²Œ λ„˜κ²¨μ„œ
λ©΄μ ‘κ΄€μ²˜λŸΌ ν”Όλ“œλ°±μ„ λ°›λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•΄λ΄…λ‹ˆλ‹€.

이번 편의 핡심은
λ‹¨μˆœν•œ "μ’‹μ•„μš”/λ‚˜λΉ μš”"κ°€ μ•„λ‹ˆλΌ
ꡬ쑰, 전달λ ₯, λ‚΄μš©μ„±, μ–΄νœ˜λ ₯ 등을 κΈ°μ€€μœΌλ‘œ ν‰κ°€λ°›λŠ” μ‹œμŠ€ν…œμ„ λ§Œλ“œλŠ” 것!


🎯 이번 λͺ©ν‘œ

βœ… 닡변을 GPT에 전달할 수 μžˆλŠ” ν”„λ‘¬ν”„νŠΈ 섀계
βœ… λ©΄μ ‘κ΄€ 역할을 λͺ…μ‹œν•˜μ—¬ 평가 μœ λ„
βœ… κ΅¬μ‘°ν™”λœ ν”Όλ“œλ°±(JSON) ν˜•νƒœλ‘œ λ°›κΈ°
βœ… ν”„λ‘ νŠΈμ—μ„œ μ‹œκ°ν™” μ€€λΉ„


πŸ’¬ GPT ν”„λ‘¬ν”„νŠΈ μ˜ˆμ‹œ (ν•œκ΅­μ–΄ κΈ°μ€€)

당신은 μ±„μš© λ©΄μ ‘ μ „λ¬Έκ°€μž…λ‹ˆλ‹€. μ•„λž˜ λ©΄μ ‘ 닡변을 보고 λ‹€μŒ ν•­λͺ©μ— λŒ€ν•΄ ν‰κ°€ν•΄μ£Όμ„Έμš”:

1. ꡬ쑰 (논리적인 흐름)
2. 전달λ ₯ (말투, μ–΄νˆ¬, λͺ…ν™•μ„±)
3. λ‚΄μš©μ„± (μ§ˆλ¬Έμ— λŒ€ν•œ 핡심 포함 μ—¬λΆ€)
4. μ–΄νœ˜λ ₯ (λ‹€μ–‘ν•œ 단어 μ‚¬μš© μ—¬λΆ€)

각 ν•­λͺ©μ€ 1~5점으둜 μ±„μ ν•˜κ³ , μ’…ν•© ν”Όλ“œλ°±μ„ ν•œ λ¬Έλ‹¨μœΌλ‘œ μ œκ³΅ν•΄μ£Όμ„Έμš”.

[λ©΄μ ‘ λ‹΅λ³€]
"μ œκ°€ 이전 νšŒμ‚¬μ—μ„œ λ§‘μ•˜λ˜ ν”„λ‘œμ νŠΈλŠ”..."

βœ… OpenAI GPT API에 μš”μ²­ 보내기

export const evaluateAnswer = async (answer) => {
  const prompt = `
당신은 μ±„μš© λ©΄μ ‘κ΄€μž…λ‹ˆλ‹€. μ•„λž˜ 닡변을 보고 ν‰κ°€ν•΄μ£Όμ„Έμš”.

[λ‹΅λ³€]
${answer}

- ꡬ쑰: 1~5점
- 전달λ ₯: 1~5점
- λ‚΄μš©μ„±: 1~5점
- μ–΄νœ˜λ ₯: 1~5점
- μ’…ν•© ν”Όλ“œλ°±: ν•œ 문단
- κ°œμ„  포인트: κ°„λ‹¨ν•œ ν•œ λ¬Έμž₯
JSON ν˜•νƒœλ‘œ μ•„λž˜μ™€ 같이 λ‹΅λ³€ν•΄μ£Όμ„Έμš”:

{
  "structure": 4,
  "delivery": 3,
  "content": 5,
  "vocabulary": 4,
  "feedback": "...",
  "suggestion": "..."
}
  `;

  const response = await axios.post(
    'https://api.openai.com/v1/chat/completions',
    {
      model: "gpt-4",
      messages: [{ role: "user", content: prompt }],
      temperature: 0.7,
    },
    {
      headers: {
        Authorization: `Bearer ${process.env.REACT_APP_OPENAI_API_KEY}`,
        "Content-Type": "application/json",
      },
    }
  );

  return JSON.parse(response.data.choices[0].message.content);
};

πŸ§ͺ ν”Όλ“œλ°± μ˜ˆμ‹œ 좜λ ₯

λ°˜μ‘ν˜•
{
  "structure": 4,
  "delivery": 3,
  "content": 5,
  "vocabulary": 4,
  "feedback": "닡변은 μ „μ²΄μ μœΌλ‘œ κ΅¬μ‘°ν™”λ˜μ–΄ 있으며, μ „λ‹¬ν•˜κ³ μž ν•˜λŠ” 핡심 λ©”μ‹œμ§€κ°€ 잘 λ“œλŸ¬λ‚©λ‹ˆλ‹€. λ‹€λ§Œ 일뢀 λ¬Έμž₯μ—μ„œ μ–΄λ―Έκ°€ λ°˜λ³΅λ˜μ–΄ 전달λ ₯이 쑰금 λ–¨μ–΄μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.",
  "suggestion": "말 끝을 μ •λ¦¬ν•˜κ³  핡심 λ¬Έμž₯을 짧게 μ •λ¦¬ν•΄λ³΄μ„Έμš”."
}

βœ… ν”„λ‘ νŠΈμ—μ„œ ν™œμš©ν•˜κΈ°

  • 점수λ₯Ό μΉ΄λ“œ UI둜 ν‘œν˜„ (ex. 별점, κ²Œμ΄μ§€)
  • μ’…ν•© ν”Όλ“œλ°±μ€ λ³Έλ¬Έ ν…μŠ€νŠΈλ‘œ 좜λ ₯
  • κ°œμ„  ν¬μΈνŠΈλŠ” 마이크 μ•„μ΄μ½˜ μ˜†μ— 툴팁처럼 λ…ΈμΆœ

βœ… 이번 κΈ€ μš”μ•½

κΈ°λŠ₯ μ™„λ£Œ μ—¬λΆ€

GPT ν”„λ‘¬ν”„νŠΈ 섀계 βœ…
λ‹΅λ³€ 평가 ν•­λͺ© μ •μ˜ βœ…
JSON ν˜•νƒœ ν”Όλ“œλ°± μš”μ²­ βœ…
ν”„λ‘ νŠΈ μ‹œκ°ν™” μ€€λΉ„ βœ…

πŸ“˜ λ‹€μŒ κΈ€ 예고

λ‹€μŒ κΈ€μ—μ„œλŠ”
GPT ν”Όλ“œλ°±μ„ μ‹€μ œλ‘œ UI에 λ Œλ”λ§ν•˜λŠ” μΉ΄λ“œν˜• UI
점수 μ‹œκ°ν™” + κ°œμ„  λ¬Έμž₯ λ…ΈμΆœ
→ μ‚¬μš©μžμ˜ λͺ°μž…감 μžˆλŠ” κ²°κ³Ό ν”Όλ“œλ°± 화면을 κ΅¬ν˜„ν•©λ‹ˆλ‹€!


 

gpt λ©΄μ ‘ ν”Όλ“œλ°±,ai λ©΄μ ‘ μ•± ν”„λ‘¬ν”„νŠΈ,react openai 평가 μ‹œμŠ€ν…œ,react native gpt λ‹΅λ³€ 평가,interview feedback gpt,react 평가 UI μΉ΄λ“œ,gpt4 json 평가 api,ai μ·¨μ—… μ•± ν”Όλ“œλ°±,gpt λ©΄μ ‘ ν”„λ‘¬ν”„νŠΈ 섀계,μ‹€μ‹œκ°„ gpt 평가 μ‹œμŠ€ν…œ