5 projektów AI dla początkujących — zbuduj swoje portfolio
Nauka AI bez praktyki to jak nauka pływania z podręcznika. Możesz przeczytać dziesiątki artykułów i obejrzeć setki tutoriali, ale dopiero budując własne projekty zrozumiesz, jak AI działa w praktyce. W tym artykule przedstawiam 5 projektów, które zbudujesz od zera — nawet jeśli dopiero zaczynasz swoją przygodę z AI.
Każdy projekt jest dobrany tak, by nauczyć Cię innego aspektu AI i jednocześnie dobrze wyglądać w portfolio. Jeśli szukasz systematycznego podejścia do nauki, polecam nasz przewodnik po nauce sztucznej inteligencji.
Zanim zaczniesz — wymagania
Narzędzia:
- Python 3.10+ (zainstalowany lokalnie)
- Git i konto na GitHubie
- Edytor kodu (VS Code, Cursor)
- Konto na Hugging Face (darmowe)
- Klucz API OpenAI lub Anthropic (koszt: kilka dolarów na projekty)
Umiejętności:
- Podstawy Pythona (zmienne, funkcje, pętle, klasy)
- Podstawy terminala/wiersza poleceń
- Znajomość Git na poziomie: clone, add, commit, push
Nie potrzebujesz: zaawansowanej matematyki, GPU, doświadczenia z ML.
Projekt 1: Chatbot RAG — asystent wiedzy z Twoich dokumentów
Czego się nauczysz: RAG, embeddingi, bazy wektorowe, prompt engineering Technologie: Python, LangChain, Chroma, OpenAI/Claude API, Streamlit Czas realizacji: 4-6 godzin Poziom trudności: ★★☆☆☆
Opis projektu
Budujesz chatbota, który odpowiada na pytania na podstawie Twoich dokumentów — np. notatek ze studiów, dokumentacji technicznej, regulaminów. To praktyczna implementacja architektury RAG, która jest jednym z najważniejszych wzorców w enterprise AI.
Architektura
Dokumenty (PDF/TXT) → Chunking → Embeddingi → Chroma DB
↓
Pytanie użytkownika → Embedding → Similarity Search → Kontekst + Prompt → LLM → Odpowiedź
Kroki implementacji
- Przygotuj dokumenty — zbierz 5-10 dokumentów PDF lub TXT na wybrany temat
- Załaduj i podziel — użyj LangChain's document loaders i text splitters
- Stwórz embeddingi — zamień chunki na wektory (OpenAI text-embedding-3-small)
- Zapisz w Chroma — lokalna baza wektorowa, zero konfiguracji
- Zbuduj chain — połącz retriever z LLM w LangChain
- Dodaj UI — Streamlit w 20 liniach kodu daje piękny interfejs
- Deploy — Streamlit Cloud (darmowy hosting)
Kluczowe elementy kodu
from langchain_community.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA
# Załaduj dokumenty
loader = DirectoryLoader("docs/", glob="**/*.pdf")
docs = loader.load()
# Podziel na chunki
splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = splitter.split_documents(docs)
# Stwórz bazę wektorową
vectorstore = Chroma.from_documents(chunks, OpenAIEmbeddings())
# Zbuduj chain RAG
qa_chain = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o-mini"),
retriever=vectorstore.as_retriever(search_kwargs={"k": 4}),
return_source_documents=True
)
Co poprawić dla portfolio
- Dodaj historię konwersacji (conversation memory)
- Pokaż źródła odpowiedzi z numerami stron
- Obsłuż różne formaty (PDF, DOCX, MD, TXT)
- Dodaj metryki (czas odpowiedzi, relevance score)
Projekt 2: Klasyfikator obrazów — rozpoznawanie obiektów
Czego się nauczysz: Transfer learning, CNN, fine-tuning modeli wizyjnych Technologie: Python, PyTorch, Hugging Face Transformers, Gradio Czas realizacji: 4-6 godzin Poziom trudności: ★★★☆☆
Opis projektu
Budujesz klasyfikator, który rozpoznaje obiekty na zdjęciach. Używasz transfer learning — bierzesz gotowy model wytrenowany na milionach obrazów i dostroisz go do swojego zadania. To praktyczne zastosowanie widzenia komputerowego.
Przykładowe tematy klasyfikatora
- Rasy psów/kotów (dane: Stanford Dogs Dataset)
- Choroby roślin (dane: PlantVillage)
- Typy jedzenia (dane: Food-101)
- Gatunki ptaków (dane: CUB-200)
Kroki implementacji
- Wybierz dataset — Hugging Face Datasets lub Kaggle
- Załaduj pretrained model — ViT (Vision Transformer) z Hugging Face
- Przygotuj dane — augmentacja, normalizacja, podział train/val/test
- Fine-tune — trenuj ostatnie warstwy na swoich danych
- Ewaluacja — confusion matrix, accuracy, precision, recall
- UI — Gradio dla interaktywnego interfejsu
- Deploy — Hugging Face Spaces (darmowy hosting)
Co poprawić dla portfolio
- Porównaj różne architektury (ViT vs ResNet vs EfficientNet)
- Dodaj Grad-CAM wizualizację (co model „widzi")
- Obsłuż uploading zdjęć z telefonu
- Zmierz i pokaż metryki na test set
Projekt 3: Analiza sentymentu recenzji produktów
Czego się nauczysz: NLP, klasyfikacja tekstu, fine-tuning modeli językowych Technologie: Python, Hugging Face Transformers, scikit-learn, Streamlit Czas realizacji: 3-5 godzin Poziom trudności: ★★☆☆☆
Opis projektu
System analizujący recenzje produktów i klasyfikujący je jako pozytywne, negatywne lub neutralne. Zbierasz dane z polskich sklepów internetowych, trenujesz model i tworzysz dashboard.
Kroki implementacji
- Zbierz dane — polskie recenzje z Kaggle lub scrapuj (z poszanowaniem ToS)
- Preprocessing — czyszczenie tekstu, tokenizacja
- Baseline — prosty model (TF-IDF + LogisticRegression)
- Fine-tune — polski model BERT (Herbert, polski RoBERTa)
- Porównanie — baseline vs fine-tuned vs zero-shot LLM
- Dashboard — wykres sentymentu w czasie, word cloud, statystyki
- API — FastAPI endpoint do klasyfikacji nowych recenzji
Co poprawić dla portfolio
- Aspect-based sentiment (co dokładnie się podoba/nie podoba)
- Porównanie podejść: ML klasyczne vs transformer vs LLM zero-shot
- Analiza trendów sentymentu w czasie
- Obsługa emotikonów i slangu internetowego
Projekt 4: Generator treści z AI — blog writer
Czego się nauczysz: Prompt engineering, API LLM, strukturyzowane outputy, łańcuchy promptów Technologie: Python, OpenAI/Anthropic API, Jinja2, Streamlit Czas realizacji: 5-7 godzin Poziom trudności: ★★★☆☆
Opis projektu
Narzędzie do generowania artykułów blogowych z wieloetapowym pipeline'em: research → outline → drafting → editing. Uczysz się zaawansowanego prompt engineeringu i budowania łańcuchów LLM.
Pipeline generowania
Temat → Research (wyszukiwanie źródeł) → Outline (struktura) → Draft (pisanie sekcji) → Edit (korekta) → Output (MD/HTML)
Kroki implementacji
- Definiuj szablony promptów — osobne prompty dla każdego etapu
- Research agent — zbierz informacje o temacie (Web Search API)
- Outline generator — stwórz strukturę artykułu (sekcje, punkty)
- Section writer — generuj każdą sekcję osobno (lepszy kontekst)
- Editor — korekta stylistyczna i faktualna
- Formatter — output w Markdown lub HTML
- UI — interfejs do konfiguracji (ton, długość, grupa docelowa)
Co poprawić dla portfolio
- Dodaj SEO optymalizację (meta title, description, headings)
- Porównaj jakość outputu różnych modeli
- Dodaj kontrolę faktu (fact-checking z RAG)
- Obsługa wielu języków
Projekt 5: System rekomendacji — „polecane dla Ciebie"
Czego się nauczysz: Systemy rekomendacji, collaborative filtering, embeddingi Technologie: Python, pandas, scikit-learn, Surprise, Streamlit Czas realizacji: 6-8 godzin Poziom trudności: ★★★★☆
Opis projektu
Budujesz system rekomendacji filmów/książek/muzyki. Implementujesz trzy podejścia i porównujesz wyniki. To projekt, który świetnie wygląda w portfolio i jest częstym tematem na rozmowach rekrutacyjnych.
Trzy podejścia
- Content-based filtering — rekomenduj na podstawie cech (gatunek, reżyser, aktorzy)
- Collaborative filtering — rekomenduj na podstawie zachowań podobnych użytkowników
- Hybrid z embeddingami — połącz oba podejścia z embeddingami LLM
Kroki implementacji
- Dataset — MovieLens (filmy) lub Book-Crossing (książki)
- EDA — analiza danych, rozkłady ocen, popularność
- Content-based — TF-IDF na opisach + cosine similarity
- Collaborative — SVD z biblioteki Surprise
- Hybrid — embeddingi opisów + collaborative signals
- Ewaluacja — RMSE, precision@k, recall@k, nDCG
- UI — interfejs „wybierz filmy, które lubisz → otrzymaj rekomendacje"
Co poprawić dla portfolio
- Cold start problem — jak rekomendować nowym użytkownikom
- A/B testing framework
- Wyjaśnialność — dlaczego system poleca dany film
- Real-time updates (nowe oceny → nowe rekomendacje)
Jak prezentować projekty w portfolio
Samo napisanie kodu nie wystarczy. Oto jak sprawić, by Twoje projekty wyróżniały się:
README.md każdego projektu powinno zawierać:
- Demo — link do działającej wersji lub GIF/video
- Problem — jaki problem rozwiązujesz i dlaczego to ważne
- Podejście — jakie technologie i dlaczego właśnie te
- Wyniki — metryki, porównania, wnioski
- Jak uruchomić — docker-compose up lub 3 komendy
Dodatkowe wskazówki:
- Pisz czytelny kod z docstringami i typami
- Dodaj testy (przynajmniej podstawowe)
- Użyj CI/CD (GitHub Actions)
- Prowadź blog — opisz czego się nauczyłeś przy każdym projekcie
- Hostuj demo (Streamlit Cloud, Hugging Face Spaces, Vercel)
Dalsze kroki
Po ukończeniu tych 5 projektów będziesz mieć solidne portfolio pokrywające: NLP, Computer Vision, RAG, systemy rekomendacji i prompt engineering. To fundamenty, na których możesz budować.
Następne kroki:
- Weź udział w konkursie Kaggle
- Kontrybuuj do open source projektów AI
- Rozważ kursy AI do pogłębienia teorii
- Buduj większe projekty łączące wiele technik
Powodzenia! Najlepszy moment, żeby zacząć budować portfolio AI, to teraz.