Khóa học Python và Ứng dụng AI hiện đại

Khóa học Python chuyên sâu 50 buổi (100 giờ) tập trung vào Generative AI với Ollama, LangChain và phát triển ứng dụng GUI với DearPyGui.

Tại sao chọn khóa học
  • Học với công nghệ AI mới nhất 2024
  • Sử dụng mô hình AI cục bộ - không phụ thuộc cloud
  • Thực hành 100% với dự án thực tế
  • Xây dựng portfolio ấn tượng với ứng dụng AI
  • Hướng dẫn chi tiết từng bước
  • Community support và mentor 1-1
Mục tiêu khóa học
  • Nắm vững nền tảng Python và lập trình hướng đối tượng
  • Thành thạo tương tác với APIs và web scraping
  • Hiểu và ứng dụng Generative AI với Ollama cục bộ
  • Xây dựng ứng dụng GUI chuyên nghiệp với DearPyGui
  • Tích hợp AI với giao diện người dùng thực tế
Kết quả mong đợi
  • Phát triển được ứng dụng AI hoàn chỉnh với GUI
  • Thành thạo sử dụng Ollama và LangChain
  • Xây dựng được chatbot cục bộ với giao diện đẹp
  • Hiểu sâu về Prompt Engineering và tối ưu AI
  • Có khả năng tạo ra sản phẩm AI thương mại
Đối tượng hướng đến
  • Người mới bắt đầu với Python
  • Developer muốn chuyển sang AI
  • Sinh viên CNTT quan tâm đến Generative AI
  • Freelancer muốn phát triển ứng dụng AI
  • Doanh nghiệp muốn tích hợp AI cục bộ

Nội dung chương trình học

Phần 1: Nền tảng Python (Buổi 1-5)
Buổi 1: Giới thiệu về Python, cài đặt môi trường, cú pháp cơ bản

Cài đặt Python (phiên bản 3.7+), IDE (PyCharm/VS Code)

Viết chương trình 'Hello, World!'

Cú pháp cơ bản: comment, indentation

Hiểu cách thiết lập môi trường Python và viết mã cơ bản

Thực hành: Tạo project đầu tiên và làm quen với IDE

Buổi 2: Biến, kiểu dữ liệu, toán tử

Kiểu dữ liệu: int, float, str, bool

Toán tử: số học, so sánh, logic

Nắm vững cách sử dụng biến và toán tử

Bài tập: Tính toán đơn giản (ví dụ: máy tính cơ bản)

Thực hành: Xây dựng calculator đơn giản

Buổi 3: Cấu trúc điều khiển: if-else, vòng lặp

Câu lệnh if, elif, else

Vòng lặp for và while

Hiểu cách điều khiển luồng chương trình

Bài tập: Kiểm tra số chẵn/lẻ, in bảng cửu chương

Thực hành: Tạo chương trình menu tương tác

Buổi 4: Hàm, module, import thư viện

Định nghĩa và gọi hàm

Tham số, giá trị trả về

Import module (math, random)

Biết cách tổ chức mã với hàm và module

Bài tập: Viết hàm tính giai thừa

Buổi 5: Cấu trúc dữ liệu: list, dictionary, set, tuple

Tạo, truy cập, chỉnh sửa list, dictionary, set, tuple

Thành thạo các cấu trúc dữ liệu cơ bản

Bài tập: Quản lý danh sách sinh viên (thêm, xóa, tìm kiếm)

Thực hành: Xây dựng hệ thống quản lý đơn giản

Tài liệu tham khảo: Dataquest - Introduction to Python Programming

Phần 2: APIs và Web Scraping (Buổi 6-10)
Buổi 6: Giới thiệu về APIs, REST APIs

API là gì, cách hoạt động

REST APIs: GET, POST

Hiểu khái niệm API và REST

Bài tập: Gửi yêu cầu thử đến một API công khai (ví dụ: JSONPlaceholder)

Thực hành: Khám phá API documentation và testing

Buổi 7: Sử dụng thư viện requests để gửi yêu cầu GET

Cài đặt và sử dụng thư viện requests

Xử lý phản hồi từ API

Biết cách gửi yêu cầu API và xử lý phản hồi

Bài tập: Lấy dữ liệu từ API thời tiết

Thực hành: Xây dựng weather app đơn giản

Buổi 8: Làm việc với dữ liệu JSON

Phân tích cú pháp JSON

Truy cập dữ liệu trong JSON

Thành thạo xử lý dữ liệu JSON

Bài tập: Hiển thị thông tin từ JSON (ví dụ: danh sách người dùng)

Thực hành: Parse và manipulate JSON data

Buổi 9: Web scraping đạo đức

Giới thiệu BeautifulSoup hoặc Scrapy

Quy tắc đạo đức khi scraping

Biết cách lấy dữ liệu từ web một cách hợp pháp

Bài tập: Trích xuất tiêu đề từ một trang web đơn giản

Thực hành: Scraping news headlines

Buổi 10: Giới thiệu về môi trường cục bộ với Ollama

Cài đặt Ollama và chạy mô hình cục bộ (ví dụ: Llama)

Hiểu cách thiết lập và sử dụng Ollama

Bài tập: Gửi yêu cầu thử đến Ollama

Thực hành: Setup Ollama environment

Tài liệu tham khảo: Dataquest - APIs and Web Scraping for AI Applications, Ollama Documentation

Phần 3: Prompt Engineering và Tương tác với LLMs qua Ollama (Buổi 11-15)
Buổi 11: Giới thiệu về LLMs và Ollama

LLMs là gì, ứng dụng thực tế

Tổng quan về Ollama: chạy mô hình cục bộ

Hiểu vai trò của LLMs và Ollama trong ứng dụng AI

Bài tập: Thảo luận các trường hợp sử dụng LLMs với Ollama

Thực hành: Khám phá các mô hình AI available

Buổi 12: Cài đặt và cấu hình Ollama

Cài đặt Ollama trên máy tính

Tải và chạy một mô hình (ví dụ: Llama hoặc Mistral)

Thiết lập môi trường để làm việc với Ollama

Bài tập: Gửi yêu cầu thử đến Ollama API cục bộ

Thực hành: Configure và test Ollama models

Buổi 13: Gửi yêu cầu đến Ollama API

Cấu trúc yêu cầu API cục bộ

Xử lý phản hồi từ Ollama

Biết cách tương tác với Ollama API

Bài tập: Tạo một đoạn văn bản từ prompt đơn giản

Thực hành: Build simple text generation app

Buổi 14: Thiết kế prompt hiệu quả

Kỹ thuật prompt engineering: clear, specific, context-rich

Ví dụ về prompt tốt và kém

Thành thạo kỹ thuật prompt engineering

Bài tập: Viết prompt để tạo nội dung cụ thể (ví dụ: bài thơ)

Thực hành: Experiment với different prompt strategies

Buổi 15: Quản lý lịch sử cuộc trò chuyện

Duy trì ngữ cảnh trong cuộc trò chuyện với Ollama

Lưu trữ và sử dụng lịch sử hội thoại

Hiểu cách duy trì ngữ cảnh trong ứng dụng AI

Bài tập: Xây dựng một chatbot đơn giản với ngữ cảnh

Tài liệu tham khảo: Ollama Documentation

Phần 4: Xây dựng Ứng dụng AI với LangChain và Ollama (Buổi 16-25)
Buổi 16: Giới thiệu về LangChain

LangChain là gì, các thành phần chính (chains, agents, memory)

Ứng dụng của LangChain với Ollama

Hiểu vai trò và cấu trúc của LangChain

Bài tập: Cài đặt LangChain

Thực hành: Explore LangChain documentation

Buổi 17: Cài đặt LangChain, cấu hình với Ollama

Cài đặt thư viện langchain và langchain-ollama

Kết nối LangChain với Ollama API cục bộ

Thiết lập môi trường LangChain với Ollama

Bài tập: Tạo một chain đơn giản với Ollama

Thực hành: Setup complete development environment

Buổi 18: Xây dựng chatbot đơn giản với LangChain và Ollama

Tạo một chatbot cơ bản

Sử dụng prompt templates

Biết cách xây dựng chatbot với LangChain và Ollama

Bài tập: Chatbot trả lời câu hỏi chung

Thực hành: Build conversational AI

Buổi 19: Hệ thống trả lời câu hỏi dựa trên tài liệu

Sử dụng LangChain để tìm kiếm và trả lời từ tài liệu cục bộ

Hiểu cách xử lý tài liệu với LangChain

Bài tập: Tạo hệ thống trả lời câu hỏi từ một file văn bản

Thực hành: Document-based Q&A system

Implement RAG (Retrieval-Augmented Generation) cơ bản

Buổi 20: Tích hợp với các mô hình khác trong Ollama

Thử nghiệm với các mô hình khác nhau trong Ollama (ví dụ: Mistral, Llama)

Biết cách tích hợp các mô hình khác nhau

Bài tập: Thay đổi mô hình và so sánh kết quả

Thực hành: Model comparison và performance testing

Tối ưu hóa cho từng loại task

Buổi 21: Tính năng nâng cao của LangChain

Memory: Lưu trữ ngữ cảnh

Chains: Tạo chuỗi xử lý phức tạp

Agents: Tự động hóa quyết định

Thành thạo các tính năng nâng cao của LangChain

Bài tập: Xây dựng một agent đơn giản

Buổi 22: Tối ưu hóa hiệu suất với Ollama

Quản lý tài nguyên khi chạy mô hình cục bộ

Hiểu cách tối ưu hóa hiệu suất

Bài tập: Tối ưu hóa tốc độ phản hồi của chatbot

Thực hành: Performance monitoring và tuning

Memory management techniques

Buổi 23: Thực hành tốt nhất khi xây dựng ứng dụng AI

Tối ưu hóa hiệu suất, quản lý tài nguyên

Áp dụng các thực hành tốt nhất

Bài tập: Phân tích một ứng dụng mẫu

Thực hành: Code review và optimization

Error handling và logging strategies

Buổi 24: Nghiên cứu trường hợp: Trợ lý lập trình

Xây dựng một ứng dụng trợ lý lập trình với LangChain và Ollama

Áp dụng kiến thức vào một dự án cụ thể

Bài tập: Tạo trợ lý trả lời câu hỏi về Python

Thực hành: Complete coding assistant development

Integration với IDE và development tools

Buổi 25: Tổng quan và Q&A về LangChain và Ollama

Ôn tập các khái niệm chính

Giải đáp thắc mắc

Củng cố kiến thức về LangChain và Ollama

Bài tập: Tối ưu hóa một ứng dụng đã xây dựng

Tài liệu tham khảo: Udemy - Complete Generative AI Course With Langchain and Huggingface, Ollama Documentation

Phần 5: Phát triển GUI với DearPyGui (Buổi 26-35)
Buổi 26: Giới thiệu về DearPyGui, cài đặt

DearPyGui là gì, ưu điểm

Cài đặt dearpygui

Hiểu và thiết lập DearPyGui

Bài tập: Chạy demo DearPyGui

Thực hành: Explore DearPyGui capabilities

Buổi 27: Tạo cửa sổ đầu tiên, thêm widget cơ bản

Tạo cửa sổ, thêm nút, văn bản

Biết cách tạo GUI cơ bản

Bài tập: Tạo một cửa sổ với nút 'Hello, World!'

Thực hành: Build first interactive window

Understanding widget hierarchy

Buổi 28: Quản lý bố cục

Sắp xếp widget: nhóm, khoảng cách

Thành thạo quản lý bố cục GUI

Bài tập: Tạo bố cục với nhiều widget

Thực hành: Complex layout design

Responsive design principles

Buổi 29: Xử lý đầu vào người dùng

Ô nhập văn bản, thanh trượt, checkbox

Hiểu cách xử lý đầu vào người dùng

Bài tập: Tạo form nhập liệu đơn giản

Thực hành: Interactive input validation

Event handling fundamentals

Buổi 30: Tạo menu, thanh công cụ

Thêm menu, thanh công cụ

Biết cách thêm menu vào GUI

Bài tập: Tạo menu với các tùy chọn cơ bản

Thực hành: Professional menu design

Keyboard shortcuts integration

Buổi 31: Vẽ biểu đồ với DearPyGui

Tạo biểu đồ đơn giản (line, bar)

Hiểu cách vẽ biểu đồ trong GUI

Bài tập: Hiển thị dữ liệu mẫu trên biểu đồ

Thực hành: Real-time data visualization

Chart customization techniques

Buổi 32: Quản lý trạng thái trong GUI

Cập nhật giao diện dựa trên trạng thái

Thành thạo quản lý trạng thái GUI

Bài tập: Tạo ứng dụng thay đổi nội dung khi nhấn nút

Thực hành: State management patterns

Data binding concepts

Buổi 33: Xây dựng ứng dụng đơn giản: Máy tính

Tạo một máy tính cơ bản với DearPyGui

Áp dụng kiến thức vào một ứng dụng thực tế

Bài tập: Hoàn thiện máy tính với các phép tính cơ bản

Thực hành: Calculator with advanced operations

Error handling in GUI applications

Buổi 34: Tích hợp với logic backend

Kết nối GUI với hàm Python

Chuẩn bị cho tích hợp AI

Bài tập: Tạo ứng dụng gọi hàm từ nút GUI

Thực hành: Backend-frontend communication

Asynchronous operations in GUI

Buổi 35: Tổng quan và Q&A về DearPyGui

Ôn tập các khái niệm chính

Giải đáp thắc mắc

Củng cố kiến thức về DearPyGui

Bài tập: Tối ưu hóa một GUI đã xây dựng

Tài liệu tham khảo: DearPyGui Documentation

Phần 6: Tích hợp AI với GUI (Buổi 36-45)
Buổi 36: Lập kế hoạch tích hợp

Xác định các thành phần AI sẽ hiển thị qua GUI

Hiểu cách tích hợp backend và frontend

Bài tập: Vẽ sơ đồ luồng dữ liệu cho ứng dụng

Thực hành: Architecture planning

Design patterns for AI integration

Buổi 37: Thiết lập backend với LangChain và Ollama

Chuẩn bị backend với LangChain và Ollama

Thiết lập backend AI cục bộ

Bài tập: Tạo một hàm trả lời câu hỏi đơn giản

Thực hành: API endpoint design

Service layer architecture

Buổi 38: Tạo cấu trúc GUI với DearPyGui

Thiết kế giao diện cho ứng dụng AI

Xây dựng giao diện cho ứng dụng AI

Bài tập: Tạo GUI với ô nhập và khu vực hiển thị kết quả

Thực hành: Professional AI app interface

User experience design principles

Buổi 39: Kết nối đầu vào GUI với backend

Gửi dữ liệu từ GUI đến hàm LangChain+Ollama

Biết cách truyền dữ liệu từ GUI sang backend

Bài tập: Kết nối ô nhập văn bản với hàm AI

Thực hành: Real-time data transmission

Input validation và sanitization

Buổi 40: Hiển thị phản hồi từ AI trong GUI

Hiển thị kết quả từ LangChain+Ollama trong GUI

Hiểu cách hiển thị kết quả AI

Bài tập: Hiển thị câu trả lời AI trong ô văn bản

Thực hành: Rich text formatting

Response streaming implementation

Buổi 41: Xử lý hoạt động bất đồng bộ

Xử lý thời gian chờ khi gọi Ollama API cục bộ

Thành thạo xử lý bất đồng bộ trong GUI

Bài tập: Thêm thanh tiến trình hoặc thông báo chờ

Thực hành: Loading states và progress indicators

Threading và async programming

Buổi 42: Xử lý lỗi trong GUI

Hiển thị thông báo lỗi khi API thất bại

Biết cách xử lý lỗi trong ứng dụng

Bài tập: Thêm thông báo lỗi thân thiện với người dùng

Thực hành: Comprehensive error handling

Logging và debugging techniques

Buổi 43: Hoàn thiện giao diện

Áp dụng theme, style cho GUI

Tạo giao diện chuyên nghiệp

Bài tập: Tùy chỉnh giao diện với màu sắc và font

Thực hành: Professional styling và branding

Responsive design implementation

Buổi 44: Kiểm tra ứng dụng tích hợp

Kiểm tra toàn bộ ứng dụng (GUI + AI)

Đảm bảo ứng dụng hoạt động trơn tru

Bài tập: Sửa lỗi và tối ưu hóa ứng dụng

Thực hành: End-to-end testing

Performance optimization

Buổi 45: Tổng quan và Q&A về tích hợp

Ôn tập quy trình tích hợp

Giải đáp thắc mắc

Củng cố kiến thức tích hợp

Bài tập: Cải tiến ứng dụng dựa trên phản hồi

Best practices review

Phần 7: Chủ đề Nâng cao và Dự án (Buổi 46-50)
Buổi 46: Tính năng nâng cao của LangChain với Ollama

Tạo chuỗi tùy chỉnh, agents phức tạp

Thành thạo các tính năng nâng cao của LangChain

Bài tập: Xây dựng một agent tự động hóa tác vụ

Thực hành: Advanced AI workflows

Custom tools và plugins development

Buổi 47: Tính năng nâng cao của DearPyGui

Vẽ tùy chỉnh, bố cục phức tạp

Hiểu các tính năng nâng cao của DearPyGui

Bài tập: Tạo một giao diện phức tạp hơn (ví dụ: dashboard)

Thực hành: Advanced GUI patterns

Custom widgets development

Buổi 48: Xây dựng dự án cuối cùng: Định nghĩa phạm vi

Lựa chọn dự án (ví dụ: chatbot cục bộ với GUI)

Lập kế hoạch cho dự án cuối cùng

Bài tập: Vẽ sơ đồ và kế hoạch dự án

Thực hành: Project specification

Requirements analysis

Buổi 49: Thực hiện dự án cuối cùng

Viết mã cho dự án (GUI + LangChain + Ollama)

Áp dụng toàn bộ kiến thức đã học

Bài tập: Hoàn thiện ứng dụng chatbot cục bộ với GUI

Thực hành: Full-stack AI application development

Code quality và documentation

Buổi 50: Trình bày và kết thúc

Trình bày dự án

Thảo luận lộ trình học tiếp theo (ví dụ: tối ưu hóa mô hình cục bộ, triển khai ứng dụng)

Kết thúc khóa học và định hướng tương lai

Bài tập: Viết báo cáo về dự án

Portfolio development và career guidance