본 포스팅은 그누보드 컨텐츠몰에서 판매하는 OpenAI API 통신 클래스의 함수 설명을 위한 페이지 입니다.
[OPEN API 통신 클래스](https://sir.kr/cmall/1718185825)
압축 파일을 해제하면 /source/lib 폴더안에 copenai.lib.php 파일이 존재합니다.
파일 안에는 아래와 같은 구조의 클래스가 선언되어있답니다.
class OpenAIApiUtf8 {
function __construct($key,$apiURL = 'https://api.openai.com/v1/chat/completions');
public function send($strData,$strBeforeQuestion="",$strAssistant="",$maxLength=3000,$model='35t');
public function generateImage($prompt, $model = '3', $imgsize = '1024x1024');
function ChangeAPIKey($key);
}
각 함수의 기능을 설명해드리겠습니다.
class OpenAIApiUtf8
생성자 : function __construct($key,$apiURL = 'https://api.openai.com/v1/chat/completions')
OpenAIApiUtf8 클래스는 OpenAI의 GPT나 DALL-E API를 쉽게 이용하기 위한 클래스입니다.
매게변수
$key | OpenAI에서 발급받은 API키를 입력해주시면 됩니다. |
$apiURL | OpenAI에서 GPT와 연결할 사이트 주소로 생략이 가능합니다. 기본 값은 ‘https://api.openai.com/v1/chat/completions’입니다. |
아래와 같이 선언하여 사용할 수 있습니다.
$cOpenAI = new OpenAIApiUtf8("발급받은 APIKEY");
ChangeAPIKey
함수 원형 : function ChangeAPIKey($key)
이 함수는 OpenAIApiUtf8 클래스를 생성할 때 설정한 API를 변경할 때 이용합니다.
매게변수
$key | OpenAI에서 발급받은 API키를 입력해주시면 됩니다. |
예제
$cOpenAI->ChangeAPIKey("발급받은 APIKEY");
send
함수 원형 : public function send($strData,$strBeforeQuestion="",$strAssistant="",$maxLength=3000,$model='35t');
send 함수는 OpenAI API를 이용해 질문을 보내고 답변을 받아오는 기능을 수행합니다.
매게변수
변수명 | 기본값 | 기능 |
$strData | – | GPT에게 하고 싶은 질문을 하면 됩니다. |
$strBeforeQuestion | “” | GPT와 대화를 이어가고 싶을 때 이전 질문을 입력하면 됩니다.(생략가능) |
$strAssistant | “” | GPT와 대화를 이어가고 싶을 때 이전 질문의 답변을 입력하면 됩니다.(생략가능) |
$maxLength | 3000 | 가져올 답변의 최대 토큰수를 입력하면 됩니다.(생략가능) |
$model | ’35t’ | GPT 모델을 지정해주면 됩니다.(생략가능) 35t : GPT-3.5 Turbo 4o : GPT-4o 45t : GPT-4 Turbo 45 : GPT-4 |
예제
print_r( $cOpenAI->send("다음은 무슨 과일에 대한 설명일까? 동그랗고 빨개.") );
// GPT-4o로 대화를 원할 경우
print_r( $cOpenAI->send("다음은 무슨 과일에 대한 설명일까? 동그랗고 빨개.", "", "", 3000, '4o') );
generateImage
함수 원형 : public function generateImage($prompt, $model = '3', $imgsize = '1024x1024');
Dall-E를 이용해 이미지를 그리고 싶을 때 이용하는 함수입니다.
이 함수를 이용해 이미지를 그려달라고 요청하면 그려진 이미지의 URL이 반환됩니다.
매게변수
변수명 | 기본값 | 기능 |
$prompt | – | Dall-e에게 요청할 그림 프롬프트입니다. |
$model | ‘3’ | Dall-E 버전을 설정할 수 있습니다.(생략가능) 3 : Dalle-3 2 : Dalle-2 |
$imgsize | ‘1024×1024’ | 이미지 크기를 설정할 수 있습니다.(생략가능) |
예제
print_r( $cOpenAI->generateImage("하늘을 나는 자동차를 그려줘.") );
// Dall-e2로 그림을 그리기 원하는 경우
print_r( $cOpenAI->generateImage("하늘을 나는 자동차를 그려줘.", "2", "900x900") );
이상 OpenAI 통신 클래스에 대한 설명을 마치도록 하겠습니다.
감사합니다.