Khóa học Python và Ứng dụng AI hiện đại
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)
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
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
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
Đị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
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)
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
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
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
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
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)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
Ô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)
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
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
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
Ô 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
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
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
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
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
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
Ô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)
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
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
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
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
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
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
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
Á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
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
Ô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)
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
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
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
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
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