Open AI를 활용하면 자연어 기반으로도 쉽게 코드 생성이 가능하고, 코드의 수정과 리팩토리 쉽게 가능합니다.
김수진 강사님
Azure OpenAI는 자연어를 기반으로 프로그래밍 코드를 생성하고, 기존 코드를 분석 및 개선하며, 개발 과정을 지원할 수 있는 강력한 도구입니다. 이를 활용하여 효율적인 개발 방법을 정리했습니다.
Codex 모델을 통해 GPT-4 등과 같은 모델에서 자연어로 코드를 작성 가능.
예시:
프롬프트: Write a function for binary search in Python.
결과: Python으로 작성된 이진 탐색 함수가 생성됩니다.
기존 코드를 다른 프로그래밍 언어로 변환 가능.
예시:
프롬프트: Convert this Python code to C#.
익숙하지 않은 언어로 작성된 코드를 이해할 수 있도록 설명 요청 가능.
프롬프트: Could you explain what this code is doing?
주석과 함수 이름만으로 코드의 나머지 부분을 완성.
단위 테스트를 자동으로 생성하여 코드 안정성 향상.
프롬프트: Write three unit tests for this function.
코드의 오류를 식별하고 수정하며, 성능을 최적화.
프롬프트: Fix the bug in this function.
가독성과 유지보수를 위해 코드 구조 개선.
예시:
중복 코드 제거, 함수 분리, 복잡한 조건문 단순화.
# Prompt: Add comments to this function
def factorial(n):
if n == 0: # Base case: factorial of 0 is 1
return 1
return n * factorial(n - 1) # Recursive case: n * (n-1)!
# Prompt: Fix the bug in this function
def divide_numbers(a, b):
try:
result = a / b
return result
except ZeroDivisionError:
return "Cannot divide by zero."
REST API를 사용해 Azure OpenAI와 통신하며 이미지 또는 코드를 생성.
예제:
curl -X POST https://<endpoint>/openai/deployments/<deployment>/completions \
-H "Content-Type: application/json" \
-H "api-key: <api_key>" \
-d '{"prompt": "Write a Python function for bubble sort.", "max_tokens": 100}'
chatGPT를 주로 SQL 코드 수정시 사용한 경험은 있었지만
파이썬과 javascrpit, gradio 이번에 제대로 활용하게 됐습니다.
소감은 초반은 60~70%까지는 혁신적으로 빠르게 구현할 수 있지만, 마지막 10~20%를 채우기 위해서는 개인의 해당 언어 활용 역량이 뛰어나야함을 깨달았습니다.
해당 언어에 대한 기본지식이 있는 상황에서
원하는 목표가 구체화됐을 때
OpenAI를 활용한다면
기존과 비교불가의 역량을 갖게 됩니다.
Azure OpenAI를 활용하면 코딩의 효율성을 크게 향상할 수 있습니다. 특히, 반복적인 작업을 줄이고 창의적이고 효율적인 코드 생성 및 개선을 지원합니다.