Bạn đã bao giờ muốn bước vào phòng và nói: "Jarvis, bật đèn lên" và căn phòng bừng sáng? Thay vì phụ thuộc vào Google Assistant hay Alexa (với nỗi lo về quyền riêng tư), chúng ta sẽ tự tay xây dựng hệ thống này.
Trong bài viết này, chúng ta sẽ kết nối Python với Home Assistant (HASS) để điều...
Mục tiêu hôm nay: Biến Jarvis từ một "cỗ máy if/else" thành một trợ lý biết tư duy và giao tiếp bằng ngôn ngữ tự nhiên.
Chúng ta sẽ sử dụng Google Gemini API (phiên bản Pro) vì nó mạnh mẽ, phản hồi nhanh và quan trọng nhất: Đang miễn phí cho dân lập trình (với giới hạn nhất định).
1. Chuẩn bị...
Hôm nay, chúng ta sẽ không viết code nữa. Chúng ta sẽ làm công việc của một "Release Engineer": Đóng gói sản phẩm.
1. Chuẩn bị Logo & Splash Screen
Một App xịn thì không thể dùng icon mặc định của Expo được.
Hãy chuẩn bị 2 file ảnh (PNG) và chép đè vào thư mục assets trong dự án...
Hôm nay chúng ta sẽ cài đặt thư viện expo-local-authentication. Nó cho phép App truy cập vào FaceID (iPhone) hoặc Cảm biến vân tay (Android) của thiết bị.
1. Cài đặt thư viện
Tại thư mục jarvis-mobile, chạy lệnh:
npx expo install expo-local-authentication
2. Viết Component màn hình khóa...
Hôm nay chúng ta sẽ vẽ giao diện điều khiển (UI) cho căn nhà. Không cần nói nhiều, nhìn phát biết ngay đèn nào đang bật, quạt nào đang quay.
1. Nâng cấp Backend (API quản lý thiết bị)
Trước khi vẽ nút bấm, Backend phải biết trạng thái của các thiết bị.
Mở file backend/server.py và thêm logic...
Hôm nay chúng ta sẽ code tính năng "nhìn và hiểu". Bạn sẽ chĩa điện thoại vào một món đồ, chụp "tách" một cái, và Jarvis sẽ nói cho bạn biết đó là gì.
1. Nâng cấp Backend (Xử lý hình ảnh)
Các Model AI hiện đại (như GPT-4o) yêu cầu ảnh phải được gửi dưới dạng chuỗi ký tự (Base64).
Mở file...
Hôm nay chúng ta sẽ hoàn thiện vòng lặp giao tiếp: Nghe (Voice Input) -> Xử lý (AI) -> Nói (TTS).
Mục tiêu: Jarvis tự động đọc to câu trả lời ngay khi nhận được phản hồi từ Server.
1. Cài đặt thư viện
Expo cung cấp sẵn thư viện expo-speech cực kỳ xịn xò.
Tại thư mục jarvis-mobile, chạy lệnh...
Hôm nay chúng ta sẽ code tính năng "bấm để nói". Hãy chuẩn bị tinh thần vì chúng ta sẽ phải đụng vào cả Backend (để nhận file) và Frontend (để ghi âm).
1. Nâng cấp Backend (FastAPI)
Server hiện tại chỉ biết nhận chữ (string). Chúng ta phải dạy nó nhận file âm thanh (UploadFile).
Bước 1: Cài...
Mục tiêu hôm nay:
Tạo một App Mobile giao diện Dark Mode "ngầu lòi".
Chạy được trên cả Android và iOS.
Kết nối với "Bộ não" Jarvis (FastAPI) đang chạy trên VPS (hoặc máy tính).
1. Chuẩn bị công cụ
Trên điện thoại: Vào App Store (iOS) hoặc CH Play (Android), tải ứng dụng tên là Expo Go.
Trên...
Đây là bài cuối cùng của Season 2. Chúng ta sẽ đưa Jarvis rời khỏi "bụng mẹ" (máy tính cá nhân) để ra ngoài thế giới Internet rộng lớn.
1. Chuẩn bị VPS (Máy chủ ảo)
Bạn cần thuê một VPS chạy hệ điều hành Ubuntu 22.04.
Nhà cung cấp gợi ý: DigitalOcean, Vultr, Hetzner, hoặc các nhà cung cấp...
Mục tiêu hôm nay:
Tạo một trang web nền đen (bg-black).
Tông màu chủ đạo là Cyan (Xanh lơ) đặc trưng của Jarvis.
Có hiệu ứng xoay tròn (Arc Reactor) khi AI đang suy nghĩ.
Kết nối trực tiếp với bộ não FastAPI chúng ta đã xây dựng.
1. Bước 0: Cấp quyền truy cập (CORS)
Trước khi làm giao diện...
Bây giờ chúng ta sẽ viết code để tạo ra... nhân viên cho Jarvis.
Hệ thống sẽ hoạt động như sau:
User: "Hãy tìm hiểu giá Bitcoin hiện tại và viết một bài nhận định ngắn."
Supervisor (Sếp): Đọc lệnh. Thấy cần tra cứu -> Giao cho Researcher.
Researcher (Lính 1): Dùng Tool Search Google -> Trả về...
Bộ não con người có 2 loại trí nhớ:
Short-term Memory (RAM): Nhớ những gì vừa nói trong cuộc hội thoại hiện tại. Tắt đi là quên.
Long-term Memory (Ổ cứng): Nhớ tên, tuổi, sở thích, thói quen của bạn mãi mãi.
Jarvis hiện tại chỉ có RAM. Hôm nay chúng ta sẽ lắp thêm ổ cứng cho nó bằng cách tận...
Hôm nay chúng ta sẽ vứt bàn phím đi. Từ giờ, bạn chỉ cần ngồi dựa lưng vào ghế và nói: "Hey Jarvis, báo cáo tình hình hôm nay!".
Quy trình hoạt động như sau:
Wake Word: Máy tính luôn lắng nghe ngầm. Khi phát hiện từ khóa "Jarvis", nó sẽ "Ting" một cái.
STT (Speech to Text): Ghi âm câu lệnh...
Hôm nay chúng ta sẽ biến Jarvis từ một trợ lý "gọi dạ bảo vâng" thành một người quản gia chủ động, biết báo cáo tình hình khẩn cấp.
Giải pháp đơn giản và hiệu quả nhất là tích hợp Telegram Bot. Nó miễn phí, nhanh, và bạn có thể nhận thông báo trên cả điện thoại lẫn máy tính.
1. Chuẩn bị: Tạo...
Anh em có thấy mệt khi mỗi lần khởi động Jarvis là phải mở 3-4 cái cửa sổ Terminal không?
Chạy Qdrant.
Chạy Ollama.
Chạy FastAPI.
Chạy Chainlit.
Chưa kể hôm nào đẹp trời cài lại Win, cài lại Python là lỗi tùm lum.
Hôm nay, chúng ta sẽ dùng Docker để gói tất cả lại thành một "cục". Chỉ cần gõ...
Từ đầu series đến giờ, "bộ não" của Jarvis vẫn đang nằm trên máy chủ của OpenAI ở tận Mỹ.
Ưu điểm: Thông minh, không tốn RAM máy mình.
Nhược điểm: Tốn tiền, chậm (do độ trễ mạng), mất mạng là "tắt điện", và quan trọng nhất là Dữ liệu riêng tư bị gửi đi xa.
Hôm nay, chúng ta sẽ bưng bộ não đó...
Chúng ta đã dạy Jarvis đủ thứ trên đời, nhưng nó vẫn chỉ là một phần mềm nằm trong ổ cứng. Hôm nay, chúng ta sẽ cho nó "đôi tay" để tác động vật lý lên ngôi nhà của bạn.
Giải pháp tối ưu nhất hiện nay là kết nối Jarvis với Home Assistant (HASS).
Home Assistant: Quản lý thiết bị (Đèn, quạt...
Jarvis của chúng ta đã biết nghe (Whisper), biết nói (TTS), biết suy nghĩ (LangGraph). Nhưng nó vẫn còn một điểm yếu chí mạng: Nó bị mù.
Bạn gửi cho nó tấm ảnh cái tủ lạnh và hỏi: "Gợi ý món ăn từ những thứ trong này", nó sẽ chịu chết.
Hôm nay, chúng ta sẽ mở khóa khả năng Vision (Thị giác máy...
Anh em code Agent bằng LangChain cũ thường gặp một vấn đề: Code chạy từ A đến Z, nếu giữa đường gặp lỗi hoặc kết quả không ưng ý, nó không biết quay đầu. Nó cứ thế đi tiếp và trả về kết quả rác.
Ví dụ: Bảo Jarvis viết code Python.
Nó viết code.
Code đó chạy bị lỗi Syntax.
Nó vẫn trả về cho bạn...