2023년 4월 19일

php 로 챗GPT api 사용방법. 라이브러리 그딴거 없이 누구나 쉽게

진짜 최고로 간단하게 만들어 봤습니다.

나의 php소스코드 윗부분에 다음의 함수를 붙여넣는다.  API키만 내가 받은걸로 넣기.


function fnGPTComment($memo) {  
    $api_key = '나의 API키';
    $url = "https://api.openai.com/v1/completions";

    // "What is the capital of France?"
    $prompt = filter_var($memo, FILTER_SANITIZE_STRING);

    $data = array(
        "model" => "text-davinci-003",  
        "prompt" => $prompt,
        "max_tokens" => 3000,
        "temperature" => 0.5,
    );

    $data_string = json_encode($data);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type: application/json",
        "Authorization: Bearer $api_key",
        "Content-Length: " . strlen($data_string))
    );

    $output = curl_exec($ch);
    curl_close($ch);

    $output_json = json_decode($output, true);
    return $output_json["choices"][0]["text"];
}


그리고 GPT의 대답을 듣고 싶은부분에서 함수를 호출


$prompt = 'GPT한테 하고싶은말을 주저리주저리 쓰고';
$comment_memo = fnGPTComment( $prompt );
echo $comment_memo; // GPT 가 보내온 문장을 화면에 보여줌


2023년 4월 2일

PHP의 비트 연산자 (Bitwise) & | ^ ~ 활용하기

 비트 연산자는 일반적으로 이용되는건 아니고, 패리티 체크나, 데이터가 귀한 과거 시대의 유물로 종종 이용되긴하다.


예시이름결과
$a & $bAnd $a and $b 모두 1(참)일 경우 1
$a | $bOr (inclusive or) $a and $b 둘중 하나 이상 1(참)일 경우 1
$a ^ $bXor (exclusive or)$a 와 $b 다르면 1, 같으면 0
~ $aNot$a 값이 0이면 1, 1이면 0
$a << $bShift left$a 값을 $b 만큼 좌로 쉬프팅
$a >> $bShift right$a 값을 $b만큼 우로 쉬프팅
(예) Bitwise AND
0 & 5 를 했을 경우, ( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
1 & 5 를 했을 경우, ( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
2 & 5 를 했을 경우, ( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
4 & 5 를 했을 경우, ( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
8 & 5 를 했을 경우, ( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

(예)Bitwise Inclusive OR
0 & 5 를 했을 경우, ( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
1 & 5 를 했을 경우, ( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
2 & 5 를 했을 경우, ( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
4 & 5 를 했을 경우, ( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
8 & 5 를 했을 경우, (13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

(예) Bitwise Exclusive OR (XOR)
0 & 5 를 했을 경우, ( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
1 & 5 를 했을 경우, ( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
2 & 5 를 했을 경우, ( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
4 & 5 를 했을 경우, ( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
8 & 5 를 했을 경우, (13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)


연산자의 우선순위가 있어 외도치 않은 결과값이 나올수 있다.


결과
$a & $b == true
$b == true 인지 판단한 뒤, $a 와 BitAND 연산을 한다.
($a | $b) == true$a | $b 를 BitOr 연산한 뒤, 그 값이   true인지 확인한다.

추천 게시물

nVidia Jetson Orin Nano Developer Kit 8GB 설치 및 사용기 (AI서버)

 4일동안 삽질하다가 설치 성공 사례를 남깁니다. AI한테 물어보실봐도 모델과 현재 상황을 정확하게 인지 시켜줘야 제대로 대답을 하지 그냥 물어봐서는 저처럼 계속해서 삽질만 하게 될껍니다.   그럼 시작합니다. 사전에 알아야 할 내용 1.  JetPa...