Dùng AI

10 dự án AI nhỏ làm trong một tuần cho portfolio

Mười dự án AI vừa sức sinh viên, mỗi dự án làm trong khoảng ba đến bảy ngày: phân tích dữ liệu, phân loại cảm xúc bình luận tiếng Việt, dự đoán giá nhà, nhận diện chữ số viết tay, trợ giảng giải thích lỗi Python, chatbot hỏi đáp giáo trình, bộ đánh giá prompt, tóm tắt văn bản chạy trên máy, phân loại ảnh, agent tra cứu dữ liệu. Chọn theo kỹ năng bạn có, và làm mỗi dự án đến mức có README, số đo và chạy lại được.

Ý chính
  • Mười dự án chia bốn nhóm: dữ liệu, học máy, học sâu, ứng dụng mô hình ngôn ngữ. Mỗi dự án làm trong khoảng 3 đến 7 ngày với 2 đến 3 giờ mỗi ngày (ước lượng của bài).
  • Bốn dự án dùng API mô hình nên có tốn phí nhỏ; sáu dự án còn lại chạy miễn phí trên máy.
  • Một dự án được tính vào portfolio khi có README rõ, có số đo (độ chính xác, điểm đánh giá, thời gian chạy), và người khác chạy lại được.
  • Làm ít mà kỹ: ba dự án hoàn chỉnh tốt hơn mười dự án dở dang.

Các dự án dưới đây dùng dữ liệu và công cụ đã giới thiệu trong loạt bài của blog: bộ dữ liệu từ UCI và Hugging Face, mô hình chạy trên máy bằng Ollama, mô hình qua API theo tài liệu Claude. Số ngày là ước lượng của bài cho người học có nền tương ứng.

Chọn dự án theo kỹ năng

Đoạn Python dưới đây ghi lại mười dự án, mỗi dự án kèm kỹ năng cần có, có cần gọi API mô hình (tốn phí) không, và số ngày ước tính. Bạn đưa vào tập kỹ năng mình có, số ngày dành được và có chấp nhận phí API không, chương trình gợi ý các dự án làm được, sắp theo thời gian.

"""Chọn dự án AI làm trong một tuần theo kỹ năng bạn đang có.

Mỗi dự án ghi kỹ năng cần, có cần gọi API mô hình (tốn phí) hay không, và số ngày ước tính
(ước lượng của bài viết cho người học khoảng 2 đến 3 giờ mỗi ngày).
"""

DU_AN = [
    ("Phân tích dữ liệu điểm thi", {"python", "pandas"}, False, 3),
    ("Phân loại cảm xúc bình luận tiếng Việt", {"python", "hoc_may"}, False, 5),
    ("Dự đoán giá nhà bằng hồi quy", {"python", "hoc_may"}, False, 4),
    ("Nhận diện chữ số viết tay bằng mạng nơ-ron", {"python", "pytorch"}, False, 5),
    ("Trợ giảng giải thích lỗi Python", {"python", "api"}, True, 3),
    ("Chatbot hỏi đáp giáo trình (RAG)", {"python", "api"}, True, 6),
    ("Bộ đánh giá cho một prompt", {"python", "api"}, True, 4),
    ("Tóm tắt văn bản chạy trên máy với Ollama", {"python"}, False, 3),
    ("Phân loại ảnh bằng mô hình huấn luyện sẵn", {"python", "pytorch"}, False, 5),
    ("Agent nhỏ tra cứu dữ liệu công khai", {"python", "api"}, True, 7),
]


def goi_y(ky_nang, ngay_toi_da=7, chap_nhan_phi=True):
    kq = []
    for ten, can, co_phi, ngay in DU_AN:
        if can <= ky_nang and ngay <= ngay_toi_da and (chap_nhan_phi or not co_phi):
            kq.append((ten, ngay, co_phi))
    return sorted(kq, key=lambda x: x[1])


def in_goi_y(mo_ta, ky_nang, **kw):
    ds = goi_y(ky_nang, **kw)
    dong = [f"{mo_ta}: {len(ds)} dự án"]
    dong += [f"  - {ten} ({ngay} ngày{', có phí API' if phi else ''})" for ten, ngay, phi in ds]
    return dong


def chay_thu():
    dong = (in_goi_y("Mới biết Python và pandas", {"python", "pandas"})
            + in_goi_y("Đã học máy, không muốn tốn phí API", {"python", "pandas", "hoc_may"}, chap_nhan_phi=False)
            + in_goi_y("Biết gọi API, có 4 ngày", {"python", "api"}, ngay_toi_da=4))
    print("\n".join(dong))
    return dong


if __name__ == "__main__":
    chay_thu()

Ví dụ: người mới biết Python và pandas có hai lựa chọn ngay (phân tích dữ liệu điểm thi, tóm tắt văn bản chạy trên máy với Ollama); người đã học học máy và không muốn tốn phí có bốn lựa chọn; người biết gọi API và chỉ có bốn ngày có ba lựa chọn.

10 dự án AI trong một tuần Chọn theo kỹ năng bạn đang có Dữ liệuPhân tích điểm thipandas, biểu đồ Học máyPhân loại cảm xúccó precision, recall Học sâuChữ số viết tayPyTorch Ứng dụng LLMChatbot RAGcó bộ đánh giá Mỗi dự án: README, số đo, chạy lại được
10 dự án AI trong một tuần Dữ liệuPhân tích điểm thipandas, biểu đồ Học máyPhân loại cảm xúccó precision, recall Học sâuChữ số viết tayPyTorch Ứng dụng LLMChatbot RAGcó bộ đánh giá Mỗi dự án: README, số đo, chạy lại được
Hình 1. Bốn nhóm dự án AI làm trong một tuần: dữ liệu (phân tích điểm thi bằng pandas và biểu đồ), học máy (phân loại cảm xúc có precision, recall), học sâu (nhận diện chữ số viết tay bằng PyTorch), ứng dụng mô hình ngôn ngữ (chatbot RAG có bộ đánh giá). Mỗi dự án cần README, số đo và chạy lại được.

Nhóm 1: dữ liệu

1. Phân tích dữ liệu điểm thi (3 ngày). Lấy một bộ dữ liệu điểm công khai hoặc dữ liệu giả lập, làm sạch bằng pandas, trả lời ba câu hỏi bằng số liệu và biểu đồ (môn nào chênh lệch nhiều nhất, điểm có tương quan với giờ học không). Kỹ năng thể hiện: xử lý dữ liệu, trực quan hóa, đặt câu hỏi đúng. Xem bài Python cho AI.

Nhóm 2: học máy

2. Phân loại cảm xúc bình luận tiếng Việt (5 ngày). Dùng một bộ bình luận có nhãn (tìm trên Hugging Face, lọc ngôn ngữ Vietnamese, đọc giấy phép), so mô hình đơn giản (túi từ cộng hồi quy logistic) với một mốc, báo precision, recall và phân tích các câu bị phân loại sai. Dự án này cho bạn nhiều thứ để kể khi bị hỏi sâu, vì có cả câu chuyện dữ liệu lệch lẫn chuyện chọn chỉ số.

3. Dự đoán giá nhà bằng hồi quy (4 ngày). Bộ dữ liệu bảng có sẵn, so hồi quy tuyến tính với cây quyết định, báo sai số trên tập kiểm tra, chú ý rò rỉ dữ liệu khi chuẩn hóa. Nguồn dữ liệu xem bài bộ dữ liệu để luyện AI.

Nhóm 3: học sâu

4. Nhận diện chữ số viết tay bằng mạng nơ-ron (5 ngày). Tự viết một mạng nhỏ bằng PyTorch, vẽ đường hàm mất mát, thử thay đổi tốc độ học và số tầng, ghi lại kết quả từng lần. Kỹ năng thể hiện: hiểu vòng lặp huấn luyện, không chỉ gọi thư viện.

5. Phân loại ảnh bằng mô hình huấn luyện sẵn (5 ngày). Chọn một chủ đề ảnh bạn quan tâm, dùng mô hình thị giác huấn luyện sẵn và tinh chỉnh lớp cuối, so với huấn luyện từ đầu trên cùng dữ liệu. Kỹ năng thể hiện: học chuyển giao, đánh giá công bằng.

Nhóm 4: ứng dụng mô hình ngôn ngữ

6. Trợ giảng giải thích lỗi Python (3 ngày, có phí API). Chương trình nhận thông báo lỗi, gọi API mô hình với chỉ dẫn giải thích nguyên nhân và gợi ý sửa, không viết lại cả chương trình; ghi chi phí mỗi lần gọi. Bắt đầu từ bài gọi API AI bằng Python.

7. Chatbot hỏi đáp giáo trình bằng RAG (6 ngày, có phí API). Chia giáo trình thành đoạn, tìm đoạn liên quan, trả lời có trích nguồn, nói "không tìm thấy" với câu ngoài tài liệu. So với cách đưa cả giáo trình vào prompt. Xem bài RAG là gì.

8. Bộ đánh giá cho một prompt (4 ngày, có phí API). Chọn một việc (phân loại, trích thông tin), làm 50 câu mẫu có đáp án, chấm bằng code và bằng mô hình, so ba phiên bản prompt bằng số. Một dự án nhỏ nhưng cho thấy tư duy kỹ thuật rõ nhất.

9. Tóm tắt văn bản chạy trên máy với Ollama (3 ngày). Chạy một mô hình mở trên máy, viết chương trình tóm tắt bài báo tiếng Việt, đo thời gian và so chất lượng giữa hai mô hình kích thước khác nhau. Không tốn phí, dữ liệu không rời máy. Xem bài chạy AI trên máy cá nhân.

10. Agent nhỏ tra cứu dữ liệu công khai (7 ngày, có phí API). Mô hình được dùng một công cụ (hàm Python gọi một API công khai, ví dụ tra thông tin kho GitHub), trả lời câu hỏi bằng dữ liệu tra được; giới hạn công cụ và ghi log mọi lần gọi.

Làm sao để dự án được tính

Một dự án trong portfolio có giá trị khi người xem, trong vài phút, hiểu bạn đã giải bài toán gì và làm tốt tới đâu. Ba điều bắt buộc: README nêu bài toán, dữ liệu (nguồn, giấy phép), cách chạy và kết quả; số đo cụ thể so với một mốc đơn giản; và người khác chạy lại được bằng vài lệnh. Thêm điểm cộng: phân tích lỗi trung thực, ghi rõ phần nào có dùng AI hỗ trợ viết code. Cách trình bày trên GitHub có trong bài portfolio AI trên GitHub.

Một tuần mẫu cho dự án phân loại cảm xúc

Để thấy năm ngày được dùng ra sao, lấy dự án số 2 làm ví dụ. Ngày thứ nhất dành cho câu hỏi và dữ liệu: viết một câu mô tả bài toán (cho một bình luận, đoán tích cực hay tiêu cực), tìm bộ dữ liệu có nhãn, đọc giấy phép, đếm số mẫu mỗi nhãn. Nếu một nhãn chiếm phần lớn, ghi ngay vào sổ, vì nó quyết định chỉ số bạn báo về sau.

Ngày thứ hai làm mốc so sánh. Mốc đơn giản nhất là luôn đoán nhãn phổ biến nhất; mốc thứ hai là đếm từ khen, từ chê theo một danh sách nhỏ. Hai con số này cho biết mô hình thật sự phải vượt qua mức nào. Nhiều bạn bỏ bước này, rồi báo độ chính xác tám mươi phần trăm mà không biết đoán bừa cũng được gần như vậy.

Ngày thứ ba và thứ tư huấn luyện mô hình chính, chia tập huấn luyện và tập kiểm tra trước khi làm bất cứ biến đổi nào, ghi lại từng lần thử vào một bảng nhỏ: cấu hình, precision, recall, thời gian chạy. Cuối ngày thứ tư, lấy hai mươi câu bị đoán sai và đọc từng câu; bạn sẽ thấy các kiểu lỗi lặp lại như câu mỉa mai, câu có phủ định, câu viết không dấu.

Ngày thứ năm dành trọn cho việc trình bày. README có bảng kết quả so với hai mốc, một đoạn về các kiểu lỗi kèm vài câu ví dụ, lệnh cài đặt và lệnh chạy. Thử chạy lại từ đầu trên một thư mục sạch để chắc người khác làm theo được. Một tuần như vậy cho ra dự án nhỏ, nhưng mỗi con số trong đó bạn đều giải thích được khi bị hỏi.

Nhịp làm và cách dùng AI hỗ trợ

Về nhịp làm: một dự án mỗi tuần hoặc hai tuần là vừa. Ngày đầu đặt câu hỏi và tìm dữ liệu, các ngày giữa làm và đo, ngày cuối viết README và dọn code. Đừng để dự án ở trạng thái "gần xong" quá lâu; một dự án nhỏ hoàn chỉnh có giá trị hơn một dự án lớn dở dang.

Dùng trợ lý AI để viết code nhanh hơn là bình thường, miễn là bạn đọc và hiểu từng đoạn trước khi giữ lại. Cách an toàn: tự viết phần cốt lõi (chia dữ liệu, vòng lặp huấn luyện, cách đo), nhờ AI ở phần phụ (vẽ biểu đồ, dọn code, gợi ý câu chữ README), và ghi rõ điều đó trong README.

Cẩn thận
  • Làm theo nguyên hướng dẫn trên mạng mà không thêm phần nào của mình.
  • Báo độ chính xác mà không có mốc so sánh và không nói dữ liệu có lệch không.
  • Đưa khóa API lên GitHub cùng dự án dùng API.
  • Dùng dữ liệu không rõ giấy phép hoặc có thông tin cá nhân.
  • Mười kho dở dang thay vì ba dự án hoàn chỉnh.

Câu hỏi thường gặp

Dự án làm theo bài hướng dẫn có được tính không?

Được nếu bạn thêm phần của mình: dữ liệu khác, so thêm mô hình, phân tích lỗi, và ghi rõ nguồn hướng dẫn.

Dự án dùng API có tốn nhiều tiền không?

Thường rất ít với vài trăm lần gọi trên mô hình nhỏ. Ước tính trước theo số token và bảng giá, và đặt hạn mức chi tiêu.

Nên chọn dự án nào đầu tiên?

Dự án gần với điều bạn quan tâm và vừa kỹ năng hiện có. Với người mới, phân tích dữ liệu hoặc tóm tắt văn bản chạy trên máy là khởi đầu nhẹ nhàng.

Có nên làm dự án nhóm không?

Có, nhưng ghi rõ phần bạn làm trong README. Người phỏng vấn sẽ hỏi chính phần đó.

Học tiếp

Nếu bạn muốn học Python và AI bài bản cùng giảng viên, tham khảo khóa học AI của Big-O Coding.

Muốn học bài bản cùng giảng viên?

Khóa AI – Introduction to Machine Learning: nền tảng Máy học từ thuật toán cơ bản đến Neural Networks và LLM, học bằng Python. Học thử buổi 1 miễn phí.

Xem Khóa AI

Nguồn tham khảo

Chia sẻ: Facebook LinkedIn
Nhắn Zalo tư vấnZalo Gọi 0937 401 483