1. Kiểm tra yêu cầu phần cứng và tài nguyên hệ thống
Trước khi bắt đầu cài đặt, bạn cần đảm bảo máy chủ (server) hoặc máy ảo (VM) của bạn đáp ứng các tiêu chuẩn tối thiểu để PostgreSQL và LangChain hoạt động ổn định, đặc biệt là bộ nhớ RAM cho việc xử lý Embeddings.
Chạy lệnh sau để kiểm tra tổng quan về CPU, RAM và Disk:
cat /proc/cpuinfo | grep "model name" | head -n 1 && free -h && df -hT /
Kết quả mong đợi: CPU tối thiểu 2 nhân (vcores), RAM tối thiểu 4GB (khuyến nghị 8GB+ cho các bài toán AI), và Disk còn trống tối thiểu 20GB với hệ thống file ext4 hoặc xfs.
Để kiểm tra sâu hơn về kiến trúc CPU (cần là x86_64 hoặc arm64) và phiên bản Kernel:
uname -a
Kết quả mong đợi: Dòng đầu phải chứa "Linux" và "x86_64" (hoặc "aarch64" nếu dùng ARM). Kernel version nên là 6.x trở lên.
2. Cài đặt Ubuntu 24.04 LTS và cấu hình mạng
Nếu bạn chưa có hệ điều hành, hãy tải ISO Ubuntu 24.04 LTS từ trang chủ ubuntu.com, tạo bootable USB hoặc gắn vào VM, và cài đặt theo mặc định. Sau khi cài xong, bước quan trọng nhất là cập nhật toàn bộ hệ thống và cấu hình nguồn gói tin (repository).
Đăng nhập vào shell root hoặc user có quyền sudo, sau đó chạy lệnh cập nhật danh sách gói tin và nâng cấp hệ thống:
sudo apt update && sudo apt upgrade -y
Kết quả mong đợi: Hệ thống sẽ liệt kê các gói cần nâng cấp, yêu cầu xác nhận (nhấn 'Y'), và hiển thị thông báo "Processing triggers..." khi hoàn tất.
Cấu hình hostname để dễ quản lý server trong môi trường production hoặc dev:
sudo hostnamectl set-hostname db-ai-server
Kết quả mong đợi: Không có lỗi. Tên máy sẽ thay đổi sau khi logout và login lại.
Cấu hình file /etc/hosts để server có thể gọi chính nó qua tên mới, tránh lỗi resolution trong các ứng dụng sau này:
sudo nano /etc/hosts
Sửa dòng chứa địa chỉ IP loopback (127.0.0.1) thành nội dung sau (thay bằng IP thực tế của server, kiểm tra bằng lệnh `ip addr`):
127.0.0.1 localhost
127.0.1.1 db-ai-server
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Kết quả mong đợi: Lưu file (Ctrl+O, Enter) và thoát (Ctrl+X). Chạy lệnh `ping db-ai-server` sẽ thấy packet đi về thành công.
Cấu hình firewall (UFW) để chỉ cho phép SSH, HTTP (nếu cần web UI) và chặn các cổng khác:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable
Kết quả mong đợi: Hệ thống hiển thị "Firewall is active and enabled on system startup". Bạn vẫn có thể SSH vào server bình thường.
3. Cài đặt các công cụ build và Git
Để biên dịch các thư viện C++ đi kèm với PostgreSQL và các gói Python phức tạp, bạn cần cài đặt bộ công cụ build-essential và Git.
Chạy lệnh cài đặt các gói cần thiết:
sudo apt install -y git make build-essential curl wget software-properties-common
Kết quả mong đợi: Các gói được tải về và cài đặt, không báo lỗi "E: Unable to locate package".
Verify kết quả bằng cách kiểm tra phiên bản của từng công cụ:
git --version && make --version | head -n 1 && gcc --version | head -n 1
Kết quả mong đợi: Hiển thị phiên bản Git (2.x+), Make (4.x+), và GCC (13.x+). Nếu thiếu bất kỳ cái nào, bước cài đặt trên chưa thành công.
4. Cài đặt PostgreSQL 16
Ubuntu 24.04 mặc định có thể chưa có PostgreSQL 16 trong repository chính thức. Chúng ta sẽ thêm PPA (Personal Package Archive) từ trang chủ PostgreSQL để lấy phiên bản mới nhất.
Cài đặt gói hỗ trợ SSL và thêm repository chính thức của PostgreSQL:
sudo apt install -y gnupg lsb-release
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Kết quả mong đợi: Repository được thêm vào file list, không có lỗi download hoặc gpg.
Cập nhật lại danh sách gói tin và cài đặt PostgreSQL 16:
sudo apt update
sudo apt install -y postgresql-16 postgresql-contrib-16
Kết quả mong đợi: Quá trình cài đặt hoàn tất, dịch vụ PostgreSQL 16 được khởi động tự động.
Verify dịch vụ đang chạy và kiểm tra phiên bản:
sudo systemctl status postgresql
sudo -u postgres psql --version
Kết quả mong đợi: Status là "active (running)". Phiên bản hiển thị là "psql (PostgreSQL) 16.x".
Thiết lập mật khẩu cho user postgres để truy cập an toàn (bỏ qua bước này nếu dùng peer auth, nhưng tốt hơn nên đặt pass):
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'your_secure_password';"
Kết quả mong đợi: Hiển thị "ALTER ROLE". Lưu ý thay 'your_secure_password' bằng mật khẩu mạnh của bạn.
5. Cài đặt Python 3.12 và môi trường ảo
Ubuntu 24.04 mặc định thường đi kèm Python 3.12. Tuy nhiên, để đảm bảo môi trường phát triển sạch sẽ và không xung đột với hệ thống, chúng ta sẽ cấu hình để sử dụng Python 3.12 rõ ràng và cài đặt venv.
Đảm bảo Python 3.12 và các công cụ quản lý gói đã được cài đặt:
sudo apt install -y python3.12 python3.12-venv python3.12-dev python3-pip python3-pip-whl
Kết quả mong đợi: Các gói được cài đặt thành công. Kiểm tra phiên bản:
python3.12 --version
Kết quả mong đợi: Hiển thị "Python 3.12.x".
Tạo thư mục dự án và môi trường ảo (virtual environment) để cô lập các thư viện LangChain sau này:
mkdir -p ~/langchain-project
cd ~/langchain-project
python3.12 -m venv venv
Kết quả mong đợi: Thư mục `venv` được tạo ra bên trong thư mục dự án.
Kích hoạt môi trường ảo và nâng cấp pip:
source venv/bin/activate
pip install --upgrade pip setuptools wheel
Kết quả mong đợi: Shell prompt thay đổi, xuất hiện dấu `(venv)` ở đầu dòng lệnh. Pip được nâng cấp lên phiên bản mới nhất.
Verify toàn bộ môi trường đã sẵn sàng cho phần tiếp theo:
which python && python --version && which pip && pip --version
Kết quả mong đợi: Đường dẫn của python và pip phải trỏ vào thư mục `~/langchain-project/venv/bin/`. Phiên bản Python phải là 3.12.x.
Điều hướng series:
Mục lục: Series: Triển khai Database AI với LangChain, PostgreSQL và Ubuntu 24.04
Phần 2: Cấu hình PostgreSQL với tiện ích pgvector cho AI »