본문 바로가기

CNUproject/코드 동일성 검사 도구

9_ChatGPT API 사용해보기 (Python)

이번주에는 ChatGPT에게 파이썬 코드를 제공한 후 C언어로 변환을 요구하고 얻은 C코드가 처음 제공했던 파이썬 코드와 동일한지 검사하기 위해 일단 ChatGPT API를 사용하여 파이썬에서 질문을 하고 답변을 얻어내는 코드를 작성해보았다.

 

 

1. Openai에서 API 키 발급받기

https://openai.com/ 해당 사이트에 들어가서 로그인을 하고, API key를 발급 받는다. (오른쪽 상단 프로필 > View API keys)

현재는 무료 체험을 사용 중이라 사용 기한이 정해져있다.

Usage 탭에서 사용량을 확인

 

2. Python code

import openai

openai.api_key = "본인의 API key"

#변환할 코드가 작성된 파일명 입력 받고 해당 파일 코드 가져오기
fName = input("file name: ")
file = open(fName, 'r')
lines = file.readlines()
code = ""

for line in lines:
    code += line

#해당 파일의 내용 출력
print("=====================================================================")
print("<< ", fName, " >> \n")
print(code)
print("=====================================================================")

code += "\n"
messages = []

while True:
    content = input("Users('q' to quit): ")
    if content == 'q':
        break
    messages.append({"role":"user", "content":code + content})

    completion = openai.ChatCompletion.create(
        model = "gpt-3.5-turbo",
        messages = messages,
        max_tokens = 2048,  # 생성할 최대 토큰 수
        temperature = 0.1
    )

    chat_response = completion.choices[0].message.content
    print(f'ChatGPT: {chat_response}')
    messages.append({"role":"assistant", "content":chat_response})

이 코드는 변환시킬 코드가 작성되어 있는 파일명을 입력받고, 해당 파일 속 코드를 출력하여 user가 다시 한번 코드를 확인할 수 있게 한다.

그 다음 user는 이 코드를 C코드로 변환시켜달라는 요구를 하면, ChatGPT는 해당 파일 속 코드를 C언어로 변환하여 제공해준다.

 

 

3. 실행 결과

파일 test_python.py를 열어 코드를 읽고, 해당 코드를 C언어로 바꿔달라는 요구를 한다.

ChatGPT는 해당 코드를 C언어로 변환하여 제공해준다.

'CNUproject > 코드 동일성 검사 도구' 카테고리의 다른 글

11_LLVM IR  (0) 2023.07.19
10_Python to C  (0) 2023.07.14
8_창의 축전 대회 후기  (0) 2023.07.06
7_Symbolic Execution 체험해보기(조건문 코드)  (0) 2023.05.19
6_Symbolic Execution, Z3 체험해보기  (0) 2023.05.12