검색
검색
공개 노트 검색
회원가입로그인

[UCA수퍼컴아카데미] GPT-4o모델 텔레그램 메신저 연동 API 코딩--(3)

새로 나온 OpenAI GPT-4o모델로 턴 방식의 주거니 받거니식의 대화를 하게했다가 이번에는 텔레그램으로 옮겨타보았다.

텔레그램에서는 봇파더를 통해서 새로운 응답봇을 만들어야한다.

그러면 봇 토큰을 얻을 수 있고, 이걸 통해 파이썬으로 통신이나 제어가 가능하다.

botfather1

앞에서 GPT-4o모델 싱글턴 대화하기 -(1) 편에서 제공한 파이썬 코드를 이미 다운받은 분들은 응답을 받는 코드를 그대로 재활용 가능하다.

#openAI 키

client = OpenAI(

 **api_key = os.environ.get("GPT4_KEY")**

)

아래 코드는 그대로 재활용한다.

def generate_response(message):
  prompt = f'{message}'
  completion = client.chat.completions.create(
  model="gpt-4o",

  messages=[
    {
    "role": "system",
    "content": "답변은 한글로 써줘\\n"
    },
    {
    "role": "user",
    "content": f"{prompt} \\n"
    }
  ],

  temperature=0.5,
  max_tokens=4096,
  top_p=1,
  stream=False,
  stop=None,
)

result = completion.choices[0].message.content

return result
    

텔레그램 봇에게 파이썬 함수 출력 응답을 넘겨주는 부분을 코딩한다.

def answer_gpt4o(update, context):

message = update.message.text

response = generate_response(message)

print(response)

context.bot.send_message(chat_id=update.effective_chat.id, text=response)

마지막으로  bot에 핸들러를 추가하고 Polling을 실행시켜서 무한반복시킨다.

updater = Updater(token=YOUR_BOT_TOKEN, use_context=True)

dispatcher = updater.dispatcher

dispatcher.add_handler(CommandHandler('start', start))

dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, answer_gpt4o))

updater.start_polling()

파이썬 소스코드


# 아래는 파이썬 텔레그램 봇과 GPT-4o API를 연동하는 소스코드입니다. 
# 먼저, 필요한 모듈을 import합니다. 

import telegram
from openai import OpenAI
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import os


# 이제 텔레그램 봇을 초기화합니다. 
YOUR_BOT_TOKEN = "YOUR_BOT_TOKEN"
bot = telegram.Bot(token=YOUR_BOT_TOKEN)

#openAI
client = OpenAI(
    api_key = os.environ.get("GPT4_KEY")
)


def generate_response(message):
    prompt = f'{message}'
    
    completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "system",
            "content": "답변은 한글로 써줘\n"
        },
        {
            "role": "user",
            "content": f"{prompt} \n"
        }
    ],
    temperature=0.5,
    max_tokens=4096,
    top_p=1,
    stream=False,
    stop=None,
    )
    result = completion.choices[0].message.content
    return result

# 텔레그램 봇의 CommandHandler와 MessageHandler를 정의합니다. 


def start(update, context):
    context.bot.send_message(chat_id=update.effective_chat.id, text="안녕하세요, 챗봇입니다!")

def answer_gpt4o(update, context):
    message = update.message.text 
    response = generate_response(message)
    print(response)
    context.bot.send_message(chat_id=update.effective_chat.id, text=response)



# 이제 bot에 핸들러를 추가하고 Polling을 실행합니다. 
updater = Updater(token=YOUR_BOT_TOKEN, use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, answer_gpt4o))
updater.start_polling()


# GPT-4o모델을 사용해 챗봇에 자연어로 대화를 할 수 있습니다!

실제로 텔레그램에서 GPT-4o모델기반 응답을 하도록 운영을 해보자.

telegram1

HBM 고대역폭 메모리에 대해서 GPT-4o에게 물어보았다.

HBM(High Bandwidth Memory)은 고성능 컴퓨팅 및 그래픽 처리를 위해 설계된 고대역폭 메모리 기술입니다. HBM은 기존의 DDR 메모리보다 훨씬 높은 대역폭을 제공하면서도 전력 소모를 줄이는 것이 특징입니다. 다음은 HBM 메모리에 대한 주요 특징들입니다:

1. 고대역폭: HBM은 기존 메모리 기술에 비해 훨씬 높은 데이터 전송 속도를 제공합니다. 이는 특히 그래픽 카드, AI 가속기, 고성능 컴퓨팅(HPC) 등에서 중요한 역할을 합니다.

2. 3D 스태킹: HBM은 여러 개의 DRAM 다이를 수직으로 쌓아 올리는 3D 스태킹 기술을 사용합니다. 이를 통해 더 많은 메모리를 작은 공간에 집적할 수 있습니다.

3. 인터포저 사용: HBM은 메모리 다이와 CPU/GPU 다이를 연결하는 인터포저(interposer)를 사용합니다. 이 인터포저는 수천 개의 미세한 연결선을 통해 데이터 전송을 가능하게 하여, 높은 대역폭과 낮은 지연 시간을 제공합니다.

4. 전력 효율성: HBM은 고대역폭을 제공하면서도 전력 소모가 낮아, 모바일 장치나 전력 효율이 중요한 시스템에서도 유리합니다.

5. 응용 분야: HBM은 주로 그래픽 카드, AI 및 머신 러닝 가속기, 고성능 컴퓨팅 시스템, 데이터 센터 등에서 사용됩니다.

HBM의 최신 버전으로는 HBM2와 HBM2E가 있으며, 각각 대역폭과 용량이 향상되었습니다. HBM3도 개발 중으로, 더욱 향상된 성능과 효율성을 제공할 것으로 기대됩니다. ( - -> 이미 5세대인 HBM3E가 SK하이닉스에 의해 개발되어있다. )

이러한 특징들 덕분에 HBM은 고성능 및 고대역폭이 요구되는 다양한 응용 분야에서 중요한 역할을 하고 있습니다.

telegram2

이번에는 스냅드래곤X 엘리트 칩에 대해서 물어봤다.

올해 하반기 삼성에서 출시할 AI PC에 탑재될 최신형 칩이다.

스냅드래곤 X 엘리트(Snapdragon X Elite)는 퀄컴(Qualcomm)이 개발한 고성능 모바일 프로세서입니다. 이 칩은 주로 고급 스마트폰, 태블릿, 노트북 등 다양한 모바일 기기에 사용되며, 뛰어난 성능과 효율성을 제공합니다. 다음은 스냅드래곤 X 엘리트 칩의 주요 특징입니다:

1. 고성능 CPU: 최신 아키텍처를 기반으로 한 고성능 CPU 코어가 탑재되어 있어 멀티태스킹과 복잡한 작업을 원활하게 처리할 수 있습니다.

2. 강력한 GPU: 뛰어난 그래픽 성능을 제공하는 GPU가 포함되어 있어 게임, 그래픽 디자인, 동영상 편집 등 그래픽 집약적인 작업에 적합합니다.

3. AI 엔진: 인공지능(AI) 작업을 가속화하는 전용 AI 엔진이 탑재되어 있어, 얼굴 인식, 음성 인식, 이미지 처리 등의 AI 관련 기능을 빠르고 효율적으로 수행할 수 있습니다.

4. 5G 지원: 최신 5G 네트워크를 지원하여 초고속 데이터 전송과 낮은 지연 시간을 제공합니다. 이를 통해 더 나은 인터넷 경험과 빠른 다운로드 속도를 누릴 수 있습니다.

5. 저전력 설계: 배터리 효율성을 극대화하기 위해 저전력 설계가 적용되어 있어, 장시간 사용에도 배터리 수명이 길어집니다.

6. 고급 카메라 기능: 고해상도 사진과 동영상을 촬영할 수 있는 고급 카메라 기능을 지원하며, 이를 통해 더 나은 사진 및 비디오 품질을 제공합니다.

스냅드래곤 X 엘리트는 이러한 특징들 덕분에 사용자들에게 뛰어난 성능과 효율성을 제공하며, 다양한 모바일 기기에서 높은 만족도를 자랑합니다.

파이썬 GPT-4o 모델과 텔레그램 연동 소스코드 다운로드

https://download.blog.naver.com/open/e075fc465a6b6adef317754b7a9fe59c3e6d9043/Ptucd-ohwM7qKCN7puad4JGhmebKjU0Y0xPxhQCRjLeXXLCGOiRjrqRqg7zBhcY7HuvOnIf8_lqusDYPpldxtQ/bot66-GPT-4o-sample1.py

UCA수퍼컴퓨팅아카데미

ulsancoding.com

교육문의: 052-708-0001

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 565
heart
T
페이지 기반 대답
AI Chat