Tässä artikkelissa kerron kuinka voit luoda oman tekoälyagentin Telegram appiin hyödyntämällä OpenAI:n kielimallia.
Tekoälybotin rakentaminen Telegramiin ei varsinaisesti ole vaikeaa, mutta siinä on muutama vaihe, joiden toteuttaminen vaatii jonkin verran koodausosaamista tai vaihtoehtoisesti ChatGPT:n hyödyntämistä apuna. Luodaksesi oman tekoälyagentin Telegramiin, sinun täytyy muun muassa pystyttää palvelin mallin ajamiseen, koodata botti ja integroida se Telegramin omaan Bot API rajapintaan.
Vaihe 1: Valitse kielimalli
- Valitse sopiva kielimalli: Päätä, mitä GPT-mallia haluat käyttää (esim. GPT-3, GPT-4 jne.). Harkitse mallin kykyjä ja rajoituksia tarpeidesi mukaan.
- Hanki pääsy malliin: Jos käytät OpenAI:n GPT:tä, sinun täytyy rekisteröityä päästäksesi käsiksi OpenAI API:in. Muiden mallien kohdalla noudata tarjoajan ohjeita. Tässä ohjeessa käytetään OpenAI:n API-rajapintaa.
Vaihe 2: Luo kehitysympäristö
Tässä vaiheessa keskitytään kehitysympäristön valmisteluun, jotta voit kehittää ja testata Telegram-bottiasi.
2.1 Valmistele palvelin
- Valitse palveluntarjoaja: Valitse sopiva pilvipalvelu (kuten AWS, Google Cloud, Azure) tai varmista, että paikallinen palvelimesi täyttää vaatimukset (riittävä muisti ja prosessointiteho).
- Luo virtuaalikone: Luo uusi virtuaalikone (VM) valitsemallasi käyttöjärjestelmällä (suositeltava Linux, esim. Ubuntu).
- Konfiguroi palvelin: Asenna tarvittavat päivitykset ja turvatoimenpiteet. Varmista, että palvelimellasi on Python (vähintään versio 3.6) ja pip asennettuna. Linuxissa voit käyttää komentoja:
sudo apt update
sudo apt install python3 python3-pip python3-venv
2.2 Asenna tarvittava ohjelmisto
- Luo projektikansio: Luo kansio projektillesi palvelimellasi ja siirry siihen komennolla
mkdir projektin_nimi
jacd projektin_nimi
. - Luo virtuaaliympäristö: Suorita
python3 -m venv venv
luodaksesi uuden virtuaaliympäristön. Aktivoi se komennolla:source venv/bin/activate
Linuxissa tai.\venv\Scripts\activate
Windowsissa. - Asenna kirjastot: Asenna tarvittavat Python-kirjastot virtuaaliympäristöösi käyttämällä pip:ä. Tarvitset ainakin
requests
kirjaston API-kutsuja varten japython-telegram-bot
Telegram-botin kehittämiseen. Asenna ne komennolla:
pip install requests python-telegram-bot
Vaihe 3: Rekisteröi Telegram-botti
- Luo uusi botti: Ota yhteyttä BotFatheriin Telegramissa etsimällä @BotFather. Lähetä
/newbot
-komento ja seuraa ohjeita luodaksesi bottisi. Saat tokenin, jolla pääset käsiksi Telegram Bot API:in. - Muista API-tokenisi: Pidä BotFatherilta saamasi token tallessa, sillä tarvitset sitä API-pyyntöihin.
Vaihe 4: Kehitä botti
Tässä osiossa käydään läpi yksityiskohtaisemmin, miten voit kehittää Telegram-bottisi, joka käyttää GPT-mallia vastausten generoimiseen.
4.1 Perusta Python-skripti
- Luo Python-tiedosto: Luo uusi tiedosto nimeltä
bot.py
tai mikä tahansa haluamasi nimi. - Alusta Python-ympäristö: Varmista, että sinulla on Python asennettuna. Voit käyttää virtuaaliympäristöä eristämään projektisi riippuvuudet käyttämällä
python -m venv venv
ja aktivoimalla sensource
venv/bin/activate
(Linux/macOS) tai.\venv\Scripts\activate
(Windows).
4.2 Käytä Telegram Bot API:a
Asenna python-telegram-bot
: Asenna tämä kirjasto käyttämällä komentoa pip install python-telegram-bot
hallitaksesi Telegram Bot API:n kanssa kommunikointia helpommin.
Alusta Bot API: Luo bot-olio käyttämällä saamaasi API-tokenia seuraavasti:from telegram.ext import Updater updater = Updater(token='YOUR_TOKEN_HERE', use_context=True) dispatcher = updater.dispatcher
Luo käsittelijät: Käsittelijät ovat funktioita, jotka määrittelevät, miten erilaisiin viesteihin reagoidaan. Voit esimerkiksi luoda komentokäsittelijän ja tekstiviestikäsittelijän:from telegram.ext import CommandHandler, MessageHandler, Filters def start(update, context): context.bot.send_message(chat_id=update.effective_chat.id, text="Hei! Olen GPT-bot.") start_handler = CommandHandler('start', start) dispatcher.add_handler(start_handler) def handle_message(update, context): user_message = update.message.text # Tähän tulee logiikka viestin lähettämiseksi GPT-mallille ja vastauksen käsittely response_message = "Tämä on vastaus viestiisi." context.bot.send_message(chat_id=update.effective_chat.id, text=response_message) message_handler = MessageHandler(Filters.text & (~Filters.command), handle_message) dispatcher.add_handler(message_handler)
Käynnistä botti: Käynnistä bottisi kuuntelemaan viestejä käyttämällä updater.start_polling()
ja lisää lopuksi
updater.idle()
odottamaan SIGINT, SIGTERM tai SIGABRT signaaleja, jotta botti pysähtyy “siististi”.
4.3 Integroi GPT-malli
GPT API-pyyntö: Jos käytät esimerkiksi OpenAI:n GPT-3 mallia, sinun tulee tehdä HTTP-pyyntöjä OpenAI:n API:in. Asenna ensin tarvittavat kirjastot, kuten requests
, komennolla pip install requests
.
Lähetä ja vastaanota dataa: Muokkaa handle_message
-funktiota siten, että se lähettää käyttäjän viestin GPT-malliin ja käyttää mallin vastausta viestinä käyttäjälle.
import requests def handle_message(update, context): user_message = update.message.text openai_response = requests.post( "https://api.openai.com/v4/completions", headers={"Authorization": "Bearer YOUR_OPENAI_API_KEY"}, json={ "model": "text-davinci-003", "prompt": user_message, "temperature": 0.7, "max_tokens": 150 } ).json() response_message = openai_response['choices'][0]['text'].strip() context.bot.send_message(chat_id=update.effective_chat.id, text=response_message)
Muista korvata "YOUR_OPENAI_API_KEY"
oikealla API-avaimellasi.
4.4 Testaa ja debuggaa
- Testaa bottiasi: Suorita
bot.py
-tiedosto ja testaa bottisi toimintaa lähettämällä sille viestejä Telegramissa. Tarkkaile virheitä ja säädä logiikkaa tarpeen mukaan. - Debuggaa: Jos kohtaat ongelmia, tarkista lokeista virheilmoitukset ja varmista, että API-avaimet ja endpointit ovat oikein.
Näiden ohjeiden avulla voit luoda perustoiminnallisuudet Telegram-bottiisi, joka käyttää GPT-mallia viestien käsittelyyn ja vastausten generointiin. Muista, että bottisi toiminnallisuutta ja käyttäjäkokemusta voi aina parantaa.
Vaihe 5: Julkaise bottisi
Kun olet kehittänyt ja testannut Telegram-bottisi paikallisesti, on aika siirtää se tuotantoympäristöön ja pitää se käynnissä jatkuvasti.
5.1 Testaa bottiasi paikallisesti
- Suorita Bottisi: Käynnistä bottisi suorittamalla
python bot.py
komento projektikansiossasi. Varmista, että virtuaaliympäristö on aktiivinen. - Testaa Toiminnallisuus: Lähetä viestejä ja komentoja botillesi Telegramissa ja varmista, että se vastaa odotetulla tavalla.
5.2 Vie skriptisi tuotantoon
- Valitse hosting palvelin tai “isännöinti”: Jos et vielä ole tehnyt sitä, valitse palvelin, jossa bottisi tulee pyörimään. Varmista, että olet asentanut kaikki tarvittavat riippuvuudet myös tuotantopalvelimelle.
- Siirrä koodisi: Käytä
git
taiscp
(secure copy) siirtääksesi bottisi koodin paikallisesta ympäristöstä tuotantopalvelimelle. - Aseta ympäristömuuttujat: Aseta tarvittavat ympäristömuuttujat tuotantopalvelimella, kuten Telegram-botin API-token.
- Käytä prosessinhallintaa: Asenna
pm2
,supervisor
tai vastaava työkalu pitämään bottisi käynnissä taustalla. Esimerkiksipm2
voidaan asentaa ja käyttää seuraavasti:npm install pm2 -g pm2 start bot.py --name telegram-bot
Tämä komento käynnistää bottisi ja pitää sen käynnissä prosessina nimellä “telegram-bot”.
5.3 Aseta Webhooks (Valinnainen)
Jos bottisi saa paljon liikennettä, webhooksin käyttö voi olla tehokkaampaa kuin aktiivinen kysely (polling).
- Määritä webhook: Aseta webhook käyttämällä Telegram Bot API:a lähettämällä pyyntö
setWebhook
-metodilla ja antamalla URL, johon Telegram lähettää päivitykset. - Käsittele päivitykset: Varmista, että bottisi on valmis vastaanottamaan ja käsittelemään saapuvia HTTP POST -pyyntöjä osoitteessa, jonka määritit webhookille.
Ylläpito ja päivitykset
- Seuraa logeja: Pidä silmällä bottisi logeja havaitaksesi mahdolliset ongelmat nopeasti.
pm2
tarjoaa logien hallintatyökaluja komennollapm2 logs
. - Päivitä bottisi: Pidä bottisi ja sen riippuvuudet ajan tasalla. Testaa kaikki päivitykset ensin kehitysympäristössä ennen tuotantoon siirtämistä.
Näiden ohjeiden avulla voit valmistella kehitysympäristösi, kehittää Telegram-bottisi, testata sen toiminnallisuuden ja lopulta siirtää sen tuotantoympäristöön. Muista, että bottisi ylläpito ja päivitykset ovat tärkeitä sen pitkäaikaisen toimivuuden kannalta.