[UCA수퍼컴아카데미] GPT-4o모델 텔레그램 메신저 연동 API 코딩--(3)
새로 나온 OpenAI GPT-4o모델로 턴 방식의 주거니 받거니식의 대화를 하게했다가 이번에는 텔레그램으로 옮겨타보았다.
텔레그램에서는 봇파더를 통해서 새로운 응답봇을 만들어야한다.
그러면 봇 토큰을 얻을 수 있고, 이걸 통해 파이썬으로 통신이나 제어가 가능하다.
앞에서 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모델기반 응답을 하도록 운영을 해보자.
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은 고성능 및 고대역폭이 요구되는 다양한 응용 분야에서 중요한 역할을 하고 있습니다.
이번에는 스냅드래곤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 모델과 텔레그램 연동 소스코드 다운로드
UCA수퍼컴퓨팅아카데미
ulsancoding.com
교육문의: 052-708-0001