엑셀과 파이썬, 생성형 AI를 활용한 평어 프로그램 만들기

상상코더·2023년 12월 20일

엑셀 활용 수행평가 및 평가 내용을 토대로 지시문 만들기

  • 각 과목별 수행평가의 평가내용 혹은 성취도 문장을 1열에 작성한다.
  • 생성형 AI에게 평가 내용을 이용하여 지시할 프롬프트를 2번째 열 데이터로 추가한다.
  • 프롬프트 열을 만들어 1열과 2열의 문장을 "&"을 이용해 결합하고 엑셀 파일을 저장한다.

파이썬으로 엑셀을 불러와 각 교과의 프롬프트별 평어 생성하기


import pandas as pd
import openai
from dotenv import dotenv_values

config = dotenv_values(".env")
openai.api_key = config["OPENAI_API_KEY"]

# 프롬프트에 따라 결과 문장을 생성하는 함수
def execute_prompt(prompt):

# 챗봇 모델을 사용하여 프롬프트 실행
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "당신은 고도로 훈련된 교사입니다. 당신은 평가내용을 토대로 학생들의 성취내용을 만드는데 능숙합니다."},
{"role": "user", "content": prompt}
]
)

return response['choices'][0]['message']['content']

# Excel 파일 읽기

excel_path = '(읽어올 엑셀의 저장 경로)' # 앞서 업로드한 파일 경로
df = pd.read_excel(excel_path)

# '프롬프트' 열의 각 행에 대해 프롬프트 실행 함수 적용
df['성취내용(결과)'] = df['프롬프트'].apply(execute_prompt)

# 필요한 열을 가진 새로운 DataFrame 생성
final_df = df[['과목', '평가내용', '성취내용(결과)']]

# 새로운 Excel 파일로 최종 DataFrame 저장
output_excel_path = '(생성된 엑셀 파일이 저장될 경로)'
final_df.to_excel(output_excel_path, index=False)

print(f"생성된 문장을 {output_excel_path}에 저장했습니다.")

각 평가 내용별로 5개의 성취내용을 생성한 결과

지시문을 수정하여, 상, 중, 하위 수준별로 5개의 문항 생성 가능

각 과목별 별도의 시트로 구성하고 평가 내용과 생성 평어 정리하기

과목별 별도 시트 생성

평가 내용과 생성 평어의 행과 열을 바꿔 정리하기

생성된 평어 문구의 맞춤법, 어려운 단어, 문장의 흐름 수정하기

데이터 유형성 목록 기능을 활용하여 드롭다운 목록 만들기


각 평가 내용별로 성취 내용을 선택한 후 엑셀로 문장을 자동으로 결합하여 문단 완성하기


0개의 댓글