• webmini life skin Ver 1.3.2 update view
  • 사이트 제작 문의 오랜 경험을 바탕으로 웹퍼블리싱을 해드립니다 제작 문의하기
  • 블로그 리뷰 문의 검색엔진최적화로 제품 리뷰를 해드립니다 리뷰 문의하기
IT/AI,IOT

[AI]카카오톡으로 chat GPT 가져오기 (메신저봇 사용) - 개선된 버전

by 빽짱구 2024. 9. 3.

ChatGPT

 

기존 버전에서 개선된 버전입니다. 

https://webmini.tistory.com/1080 (기존버전)

 

[AI]카카오톡으로 chat GPT 가져오기 (메신저봇 사용)

요새 chat GPT가 대세죠.현재는 GPT를 통해 다양하게 이용중인데요. 저역시 업무간에 코드오류 체크, 생성등 너무 효율적으로 잘사용하고 있습니다. GPT란GPT는 "Generative Pre-trained Transformer"의 약

webmini.tistory.com

셋팅 방법은 위에 게시글을 참고해주시고, 코드만 아래 내용으로 변경하시면 됩니다.

개선된 코드

const scriptName = "GPT";

let key = "API 입력"; // OpenAI 사이트에서 발급받은 API 키 입력

function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) {
    if (msg.startsWith(".챗 ")) {
        let cmd = msg.substr(3).trim(); // 명령어 이후의 메시지를 가져옴
        if (cmd.length > 0) {
            replier.reply("[GPT 응답]\n" + getResponse(cmd));
        } else {
            replier.reply("명령어 뒤에 텍스트를 입력해주세요.");
        }
    }
}

function getResponse(msg) {
    let result = "";
    let data = {
        "model": "gpt-3.5-turbo", // 원하는 모델을 입력하세요.
        "messages": [{"role": "user", "content": msg}], 
        "temperature": 0, 
        "max_tokens": 1024,
        "top_p": 1, 
        "frequency_penalty": 0.0, 
        "presence_penalty": 0.0
    };

    try {
        let response = org.jsoup.Jsoup.connect("https://api.openai.com/v1/chat/completions")
            .header("Content-Type", "application/json")
            .header("Authorization", "Bearer " + key)
            .requestBody(JSON.stringify(data))
            .ignoreContentType(true)
            .ignoreHttpErrors(true)
            .timeout(20000) // 타임아웃 20초로 설정
            .post();
        
        let resultJson = JSON.parse(response.text());
        
        if (resultJson.choices && resultJson.choices.length > 0) {
            result = resultJson.choices[0].message.content.trim();
        } else {
            result = "GPT로부터 유효한 응답을 받지 못했습니다.";
        }
    } catch (e) {
        result = "오류가 발생했습니다: " + e;
    }

    return result;
}

 

"model": "gpt-3.5-turbo", // 원하는 모델을 입력하세요.

위에 부분을 아래 모델 종류를 참고해서 원하는 모델로 넣어주세요. ex) gpt-4-turbo

참고로 gpt-3.5-turbo 모델은 2022년 데이터가 마지막입니다. 그이후에 벌어진 일을 물어보면 모릅니다.

반응형

요금 한도 가이드

https://platform.openai.com/docs/guides/rate-limits

 

모델 종류 및 limit 보기

더보기
Model Token limits Request and other limits Batch queue limits
gpt-4o
10,000 TPM
3 RPM
200 RPD
90,000 TPD
gpt-4o-mini
60,000 TPM
3 RPM
200 RPD
200,000 TPD
gpt-3.5-turbo
40,000 TPM
3 RPM
200 RPD
200,000 TPD
gpt-4
10,000 TPM
3 RPM
200 RPD
100,000 TPD
gpt-4-turbo
10,000 TPM
3 RPM
200 RPD
100,000 TPD

모델별 특징

이 모델들은 모두 OpenAI가 개발한 언어 모델들이지만, 성능, 크기, 용도에서 차이가 있습니다. 각각의 모델에 대해 자세히 살펴보겠습니다.

1. GPT-4o

  • 특징: GPT-4o는 GPT-4의 경량화된 버전입니다. GPT-4o는 성능을 유지하면서도 더 적은 자원으로 동작할 수 있도록 최적화된 모델입니다.
  • 용도: 자원이 제한된 환경에서 사용될 수 있으며, 여전히 높은 성능을 요구하는 애플리케이션에 적합합니다.

2. GPT-4o-mini

  • 특징: GPT-4o-mini는 GPT-4o보다 더 작은 버전으로, 더욱 경량화되어 자원 효율성이 높습니다. 성능은 다소 낮을 수 있지만 빠른 응답 시간과 적은 자원 사용이 가능합니다.
  • 용도: 매우 자원이 제한된 환경에서 간단한 작업을 처리하는 데 적합합니다.

3. GPT-3.5-turbo

  • 특징: GPT-3.5-turbo는 GPT-3.5의 최적화된 버전으로, 기존 GPT-3.5보다 더 빠르고 비용 효율적입니다. 성능은 GPT-3.5와 비슷하거나 약간 개선된 수준입니다.
  • 용도: 대화형 AI와 같은 실시간 애플리케이션에서 사용되며, 적절한 성능과 비용 효율성을 제공합니다.

4. GPT-4

  • 특징: GPT-4는 GPT-3.5의 후속 모델로, 보다 정교한 언어 이해와 생성 능력을 제공합니다. 파라미터 수가 많아 더 복잡한 작업을 처리할 수 있습니다. GPT-4는 여러 언어로 더욱 자연스러운 대화가 가능하며, 컨텍스트를 더 잘 이해합니다.
  • 용도: 복잡한 언어 작업, 고급 분석, 창의적 글쓰기, 그리고 멀티턴 대화와 같은 고급 애플리케이션에 적합합니다.

5. GPT-4-turbo

  • 특징: GPT-4-turbo는 GPT-4의 최적화된 버전으로, 동일한 크기의 모델이지만 속도와 비용 면에서 더 효율적입니다. OpenAI는 이 모델이 실제로 GPT-4보다 빠르고 비용이 적게 드는 것으로 설명합니다.
  • 용도: GPT-4의 성능을 유지하면서도 비용과 속도에서 효율성을 추구하는 애플리케이션에 적합합니다.

요약

  • GPT-4는 가장 강력한 모델로 복잡한 작업에 적합합니다.
  • GPT-4-turbo는 GPT-4와 유사한 성능을 제공하면서도 더 빠르고 저렴하게 사용할 수 있습니다.
  • GPT-4o는 경량화된 버전으로, 적은 자원으로도 높은 성능을 유지할 수 있습니다.
  • GPT-4o-mini는 자원이 매우 제한된 환경에서 사용할 수 있는 소형 버전입니다.
  • GPT-3.5-turbo는 더 빠르고 비용 효율적인 GPT-3.5로, 실시간 대화형 AI 등에 적합합니다.

제대로 동작을 안할경우 잔액이 있는지 보시고, 없으면 충전해서 사용하시면 됩니다.

https://platform.openai.com/settings/organization/billing/overview

 

기존에 개인 API키를 넣었다면, 프로젝트 API키를 생성해서 넣으셔도 됩니다. (프로젝트 키로 변경되었습니다.)

728x90