최근에 알게 되었는데 GPT-3을 통해 인공지능이 대신 코딩해주는 기능이 있다고 하더라고요?
Python에서 호출한 open API 인 듯합니다.
죄다 영어라 모르겠어서 튜토리얼을 참고했습니다.
쭉 쭉 읽어보니 자사의 davinci002라는 모델을 이용해 AI 코딩에 대한 소개가 나오고
Python 기준 API 사용법에 대해 나와있습니다.
먼저 프로젝트를 깃허브에서 다운로드해옵니다.
git clone https://github.com/openai/openai-quickstart-python.git
그럼 프로젝트가 다운로드되는데
cd openai-quickstart-python
cp .env.example .env
뭐 quickstart폴더로 들어가. env.example 파일을. env 파일로 하나 더 복사하라고 합니다.
그대로 해준 후
SECRET KEY 값을 복사해서. env 파일의 OPENAI_API_KEY에 넣어줍니다.
이후 가상 환경(venv) 설정을 하긴 하는데 저는 건너뛰고 파이썬 모듈들을 설치해준 후 바로 실행해봤습니다.
python -m venv venv #가상환경 설정 저는 건너뜀
. venv/bin/activate #가상환경 실행 저는 건너뜀
pip install -r requirements.txt # 파이썬 모듈 한번에 설치
flask run
펫 이름을 지정하는 프로그램이 실행되었네요
아래 버튼은 이름을 무작위로 생성하는 듯하고요
해당 파일의 코드를 살펴보면 아래와 같습니다.
파일 코드
import os
import openai
from flask import Flask, redirect, render_template, request, url_for
app = Flask(__name__)
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Completion.create(model="text-davinci-002", prompt="Say this is a test", temperature=0, max_tokens=6)
@app.route("/", methods=("GET", "POST"))
def index():
if request.method == "POST":
animal = request.form["animal"]
response = openai.Completion.create(
model="text-davinci-002",
prompt=generate_prompt(animal),
temperature=0.6,
)
return redirect(url_for("index", result=response.choices[0].text))
result = request.args.get("result")
return render_template("index.html", result=result)
def generate_prompt(animal):
return """Suggest three names for an animal that is a superhero.
Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: {}
Names:""".format(
animal.capitalize()
)
코드를 살펴보셨다면 자신의 동물이 Cat, Dog 일 경우 지정된 이름을 출력한다는 걸 알 수 있습니다.
Cat을 입력했을 경우 위 코드 주석에 달린 값이 그대로 나옵니다.
보니까 Sharpclaw라는 이름이 직역하면 날카로운 발톱이고
애니메이션 캐릭터 주인공인가 보더라고요
주석에 나와있는 값이 나오지는 않았는데
어메이징 스파이더 독, 인크레더블 헐크 독 ㅋㅋ 어벤저스 강아지 이름이네
테스트를 사용하면 테스트 네임을 출력합니다.
여기까지 이 코드는 슈퍼히어로 동물 이름을 짓는 예시 프로그램으로써
OpenAI API에 대한 사용법에 대한 기초적인 예시라고 할 수 있습니다.
해당 OpenAI 모듈은 Python, Node.js 에서 라이브러리로 제공되고 있으며
모든 언어의 HTTP 요청을 통해 API와 상호작용 할 수 있다고 합니다.
언어별 OpenAI 라이브러리 사용법
Python
pip install openai
Node.js
npm install openai
라이브러리 설치 후 API에 대한 인증키를 사용해야 합니다.
인증키는 위 사이트에서 제공받을 수 있습니다.
이 API Key는 어디까지나 Secret KEY 임으로 공유나 외부 노출하지 않을 것을 권장합니다.
Python 패키지의 인증키 예시
import os
import openai
openai.organization = "org-S9bnWV4O9kqNmnrrEjNjO39L"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()
Node.js 패키지의 인증키 예시
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
organization: "org-S9bnWV4O9kqNmnrrEjNjO39L",
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.listEngines();
여기까지 OpenAI 라이브러리에 대한 Python과 Node.js에 대한 기초적인 사용법이었습니다.
코드 없는 개발이라니 괜찮은 기술인 듯합니다.
저도 영어로 된 공식 문서를 뒤져가며 배워본 건 이게 처음인 것 같은데
심심할 때마다 한 번씩 해봐야겠습니다.
참고
'개발&코딩' 카테고리의 다른 글
Github에 코드 원격으로 저장하고 관리하기 - Visual Studio Code (1) | 2022.10.10 |
---|---|
웹 서비스에 사용되는 언어와 프레임워크에 대한 요약 (0) | 2022.09.18 |
댓글