๋ณธ๋ฌธ
[์ค์ต] Telegram AI ์ฑ๋ด ๋ง๋ค๊ธฐ (๋ก์ปฌPC)
๐ค AI/๐ ์ค์ต(Hands-on Labs) 2024. 3. 25. 14:08
๋ฐ์ํ
โ ์ค์ต ์ค๋น๋ฌผ: apikey
https://server-engineer.tistory.com/983
ChatGPT๋ก ์ง์์๋ต ๋ฐ DALLE.2 ๋ชจ๋ธ๊ธฐ๋ฐ ๊ทธ๋ฆผ์ ๊ทธ๋ ค์ฃผ๋ AI ์ฑ๋ด์ ๋ง๋ค์ด๋ณด์
โ
๋์ ์์
- python script(telegramebot.py)๋ฅผ ์คํํ์ฌ FastAPI ์๋ฒ๋ฅผ ์์ฑํ๋ค.
- fastapi ๋จ๋ ์ผ๋ก๋ ์น๊ฐ๋ฐ์ ํ ์ ์๋ค. ๋ฐ๋ผ์ ๋น๋๊ธฐ ์๋ฒ๋ฅผ ์์ฑํ๋ uvicorn์ ์ถ๊ฐ๋ก ์ค์นํ๋ค.
- pip install fastapi
- pip install 'uvicorn[standard]'
- p.s. FastAPI, Uvicorn์ผ๋ก ๋น๋๊ธฐ ์น์๋ฒ ๋์ฐ๊ธฐ: https://bit.ly/fastapi-and-uvicorn
- ngrok๋ฅผ ์ด์ฉํด์ '์ธ๋ถ์์ ๋ก์ปฌ์๋ฒ๋ก ์ ์ํ๊ธฐ ์ํ ์ฃผ์๋ฅผ ๋ฐ๊ธ' ๋ฐ๋๋ค.
- ngrok ์ฌ์ฉ๋ฐฉ๋ฒ(์ธ๋ถ์์ Localhost ์ ์ํ๋ ๋ฐฉ๋ฒ): https://bit.ly/about-ngrok
- ๋ฐ๊ธ๋ฐ์ ์ฃผ์๋ฅผ telegram api์ ์นํ
๊ณผ ์ฐ๊ฒฐํ๋ค.
- telegram api์ ์นํ ์ ์ฌ์ฉํ์ฌ ํ ๋ ๊ทธ๋จ ์๋ฒ์ ๋ก์ปฌ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ๋ค.
โ
service spec
- fast api, ngrok, telegram api
- langchain, gpt-3.5-turbo, gpt-DALL.E 2
โ ๏ธ ์ ์์ฌํญ
์ค์ต์ ์งํํ๋ ค๋ฉด PC๋ ๊ฐ์ธ ํด๋์ ํ์์ ํ
๋ ๊ทธ๋จ์ ์ค์นํ๊ณ , ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ์ด ์๋ฃ๋ ์ํ์ฌ์ผ ํฉ๋๋ค.
๐โ๏ธ ๋ฐ๋ผํ๊ธฐ
https://github.com/i-am-shuan/LLM-telegram-chatbot/tree/main
- telegram api ๊ฐ์ด๋: https://core.telegram.org
- python tutorial bot: https://gitlab.com/Athamaxy/telegram-bot-tutorial/-/blob/main/TutorialBot.py
- ํ ๋ ๊ทธ๋ ์์ 'botfather'๋ฅผ ์ถ๊ฐํ๋ค.
- ์๋ก์ด ์ฑ๋ด์ ์์ฑํ๋ค: /newvot
- 'bot'์ผ๋ก ๋๋๋ ์ฑ๋ด ์ ๋ ฅํ์ฌ ์๋ก์ด ์ฑ๋ด์ ์์ฑํ๋ค.
- ๋ฐ๊ธ๋ฐ์ access token ์ ๋ณด๋ฅผ ๋ณด๊ดํ๋ค.
- ํ
๋ ๊ทธ๋จ API URL ์์: https://api.telegram.org/bpt<token>/METHOD_NAME
- ๋ฉ์ธ์ง ์ ์ก: https://api.telegram.org/bot<token>/sendMessage
- ์ฌ์ง ์ ์ก: https://api.telegram.org/bot<token>/sendPhoto
๐ ๊ฒฐ๊ณผ
- GPT์๊ฒ ์ง๋ฌธํ๊ธฐ
- ๋ช ๋ น์ด: /ask
- DALL-E์๊ฒ ์ด๋ฏธ์ง ์์ฑ ์์ฒญํ๊ธฐ
- ๋ช ๋ น์ด: /img
๋ฐ์ํ
๋๊ธ