이번주에는 ChatGPT에게 파이썬 코드를 제공한 후 C언어로 변환을 요구하고 얻은 C코드가 처음 제공했던 파이썬 코드와 동일한지 검사하기 위해 일단 ChatGPT API를 사용하여 파이썬에서 질문을 하고 답변을 얻어내는 코드를 작성해보았다.
1. Openai에서 API 키 발급받기
https://openai.com/ 해당 사이트에 들어가서 로그인을 하고, API key를 발급 받는다. (오른쪽 상단 프로필 > View API keys)
현재는 무료 체험을 사용 중이라 사용 기한이 정해져있다.
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 |