Monipuolinen AI-agentti python koodilla

Hei koodaajat! Minä olen Harri ja tervetuloa tekemään mun kanssa yhdessä AI-agentteja.

Katso ensin edellinen artikkeli Python-ympäristön asentamisesta omalle koneellesi, jos sinulla ei vielä ole Pythonia asennettuna.

Tässä projektissa rakennamme yhdessä älykkään AI-agentin, joka yhdistää useita tekoälypalveluita yhteen helppokäyttöiseen sovellukseen. Kyseessä on täydellinen Python-projekti aloittelijoista edistyneempiin koodaajiin.

Mitä teemme?

Luomme SmartAgentin – desktop-sovelluksen, joka osaa:

  • Keskustella useiden eri AI-mallien kanssa (ChatGPT, Claude, Gemini, jne.)
  • Käyttää äänikomentoja ja puhua takaisin
  • Ajastaa ja suorittaa tehtäviä automaattisesti
  • Hakea tietoa netistä ja YouTubesta
  • Lukea PDF-tiedostoja ja luoda raportteja
  • Kääntää tekstejä eri kielille

Projektin vaiheet

Ympäristön valmistelu

  • Python-riippuvuuksien kartoitus
  • Automaattinen asennusskripti
  • Ympäristön testaus

Perus-AI-agentti

  • Yksinkertainen ChatGPT-keskustelu
  • GUI tkinterillä
  • Web-haku ja PDF-luku

Äänominaisuudet

  • Puhesyntetisointi (teksti → puhe)
  • Puheentunnistus (puhe → teksti)
  • Herätyssana-aktivointi

Multi-AI tuki

  • Tuki useille AI-palveluille
  • API-avainten hallinta
  • Palvelun vaihto lennossa

Tehtävien ajastus

  • Kalenteripohjainen ajastus
  • Taustatehtävien suoritus
  • PDF-raporttien generointi
  • Tehtävien hallintapaneeli

Riippuvuuksien asentaminen ja asennusskripti

Tarvittavat Python-kirjastot (asennetaan yleensä pip install komennoilla)

Projektimme tarvitsee useita kirjastoja. Tässä ne kategorioittain:

Ydinkirjastot (PAKOLLISIA):

Äänominaisuudet:

Käännökset ja haku:

Tehtävien ajastus:

Lisä-AI-palvelut (valinnaiset):

Automaattinen asennusskripti

Jos haluat helpottaa riippuvuuksien asennusta, sä voit myös tehdä pienen Python-scriptin (ohjelman), joka kartoittaa sun koneen ja asentaa python kirjastot automaattisesti, kun sä käynnistät sen.

Asennus skripti, Python koodi:

Huom! Luo tämä tiedosto nimellä setup.py ja aja komennolla python setup.py:

Asennusskriptin käyttö

  1. Tallenna yllä oleva koodi nimellä setup.py
  2. Aja komentorivillä: python setup.py
  1. Seuraa tulostettuja ohjeita ja mahdollisia virheitä
  2. Korjaa manuaalisesti paketit jotka eivät asentuneet automaattisesti

Miksi tämä projekti on loistava oppimiskokemus?

Aloittelijoille:

  • Opit Python GUI-ohjelmoinnin perusteet
  • Näet miten API:ja käytetään käytännössä
  • Ymmärrät modulaarisen koodin rakentamisen

Edistyneemmille:

  • Monimutkaisen sovelluksen arkkitehtuuri
  • Async-ohjelmointi ja taustatehtävät
  • Virheiden käsittely ja robust-koodin kirjoittaminen

Kaikille:

  • Valmis työkalu omaan käyttöön
  • Helppo laajentaa uusilla ominaisuuksilla
  • Portfolio-projekti CV:hen

Seuraava askel

Kun olet ajanut asennusskriptin / tai asentanut tarvittavat kirjastot pip install komennoilla ja kaikki paketit on asennettu, olet valmis aloittamaan varsinaisen koodauksen!

Monipuolinen AI-agentti python koodilla:

Tehdään yhdessä monipuolinen AI-agentti, joka osaa:

  1. Tehdä web-hakuja
  2. Kommunikoida verkkopalvelujen kanssa (API)
  3. Lukea ja jäsentää PDF-dokumentteja
  4. Toimia ikkunasovelluksena (graafinen käyttöliittymä)

Käytämme tuttuja Python-kirjastoja: openai, requests, PyPDF2, tkinter ja webbrowser. Tässä koko agentin runko selityksineen:

Python koodi 3:

Mitä agentti osaa tehdä?

Selitykset peruskäyttäjille

  • openai.ChatCompletion.create käyttää kielimallia – syötät viestin, saat älykkään vastauksen.
  • webbrowser.open avaa Googlen haun selaimessa.
  • requests.get kutsuu verkkopalvelun (API), esim. säätiedot tai uutisfeedin.
  • PyPDF2 lukee PDF-tiedoston sisältä ja poimii tekstin.
  • tkinter luo ikkunan, jossa voit syöttää viestejä, klikata nappeja ja nähdä vastaukset.

Vielä hiukan kehittyneempi esimerkki Python koodilla:

Nyt päivitetään meidän monitoimi-AI-agentti niin, että se osaa:

  • Puhua ääneen käyttäjän kanssa (tekstistä puhetta)
  • Kääntää tekstiä eri kielille (esim. suomi ↔ englanti)
  • Hakea YouTube-videoita hakusanan perusteella

Käytettävät lisäkirjastot

Ennen käyttöä:

Asenna vielä lisäksi nämä kirjastot komennolla:

Python koodi 4:

Kuinka agentin uudet ominaisuudet toimivat?

Lisätään vielä puheentunnistus ja äänikomentoaktivointi mukaan python koodiin

Lisätään agentille puheentunnistus ja äänikomentoaktivointi – eli:

  1. Agentti kuuntelee puhetta ja muuntaa sen tekstiksi
  2. Agentti aktivoituu tietyllä “herätyssanalla”, kuten “Hei TekoBot”

Toteutetaan tämä Pythonissa käyttäen speech_recognition-kirjastoa:

Asennettavat lisäkirjastot

Huom: Windows-käyttäjillä pyaudio voi vaatia asennuksen binääristä. Jos tulee virhe, käytä valmiiksi koottua versiota esim. täältä: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio

Päivitetty agenttikoodi: puheentunnistus + herätyskomento

Lisätään nämä meidän aiempaan MultiToolAgent-luokkaan ja graafiseen käyttöliittymään:

Python koodi 5:

GUI-painikkeet (täydennys aiempaan käyttöliittymään):

Lisää nämä tk.Button(...)-rivit run_gui-funktioon:

    tk.Button(window, text="Kuuntele herätyssanaa", command=lambda:   
                      output.insert(tk.END, agent.listen())).pack()
    tk.Button(window, text="Muunna puhe tekstiksi", command=lambda: 
                      output.insert(tk.END, agent.speech_to_text())).pack()

Miten nämä toiminnot toimivat?

Mihin tätä voi käyttää?

  • Handsfree-käyttö → puhut agentille ilman näppäimistöä
  • Älykäs kodin agentti (pienellä säätämisellä )
  • Interaktiiviset esittelyt, koulutusohjelmat tai tapahtuma-agentit

Kehitetään vielä koodia hiukan paremmaksi:

1. Parempi arkkitehtuuri

  • Erotettu agentti-logiikka (AdvancedAIAgent) ja käyttöliittymä (AgentGUI)
  • Modulaarinen rakenne – helppo laajentaa uusilla ominaisuuksilla
  • Virheenkäsittely kaikissa funktioissa

2. Asetukset ja pysyvyys

  • Asetukset tallentuvat JSON-tiedostoon
  • Keskusteluhistoria säilyy ja voidaan tallentaa
  • API-avain tallennetaan turvallisesti

3. Käyttöliittymän parannukset

  • Selkeämpi, värillinen nappi-layout
  • Tilarivia joka näyttää mitä tapahtuu
  • Asetusikkuna API-avaimen ja herätyssanan muuttamiseen
  • Scroll-mahdollisuus pitkille vastauksille

4. Toiminnallisuuden laajennukset

  • Älykkäämpi herätyssana-toiminto
  • Automaattinen komennon kuuntelu herätyssanan jälkeen
  • Parempi PDF-luku sivunumeroilla
  • YouTube-haku näyttää useita tuloksia
  • API-kutsut paremmalla virheenkäsittelyllä

Miten agentti toimii:

Perusrakenne:

  1. AdvancedAIAgent-luokka – Agentin “aivot”
    • Hoitaa kaikki AI-toiminnot
    • Hallinnoi muistia ja asetuksia
    • Tarjoaa API:n eri toiminnoille
  2. AgentGUI-luokka – Käyttöliittymä
    • Luo visuaalisen käyttöliittymän
    • Yhdistää napit agentin toimintoihin
    • Hallinnoi käyttäjän syötteitä ja vastausten näyttämistä

Tärkeimmät ominaisuudet:

  • Keskustelu: Käyttää OpenAI GPT:tä älykkäisiin vastauksiin
  • Puhe: Muuttaa tekstin puheeksi
  • Kuuntelu: Muuttaa puheen tekstiksi
  • Herätyssana: Kuuntelee “Hei TekoBot” ja aktivoituu automaattisesti
  • Web-haku: Avaa Google-haun selaimessa
  • PDF-luku: Lukee PDF-tiedostoja ja näyttää sisällön
  • YouTube: Hakee videoita ja näyttää linkit
  • Käännös: Kääntää tekstiä eri kielille
  • API-kutsut: Hakee dataa ulkoisista palveluista

4. OpenAI API-avain

  1. Mene: https://platform.openai.com/api-keys
  2. Rekisteröidy jos tarvitsee
  3. Luo uusi avain (“Create new secret key”)
  4. Kopioi avain (alkaa sk-...)
  5. Käynnistä agentti ja klikkaa ⚙️-nappia
  6. Liitä avain asetuksiin

5. Jos pyaudio ei asennu (yleinen ongelma Windows):

Windowsille:

Vaihtoehtoisesti:


Sitten jos varsinainen AI-agentti.py tiedosto löytyy myös esimerkiksi C:\temp\ kansiosta, voidaan komentaa:

python AI-agentti.py

Graafinen Python ohjelma aukeaa ja Asetukset-painikkeesta voidaan asettaa OpenAI API-avain.

Ohjelma kuuntelee jo käyttäjää, jos painetaan Puhu-painiketta.

Muokataan koodia vielä niin, että voisi valita muitakin tekoäly api yhteyksiä kuin ChatGPT:

Kokeillaan tehdä Multi-AI agentti joka tukee useita AI-palveluita. Tässä mitä uutta lisättiin:

Tuetut AI-palvelut:

1. OpenAI

  • GPT-3.5-turbo, GPT-4, GPT-4-turbo
  • Tarvitsee: OpenAI API-avaimen

2. Groq

  • Llama 3 (70B/8B), Mixtral, Gemma
  • Tarvitsee: Groq API-avaimen
  • Erittäin nopea inference

3. Anthropic Claude

  • Claude 3 Haiku, Sonnet, Opus
  • Tarvitsee: Anthropic API-avaimen

4. Google Gemini

  • Gemini Pro, Gemini Pro Vision
  • Tarvitsee: Google AI API-avaimen

5. Ollama (Paikallinen)

  • Llama 3, Mistral, CodeLlama, Phi3, Qwen2
  • Ei tarvitse API-avainta, toimii paikallisesti
  • Asennus: ollama pull llama3

6. Cohere

  • Command-R, Command-R-Plus
  • Tarvitsee: Cohere API-avaimen

7. Hugging Face

  • DialoGPT, BlenderBot ja muut mallit
  • Tarvitsee: HF Token

8. Together AI

  • Llama 2, Mixtral ja muut avoimen lähdekoodin mallit
  • Tarvitsee: Together AI API-avaimen

Uudet ominaisuudet:

AI-palvelun valinta

  • Dropdown-valikko AI-palvelun valintaan
  • Automaattinen mallien listaus valitun palvelun mukaan
  • Reaaliaikainen vaihtaminen eri palveluiden välillä

Parannetut asetukset

  • Välilehtipohjainen asetusikkuna
  • API-avaimet kaikille palveluille
  • AI-parametrit (max_tokens, temperature)
  • Puhe-asetukset
  • Helpot linkit API-avainten hankkimiseen

Ollama-tuki

  • Paikallinen AI ilman API-avaimia
  • Tuki kaikille Ollama-malleille
  • Automaattinen yhteys localhost:11434

Asennusohjeet:

1. Peruspaketit

2. AI-palvelujen kirjastot (valinnaiset)

3. Ollama-asennus (paikallinen AI)

API-avainten hankkiminen:

Agentissa on suorat linkit kaikkien palveluiden API-avainten hankkimiseen:

  1. Klikkaa ⚙️ Asetukset
  2. “API-avaimet” -välilehti
  3. Klikkaa linkkejä → Avautuu selaimen kautta
  4. Kopioi API-avain ja liitä asetuksiin
  5. Tallenna

Käyttöönotto:

Ohjelma näyttää käynnistyessä mitkä AI-palvelut ovat saatavilla:

🚀 Käynnistetään Multi-AI Agentti...
Tuetut AI-palvelut:
  ✅ 🔑 OpenAI (GPT-3.5/4)
  ✅ 🔑 Groq (Llama/Mixtral)  
  ✅ 🆓 Ollama (Local)
  ❌ 🔑 Anthropic (Claude)
  ...

Vinkki: Mikä AI-palvelu valita?

  • Groq: Nopein vastaus, ilmainen tier
  • OpenAI: Laadukkaita vastauksia, maksullinen
  • Ollama: Täysin ilmainen, toimii offline
  • Claude: Hyviä pitkiä vastauksia
  • Gemini: Googlen malli, kohtuuhintainen

Voit vaihtaa AI-palvelua kesken keskustelun ilman että menetät keskusteluhistoriaa!

Python koodi 8:

Tallennetaan koodi taas esimerkiksi C:\temp\AI-agentti.py tekstitiedostoon.

Windows start valikossa, cmd, ja siirrytään kansioon; cd C:\temp komennolla ja käynnistetään ohjelma komennolla:

python AI-agentti.py

Smart AI-Agent 2.0 – vielä hiukan parannettu versio

Muokataan koodia vielä niin, että voit antaa ajastettuja (kalenterinäkymä) tehtäviä suoritettavaksi taustalle:

Luodaan ja näytetään lista näistä tehtävistä, ja niiden edistyminen. Lisätään koodiin myös .pdf generointi, valmistuneista tehtävistä. Lisätään napit, joista voi näyttää ja ladata valmistuneet tehtävät katseltavaksi.

Python koodi 9:

Uudet ominaisuudet:

Ajastetut tehtävät

  • Kalenterinäkymä tehtävien ajastamiseen (tkcalendar)
  • Toistuvat tehtävät (tunneittain, päivittäin, viikoittain, kuukausittain)
  • Reaaliaikainen seuranta tehtävien edistymisestä
  • Tehtävätyypit:
    • 💬 AI-keskustelu
    • 🌐 Web-haku
    • 🎬 YouTube-haku
    • 🌍 Käännös
    • 🔗 API-kutsu
    • 📄 PDF-luku
    • ⚙️ Mukautettu Python-komento

Tehtävien hallinta

  • Tehtävälista TreeView-komponentilla
  • Reaaliaikainen päivitys (5s välein)
  • Yksityiskohtaiset tiedot jokaisesta tehtävästä
  • Lokit tehtävien suorituksesta
  • Tehtävien poisto ja peruutus

PDF-raportointi

  • Automaattinen PDF-generointi valmiista tehtävistä
  • Yksityiskohtaiset raportit sisältäen:
    • Yhteenveto tilastoista
    • Tehtävien yksityiskohdat
    • Suoritusajat ja kestot
    • Tulokset ja virheet
    • Lokitiedot
  • Raporttien hallinta – lataa ja katsele vanhoja raportteja

GUI-parannukset

  • “📅 Tehtävien hallinta” -nappi pääikkunassa
  • “➕ Ajasta tehtävä” -pikakuvake
  • Raporttien selaus ja avaus suoraan sovelluksesta

Tarvittavat riippuvuudet:

Asenna nämä kirjastot saadaksesi kaikki ominaisuudet käyttöön:

bash

Käyttöohjeet:

  1. Luo tehtävä: Klikkaa “📅 Tehtävien hallinta” → “➕ Lisää tehtävä”
  2. Valitse ajankohta: Käytä kalenteria ja kellonaikaa
  3. Määritä parametrit: Syötä tehtävän tiedot (esim. AI-prompt)
  4. Seuraa edistymistä: Tehtävälista päivittyy automaattisesti
  5. Luo raportit: “📄 Luo raportti” -nappi generoi PDF:n
  6. Selaa raportteja: “📁 Näytä raportit” avaa raporttiselaimen

Tallennettavat tiedostot:

  • scheduled_tasks.json – Tehtävien tiedot
  • task_report_YYYYMMDD_HHMMSS.pdf – PDF-raportit
  • agent_settings.json – Agenttiasetukset

Järjestelmä toimii taustalla ja suorittaa tehtäviä automaattisesti aikataulun mukaan!

Keskeiset ominaisuudet:

  • Usean AI-palveluntarjoajan tuki – OpenAI, Anthropic, Google Gemini, Groq, Ollama, Cohere jne.
  • Tehtävien ajastus – Ajasta tehtävät käynnistymään tiettyinä aikoina, myös toistuvina
  • Graafinen käyttöliittymä – Moderni, tummasävyinen monivälilehtinen käyttöliittymä
  • Puheentunnistus ja -syntetisointi – Äänisyöte ja -lähtötoiminnot
  • PDF-käsittely – Lue PDF-tiedostoja ja luo raportteja
  • Haku verkossa ja YouTubessa – Sisäänrakennettu hakutoiminto
  • Käännöspalvelut – Tekstin käännöstuki
  • Tehtävien hallinta – Näytä, peruuta ja seuraa ajastettuja tehtäviä

Pääkomponentit:

  • SmartAgent – Ydintoiminnallisuudet: AI-keskustelu ja apuohjelmat
  • TaskScheduler – Hallitsee ajastettujen tehtävien suorittamista
  • SmartAgentGUI – Täydellinen käyttöliittymä keskusteluun, tehtävien hallintaan, ajastukseen ja asetuksiin
  • AIProviderManager – Hallitsee useita AI-palveluntarjoajia
  • PDFGenerator – Luo yksityiskohtaisia tehtäväraportteja

Sovelluksen käynnistäminen:

Sovellus käynnistyy graafisella käyttöliittymällä, jossa voit keskustella tekoälyn kanssa, ajastaa tehtäviä, hallita asetuksia ja tarkastella tehtäväraportteja. Kaikki ominaisuudet toimivat joustavilla vararatkaisuilla, jos jotkin valinnaiset riippuvuudet puuttuvat.

Käynnistys tapahtuu samalla komennolla esim. C:\temp\ kansiossa kuten ennenkin:

python AI-agentti.py

SmartAgent – älykäs apurisi

SmartAgent yhdistää useiden tekoälypalveluiden voiman yhteen helppokäyttöiseen ja moderniin käyttöliittymään. Voit keskustella tekoälyn kanssa, ajastaa ja hallita tehtäviä, hakea tietoa verkosta ja YouTubesta, kääntää tekstejä, käsitellä PDF-tiedostoja sekä käyttää puheentunnistusta ja -syntetisointia.

Olitpa sitten työnteossa, opiskelussa tai luovassa projektissa, SmartAgent auttaa sinua pysymään järjestyksessä ja saavuttamaan tavoitteesi.

Päätoiminnot lyhyesti:

  • Usean AI-palveluntarjoajan tuki (OpenAI, Anthropic, Google Gemini jne.)
  • Tehtävien ajastus ja hallinta
  • Moderni tumma käyttöliittymä
  • Äänisyöte ja -lähtö
  • PDF-luku ja raporttien luonti
  • Verkkohaku ja YouTube-haku
  • Tekstien käännökset

Seuraavaksi, voidaan kokeilla vaikka LinkedIn postausten automatisointia Agentilla