logo

  • 로그인
  • 회원가입
  • 페이스북 트위터 블로그

  • HOME
    • 메인페이지
    • link
  • 교무업무자료
    • 교무업무자료
      • 교무업무유틸
      • 교무업무 PPT
    • 학습지도안
    • 브로슈어
    • 교육정보자료
    • 제작영상
  • 수능학습자료
    • 수능기출문제
    • 모의수능기출
    • 학력평가기출
    • 인터넷 강의
      • 인터넷 강의2
      • my_vod
      • 해설강의와이드
      • 해설강의
    • 자기소개서
    • 학교생활종합
    • 세특참고자료
    • 자율활동기록
  • 교육 과정 자료
    • 교육과정자료
      • 수학
      • 수학1
      • 수학2
      • 미적분
      • 단원별기출문제
      • 기하 와 벡터
    • 학력평가1학년
    • 학력평가2학년
    • 학력평가3학년
    • 영재교육
    • 수학교재
      • 플래시학습자료
  • 커뮤니티
    • 커뮤니티
    • 공지사항
    • 자료실
    • 멀티 포토
      • 갤러리
    • 홈페이지
      • 사용방법
    • 웹하드
  • 홈페이지 자료
    • 플래시 자료
    • 디자인 자료
    • PPT 자료
    • 학습하기(NEW)
    • 폰트소스
    • php java
      • 홈피update
    • sound 자료
  • goodnews
    • good news
    • 수화찬양
    • CCM찬양
    • 동영상
    • 동영상자료
      • 영어듣기
    • 교회자료실

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인할 필요가 없습니다. 단, PC방, 학교, 도서관 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

  • 아이디/비밀번호찾기  신규회원가입
  • 인증메일재발송
  • 커뮤니티
  • 공지사항
  • 자료실
  • 멀티 포토
    • 갤러리
  • 홈페이지
    • 사용방법
  • 웹하드

=IF(U3, MATH_SETECH_GPT($D$2:$T$2, D3:T3, 0.7), "")

2026.02.23 11:28

맥가이버 조회 수:1

const GPT_MODEL = "gpt-4o";

 

function MATH_SETECH_GPT(standards, results, temperature) {

  const apiKey = PropertiesService.getScriptProperties().getProperty("GPT_API_KEY");

  if (!apiKey) return "Error: API key is missing.";

 

  temperature = (typeof temperature === "number") ? temperature : 0.7;

 

  // 배열 형태 자동 감지 후 1차원으로 변환

  const standardList = Array.isArray(standards)

    ? (Array.isArray(standards[0]) ? [].concat(...standards) : [].concat(standards))

    : [standards];

  const resultList = Array.isArray(results)

    ? (Array.isArray(results[0]) ? [].concat(...results) : [].concat(results))

    : [results];

 

  const filteredStandards = standardList.filter(v => v !== "" && v !== null && v !== undefined);

  const filteredResults = resultList.filter(v => v !== "" && v !== null && v !== undefined);

 

  let correctList = [];

  let wrongList = [];

  let analysisText = "";

 

  for (let i = 0; i < filteredStandards.length; i++) {

    const isCorrect = filteredResults[i] === "O" || filteredResults[i] === "o";

    if (isCorrect) correctList.push(filteredStandards[i]);

    else wrongList.push(filteredStandards[i]);

    analysisText += `- ${filteredStandards[i]}: ${isCorrect ? "정답(이해함)" : "오답(미흡)"}\n`;

  }

 

  const totalCount = filteredStandards.length;

  const correctCount = correctList.length;

  const score = Math.round((correctCount / totalCount) * 100);

 

  const fullPrompt = `

중학교 수학 교사로서 시험 결과 분석을 바탕으로 학생의 과목 세부특기사항을 400자 내외로 작성하세요.

 

작성 규칙:

- 제목 없이 본문만 작성 (태그, 특수기호 없이)

- 문장은 "~함", "~임", "~음"으로 끝나야 함

- 주어 생략, 음슴체로 작성

- 현재형으로 작성 (과거형 사용 금지)

- 맞은 성취기준은 이해 및 역량으로 표현

- 틀린 성취기준은 보완점 또는 성장 가능성으로 표현

- 단순 점수 나열 금지, 학습 역량과 태도 중심으로 서술

- 구체적인 성취기준 내용을 녹여서 작성

 

총 문항: ${totalCount}문항

정답률: ${score}% (${correctCount}/${totalCount})

 

문항별 성취기준 및 결과:

${analysisText}

강점 성취기준: ${correctList.join(", ")}

보완 필요 성취기준: ${wrongList.length > 0 ? wrongList.join(", ") : "없음"}

 

아래 예시와 동일한 문체와 스타일로 작성하세요:

예시1: 창의융합 프로젝트를 통해 다양한 활동에 적극적으로 참여하며 수학적 사고력과 창의성을 발휘함. 원주율을 주제로 한 파이 스토쿠 문제를 해결하며 논리적 사고력과 집중력을 보임, 사다리꼴과 각뿔대의 구조적 특징을 탐구하여 이를 실생활 문제와 연결하고 친구들에게 자세하게 설명함. 수학 캐릭터 만들기 활동에서는 독창적인 아이디어로 수학 개념을 캐릭터에 적용해 창의성을 발휘하며 친구들과 적극적으로 소통함.

예시2: 정이십각형의 대각선의 개수를 공식을 이용하여 구하고 대각선을 모두 그려보면서 수학의 아름다움도 발견하는 등 다각형의 대각선의 개수에 대해 심도있게 탐구함. 컴퍼스로 작품명 '원 속 동그라미'인 창의적인 문양을 그리고 부채꼴의 넓이 구하는 공식을 이용하여 색칠한 부분의 넓이를 잘 구함. 수학활동지를 완벽하게 작성하여 관리하며 매 수업시간 성실하게 수업에 참여함.

`;

 

  const apiUrl = "https://api.openai.com/v1/chat/completions";

  const data = {

    model: GPT_MODEL,

    temperature: temperature,

    max_tokens: 1200,

    messages: [

      { role: "system", content: "당신은 중학교 수학 교사입니다. 학생 세부특기사항을 작성하는 전문가입니다." },

      { role: "user", content: fullPrompt }

    ]

  };

 

  const options = {

    method: "POST",

    headers: {

      "Content-Type": "application/json",

      "Authorization": "Bearer " + apiKey

    },

    payload: JSON.stringify(data),

    muteHttpExceptions: true

  };

 

  try {

    const response = UrlFetchApp.fetch(apiUrl, options);

    if (response.getResponseCode() === 200) {

      const result = JSON.parse(response.getContentText());

      return result.choices[0].message.content.trim();

    }

    return `Error: ${response.getContentText()}`;

  } catch (e) {

    return `Error: ${e.message}`;

  }

}

 

// GPT API 키 설정 함수

function setupGPTAPI() {

  const ui = SpreadsheetApp.getUi();

  const prompt = ui.prompt(

    'GPT API 설정',

    'OpenAI API 키를 입력하세요:',

    ui.ButtonSet.OK_CANCEL

  );

 

  if (prompt.getSelectedButton() == ui.Button.OK) {

    const apiKey = prompt.getResponseText();

    if (apiKey) {

      PropertiesService.getScriptProperties().setProperty('GPT_API_KEY', apiKey);

      ui.alert('설정 완료', 'GPT API 키가 성공적으로 저장되었습니다.', ui.ButtonSet.OK);

    } else {

      ui.alert('오류', 'API 키를 입력하지 않았습니다.', ui.ButtonSet.OK);

    }

  }

}

 

// 메뉴 추가

function onOpen() {

  const ui = SpreadsheetApp.getUi();

  ui.createMenu('AI 세특 생성')

    .addItem('Claude API 키 설정', 'setupClaudeAPI')

    .addItem('GPT API 키 설정', 'setupGPTAPI')

    .addToUi();

}

 

이 게시물을
  • Twitter
  • Facebook
  • Delicious
목록

댓글 0

목록
번호 제목 글쓴이 날짜 조회 수
공지 2023worship 맥가이버 2023.01.01 370
공지 worship 맥가이버 2021.03.21 595
공지 새소식반 맥가이버 2021.03.21 518
1030 수열의 합 장영조 2006.06.01 383
1029 하노이 탑 장영조 2006.06.01 593
1028 123 file 장영조 2006.06.23 353
1027 연습문제 장영조 2006.09.09 397
1026 링크 장영조 2006.09.12 359
1025 ping 테스트에서 time,ttl,lost 의 개념이 무엇인지 알려주세요 장영조 2006.09.19 544
1024 SATA는 뭐고 RAID는 뭡니까? 장영조 2007.01.28 370
1023 학습관리시스템 트리 file 장영조 2008.04.05 366
1022 견적서 장영조 2008.04.20 497
1021 로그인 에러 file 장영조 2009.03.09 366
1020 720*489변환 file 장영조 2009.04.04 388
1019 보이스 웨어 자료 장영조 2009.06.22 404
1018 하나님의꿈 file 장영조 2010.04.21 353
1017 코덱설정 divx v5.0.2 file 장영조 2010.04.23 348
1016 검정 교과서 구입방법 장영조 2010.05.31 376
1015 날세우시네 file 장영조 2010.06.21 403
1014 특수 효과 안내 장영조 2010.07.21 394
1013 jw 플레이어 설정 안내 장영조 2010.08.24 367
1012 에펙 에러 장영조 2010.11.02 1725
1011 윈도우 탐색기에서 mov(QuickTime) 파일 미리보기 file 장영조 2010.11.08 1462
첫 페이지 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 끝 페이지
쓰기
태그
logo
  • 학습도움방
  • 주간계획
  • 각종통계조사
  • api 연동
  • 업로드
COPYRIGHT © ALL RIGHTS RESERVED.
관련사이트