OpenAI를 활용한 프롬프트 엔지니어링 실습
할필요 없음.
Last updated
할필요 없음.
Last updated
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.contentimport re
def extract_code(text):
"""응답에서 Python 코드 부분만 추출"""
code_block = re.search(r"```python(.*?)```", text, re.DOTALL)
return code_block.group(1).strip() if code_block else Nonedef 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 = "윤년을 구하는 함수를 만들어줘"
# 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("코드 추출 실패")