실습 프롬프트
전체 코드
import os
import re
from dotenv import load_dotenv
from openai import OpenAI
# .env 파일 로드
load_dotenv()
# 환경 변수에서 API 키 가져오기
api_key = os.getenv("OPENAI_API_KEY")
client = OpenAI()
def generate_python_code(prompt):
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": "당신은 Python 프로그래밍을 잘하는 AI입니다. 주어진 문제를 해결하는 간단한 Python 코드를 생성하세요."
}
]
},{"role":"user","content":prompt}
],
response_format={
"type": "text"
},
temperature=0.7,
max_completion_tokens=4096,
stop=["stop"],
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
return response["choices"][0]["message"]["content"]
def extract_code(text):
"""응답에서 Python 코드 부분만 추출"""
code_block = re.search(r"```python(.*?)```", text, re.DOTALL)
return code_block.group(1).strip() if code_block else None
def execute_python_code(code):
"""생성된 Python 코드를 실행하고 결과를 반환"""
local_vars = {}
try:
exec(code, {}, local_vars)
return local_vars.get("result") # 'result' 변수를 코드에서 반환하도록 설정
except Exception as e:
return f"코드 실행 중 오류 발생: {str(e)}"
if __name__ == "__main__":
# 예제 입력 (사용자가 질문하는 부분)
user_question = "John이 하루에 3개의 사과를 먹으면, 10일 동안 몇 개의 사과를 먹을까?"
# GPT를 사용하여 Python 코드 생성
generated_code = generate_python_code(user_question)
print(" 생성된 Python 코드:", generated_code)
# 코드 부분만 추출
extracted_code = extract_code(generated_code)
if extracted_code:
print(" 실행할 Python 코드:", extracted_code)
# 코드 실행 후 결과 출력
result = execute_python_code(extracted_code)
print(" 실행 결과:", result)
else:
print(" 코드 추출 실패")
`
Last updated