# 🚀 Moduuli 1: Microsoft Foundry Toolkit - Perusteet [![Duration](https://img.shields.io/badge/Duration-15%20minutes-blue.svg)]() [![Difficulty](https://img.shields.io/badge/Difficulty-Beginner-green.svg)]() [![Prerequisites](https://img.shields.io/badge/Prerequisites-VS%20Code-orange.svg)]() ## 📋 Oppimistavoitteet TĂ€mĂ€n moduulin lopuksi osaat: - ✅ Asentaa ja konfiguroida Microsoft Foundry Toolkit -laajennuksen VS Codeen - ✅ Selailla Malliluetteloa ja ymmĂ€rtÀÀ erilaisia mallilĂ€hteitĂ€ - ✅ KĂ€yttÀÀ Playgroundia mallin testaukseen ja kokeiluun - ✅ Luoda rÀÀtĂ€löityjĂ€ tekoĂ€lyagentteja Agent Builderin avulla - ✅ Verrata mallien suorituskykyĂ€ eri tarjoajien vĂ€lillĂ€ - ✅ Soveltaa parhaimpia kĂ€ytĂ€ntöjĂ€ kehotteiden suunnittelussa ## 🧠 Johdanto Microsoft Foundry Toolkitiin **Microsoft Foundry Toolkit -laajennus VS Codeen** on Microsoftin lippulaivalaajennus, joka muuttaa VS Coden kattavaksi tekoĂ€lykehitysympĂ€ristöksi. Se yhdistÀÀ tekoĂ€lytutkimuksen ja kĂ€ytĂ€nnön sovelluskehityksen, tehden generatiivisesta tekoĂ€lystĂ€ kaikkien kehittĂ€jien ulottuvilla olevan. ### 🌟 Keskeiset ominaisuudet | Ominaisuus | Kuvaus | KĂ€yttötapaus | |---------|-------------|----------| | **đŸ—‚ïž Malliluettelo** | Yli 100 mallia GitHubista, ONNX:stĂ€, OpenAI:sta, Anthropicista, Googlelta | Mallien etsiminen ja valinta | | **🔌 BYOM-tuki** | Integroi omat mallit (paikalliset/etĂ€) | RÀÀtĂ€löity mallien kĂ€yttöönotto | | **🎼 Interaktiivinen Playground** | Reaaliaikainen mallin testaus chat-kĂ€yttöliittymĂ€llĂ€ | Nopea prototypointi ja testaus | | **📎 Monimodaalituki** | Tekstin, kuvien ja liitteiden kĂ€sittely | Monimutkaiset tekoĂ€lysovellukset | | **⚡ ErĂ€ajot** | Suorita useita kehotteita samanaikaisesti | Tehokas testaus | | **📊 Mallien arviointi** | SisÀÀnrakennetut mittarit (F1, relevanssi, samankaltaisuus, koherenssi) | Suorituskyvyn arviointi | ### 🎯 Miksi Microsoft Foundry Toolkit on tĂ€rkeĂ€ - **🚀 Kehityksen kiihdytys**: Ideasta prototyyppiin minuuteissa - **🔄 YhtenĂ€inen työnkulku**: Yksi kĂ€yttöliittymĂ€ useille tekoĂ€lypalveluille - **đŸ§Ș Helppo kokeilu**: Vertaa malleja ilman monimutkaista asetusta - **📈 Valmis tuotantoon**: Saumaton siirtymĂ€ prototyypistĂ€ kĂ€yttöönottoon ## đŸ› ïž Esivalmistelut ja asennus ### 📩 Asenna Microsoft Foundry Toolkit -laajennus **Vaihe 1: Avaa Laajennukset-markkinapaikka** 1. Avaa Visual Studio Code 2. Siirry Laajennukset-nĂ€kymÀÀn (`Ctrl+Shift+X` tai `Cmd+Shift+X`) 3. Etsi "Microsoft Foundry Toolkit" **Vaihe 2: Valitse versiosi** - **🟱 Julkaistu versio**: Suositellaan tuotantokĂ€yttöön - **đŸ”¶ Esijulkaisu**: PÀÀsy uusimpiin ominaisuuksiin **Vaihe 3: Asenna ja ota kĂ€yttöön** ![Microsoft Foundry Toolkit Extension](../../../../translated_images/fi/aitkext.d28945a03eed003c.webp) ### ✅ Varmistuslista - [ ] Microsoft Foundry Toolkit -kuvake nĂ€kyy VS Coden sivupalkissa - [ ] Laajennus on aktivoitu ja kĂ€ytössĂ€ - [ ] Asennuksessa ei virheitĂ€ tulospaneelissa ## đŸ§Ș KĂ€ytĂ€nnön harjoitus 1: GitHub-mallien tutkiminen **🎯 Tavoite**: Hallitse Malliluettelo ja testaa ensimmĂ€inen tekoĂ€lymallisi ### 📊 Vaihe 1: Selaa Malliluetteloa Malliluettelo on porttisi tekoĂ€lyekosysteemiin. Se kokoaa malleja useilta tarjoajilta, mikĂ€ helpottaa vaihtoehtojen löytĂ€mistĂ€ ja vertailua. **🔍 Navigointiohjeet:** Klikkaa **MODELS - Catalog** Microsoft Foundry Toolkitin sivupalkissa ![Model Catalog](../../../../translated_images/fi/aimodel.263ed2be013d8fb0.webp) **💡 Vinkki**: Etsi malleja, joilla on juuri sinun kĂ€yttötapaukseesi sopivia ominaisuuksia (esim. koodin generointi, luova kirjoittaminen, analyysi). **⚠ Huom:** GitHubissa isĂ€nnöidyt mallit (GitHub Models) ovat ilmaisia kĂ€yttÀÀ, mutta niihin liittyy pyyntö- ja token-rajoituksia. Jos haluat kĂ€yttÀÀ muita kuin GitHub-malleja (eli ulkoisia malleja Azure AI:n tai muiden pÀÀtepisteiden kautta), sinun on annettava tarvittava API-avain tai todennus. ### 🚀 Vaihe 2: LisÀÀ ja konfiguroi ensimmĂ€inen mallisi **Mallin valintastrategia:** - **GPT-4.1**: Parhaat monimutkaiseen pÀÀttelyyn ja analyysiin - **Phi-4-mini**: Kevyt, nopea vastauksiin yksinkertaisiin tehtĂ€viin **🔧 Konfigurointiprosessi:** 1. Valitse katalogista **OpenAI GPT-4.1** 2. Klikkaa **Add to My Models** – malli rekisteröityy kĂ€yttöÀ varten 3. Valitse **Try in Playground** kĂ€ynnistÀÀksesi testausympĂ€ristön 4. Odota mallin kĂ€ynnistymistĂ€ (ensiasennus voi kestÀÀ hetken) ![Playground Setup](../../../../translated_images/fi/playground.dd6f5141344878ca.webp) **⚙ Mallin parametrien ymmĂ€rtĂ€minen:** - **Temperature**: Ohjaa luovuutta (0 = deterministinen, 1 = luova) - **Max Tokens**: Vastauksen enimmĂ€ispituus - **Top-p**: Nucleus-nĂ€ytteenotto vastauksen monipuolisuuteen ### 🎯 Vaihe 3: Hallitse Playground-kĂ€yttöliittymÀÀ Playground on tekoĂ€lykokeilusi laboratorio. NĂ€in hyödynnĂ€t sen mahdollisuudet maksimaalisesti: **🎹 Kehotetyön parhaat kĂ€ytĂ€nnöt:** 1. **Ole tĂ€smĂ€llinen**: SelkeĂ€t ja yksityiskohtaiset ohjeet tuottavat parempia tuloksia 2. **Anna kontekstia**: SisĂ€llytĂ€ olennaista taustatietoa 3. **KĂ€ytĂ€ esimerkkejĂ€**: NĂ€ytĂ€ mallille, mitĂ€ haluat esimerkein 4. **Iteroi**: Hio kehotteita alkuperĂ€isten tulosten pohjalta **đŸ§Ș Testausvaihtoehdot:** ```markdown # Example 1: Code Generation "Write a Python function that calculates the factorial of a number using recursion. Include error handling and docstrings." # Example 2: Creative Writing "Write a professional email to a client explaining a project delay, maintaining a positive tone while being transparent about challenges." # Example 3: Data Analysis "Analyze this sales data and provide insights: [paste your data]. Focus on trends, anomalies, and actionable recommendations." ``` ![Testing Results](../../../../translated_images/fi/result.1dfcf211fb359cf6.webp) ### 🏆 Haaste: Mallien suorituskyvyn vertailu **🎯 Tavoite**: Vertaa eri malleja identtisillĂ€ kehotteilla ymmĂ€rtÀÀksesi niiden vahvuudet **📋 Ohjeet:** 1. LisÀÀ **Phi-4-mini** työtilaasi 2. KĂ€ytĂ€ samaa kehotetta sekĂ€ GPT-4.1:lle ettĂ€ Phi-4-minille ![set](../../../../translated_images/fi/set.88132df189ecde2c.webp) 3. Vertaa vastausten laatua, nopeutta ja tarkkuutta 4. Dokumentoi löydöksesi tulosten osiossa ![Model Comparison](../../../../translated_images/fi/compare.97746cd0f9074955.webp) **💡 TĂ€rkeĂ€t oivallukset:** - Milloin kĂ€yttÀÀ LLM:iĂ€ vs. SLM:iĂ€ - Kustannus- ja suorituskykyvÀÀrisuhteet - Mallien erityisominaisuudet ## đŸ€– KĂ€ytĂ€nnön harjoitus 2: RÀÀtĂ€löityjen agenttien rakentaminen Agent Builderilla **🎯 Tavoite**: Luo erikoistuneita tekoĂ€lyagentteja tiettyjĂ€ tehtĂ€viĂ€ ja työnkulkuja varten ### đŸ—ïž Vaihe 1: Agent Builderin ymmĂ€rtĂ€minen Agent Builder on Microsoft Foundry Toolkitin kirkas tĂ€hti. Sen avulla voit luoda tarkoituksenmukaisia tekoĂ€lyavustajia, jotka yhdistĂ€vĂ€t suurten kielimallien voiman rÀÀtĂ€löityihin ohjeisiin, erityisiin parametreihin ja erikoistuneeseen tietĂ€mykseen. **🧠 Agentin arkkitehtuurikomponentit:** - **Perusmalli**: LLM:n perusta (GPT-4, Groks, Phi jne.) - **JĂ€rjestelmĂ€kehotus**: MÀÀrittÀÀ agentin persoonallisuuden ja kĂ€yttĂ€ytymisen - **Parametrit**: Optimoidut asetukset suorituskyvyn maksimoimiseksi - **Työkalujen integrointi**: YhdistĂ€ ulkoisiin API:hin ja MCP-palveluihin - **Muisti**: Keskustelukonteksti ja istunnon pysyvyys ![Agent Builder Interface](../../../../translated_images/fi/agentbuilder.25895b2d2f8c02e7.webp) ### ⚙ Vaihe 2: SyvĂ€sukellus agentin konfigurointiin **🎹 Tehokkaiden jĂ€rjestelmĂ€kehotteiden luominen:** ```markdown # Template Structure: ## Role Definition You are a [specific role] with expertise in [domain]. ## Capabilities - List specific abilities - Define scope of knowledge - Clarify limitations ## Behavior Guidelines - Response style (formal, casual, technical) - Output format preferences - Error handling approach ## Examples Provide 2-3 examples of ideal interactions ``` *Voit tietenkin kĂ€yttÀÀ myös Generate System Prompt -toimintoa, jossa AI auttaa sinua luomaan ja optimoimaan kehotteita* **🔧 Parametrien optimointi:** | Parametri | Suositeltu alue | KĂ€yttötapaus | |-----------|------------------|--------------| | **Temperature** | 0.1-0.3 | Tekninen/faktuaalinen vastaus | | **Temperature** | 0.7-0.9 | Luovat/aivoriihi-tehtĂ€vĂ€t | | **Max Tokens** | 500-1000 | Tiiviit vastaukset | | **Max Tokens** | 2000-4000 | Yksityiskohtaiset selitykset | ### 🐍 Vaihe 3: KĂ€ytĂ€nnön harjoitus – Python-ohjelmointiagentti **🎯 Missio**: Luo erikoistunut Python-koodausavustaja **📋 Konfigurointivaiheet:** 1. **Mallin valinta**: Valitse **Claude 3.5 Sonnet** (erinomainen koodiin) 2. **JĂ€rjestelmĂ€kehotteen suunnittelu**: ```markdown # Python Programming Expert Agent ## Role You are a senior Python developer with 10+ years of experience. You excel at writing clean, efficient, and well-documented Python code. ## Capabilities - Write production-ready Python code - Debug complex issues - Explain code concepts clearly - Suggest best practices and optimizations - Provide complete working examples ## Response Format - Always include docstrings - Add inline comments for complex logic - Suggest testing approaches - Mention relevant libraries when applicable ## Code Quality Standards - Follow PEP 8 style guidelines - Use type hints where appropriate - Handle exceptions gracefully - Write readable, maintainable code ``` 3. **Parametrien konfigurointi**: - Temperature: 0.2 (johdonmukainen, luotettava koodi) - Max Tokens: 2000 (yksityiskohtaiset selitykset) - Top-p: 0.9 (tasapainoinen luovuus) ![Python Agent Configuration](../../../../translated_images/fi/pythonagent.5e51b406401c165f.webp) ### đŸ§Ș Vaihe 4: Testaa Python-agenttisi **Testatilanteet:** 1. **Perustoiminto**: "Luo funktio, joka löytÀÀ alkuluvut" 2. **Monimutkainen algoritmi**: "Toteuta binaarinen hakupuu, jolla on lisÀÀmis-, poisto- ja hakumenetelmĂ€t" 3. **Todellisen elĂ€mĂ€n ongelma**: "Rakenna web-skrĂ€ppĂ€ri, joka kĂ€sittelee pyyntörajoitukset ja uudet yritykset" 4. **VianetsintĂ€**: "Korjaa tĂ€mĂ€ koodi [liitĂ€ viallinen koodi]" **🏆 Onnistumiskriteerit:** - ✅ Koodi toimii virheittĂ€ - ✅ SisĂ€ltÀÀ asianmukaisen dokumentaation - ✅ Noudattaa Pythonin parhaita kĂ€ytĂ€ntöjĂ€ - ✅ Antaa selkeĂ€t selitykset - ✅ Ehdottaa parannuksia ## 🎓 Moduuli 1 Yhteenveto & Seuraavat askeleet ### 📊 Tietojen tarkistus Testaa ymmĂ€rryksesi: - [ ] Osaatko selittÀÀ eron mallien vĂ€lillĂ€ katalogissa? - [ ] Oletko onnistuneesti luonut ja testannut rÀÀtĂ€löidyn agentin? - [ ] YmmĂ€rrĂ€tkö, miten parametreja optimoidaan eri kĂ€yttötapauksiin? - [ ] Osaatko suunnitella tehokkaita jĂ€rjestelmĂ€kehotteita? ### 📚 LisĂ€resurssit - **Microsoft Foundry Toolkit -dokumentaatio**: [Viralliset Microsoft Docsit](https://github.com/microsoft/vscode-ai-toolkit) - **Kehotetyön opas**: [Parhaat kĂ€ytĂ€nnöt](https://platform.openai.com/docs/guides/prompt-engineering) - **Microsoft Foundry Toolkitiin sisĂ€ltyvĂ€t mallit**: [KehitteillĂ€ olevat mallit](https://github.com/microsoft/vscode-ai-toolkit/blob/main/doc/models.md) **🎉 Onnittelut!** Olet hallinnut Microsoft Foundry Toolkitin perusteet ja olet valmis rakentamaan edistyneempiĂ€ tekoĂ€lysovelluksia! ### 🔜 Jatka seuraavaan moduuliin Valmiina edistyneempiin ominaisuuksiin? Jatka **[Moduuliin 2: MCP with Microsoft Foundry Toolkit Fundamentals](../lab2/README.md)**, jossa opit: - YhdistĂ€mÀÀn agentit ulkoisiin työkaluihin Model Context Protocolin (MCP) avulla - Rakentamaan selaimen automaatioagenteja Playwrightilla - Integroimaan MCP-palvelimet Microsoft Foundry Toolkit -agenteihisi - Tehostamaan agentejasi ulkoisilla tiedoilla ja ominaisuuksilla --- **Vastuuvapauslauseke**: TĂ€mĂ€ asiakirja on kÀÀnnetty kĂ€yttĂ€mĂ€llĂ€ tekoĂ€lypohjaista kÀÀnnöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, ettĂ€ automaattiset kÀÀnnökset saattavat sisĂ€ltÀÀ virheitĂ€ tai epĂ€tarkkuuksia. AlkuperĂ€inen asiakirja sen alkuperĂ€iskielellĂ€ on virallinen lĂ€hde. TĂ€rkeissĂ€ asioissa suositellaan ammattimaista ihmiskÀÀnnöstĂ€. Emme ole vastuussa tĂ€mĂ€n kÀÀnnöksen kĂ€ytöstĂ€ aiheutuvista vÀÀrinymmĂ€rryksistĂ€ tai tulkinnoista.