Khởi tạo môi trường ảo và cài đặt các gói Python cần thiết
Bước đầu tiên là cô lập môi trường Python cho dự án để tránh xung đột thư viện với hệ thống Ubuntu.
Tạo thư mục dự án mới và kích hoạt virtual environment sử dụng module venv tích hợp sẵn trong Python 3.
mkdir -p ~/langchain-ai-project
cd ~/langchain-ai-project
python3 -m venv venv
source venv/bin/activate
Khi chạy lệnh thành công, prompt terminal sẽ hiển thị (venv) ở đầu dòng, báo hiệu môi trường ảo đã được kích hoạt.
Nâng cấp pip, setuptools và wheel để đảm bảo tương thích tốt nhất với các gói mới nhất trên Ubuntu 24.04.
pip install --upgrade pip setuptools wheel
Kết quả mong đợi là thông báo Successfully installed... với các phiên bản mới nhất.
Cài đặt bộ thư viện chính LangChain, langchain-community, và các driver PostgreSQL cần thiết cho việc kết nối cơ sở dữ liệu.
pip install langchain langchain-community langchain-postgres psycopg2-binary asyncpg
Lệnh này sẽ tải về và cài đặt LangChain core, gói cộng đồng chứa các tích hợp chuẩn, driver psycopg2 cho kết nối đồng bộ (sync) và asyncpg cho kết nối bất đồng bộ (async).
Verify: Kiểm tra phiên bản các gói đã cài bằng lệnh sau.
pip list | grep -iE "langchain|psycopg|asyncpg"
Bạn sẽ thấy danh sách các gói với phiên bản cụ thể, ví dụ: langchain==0.x.x, psycopg2-binary==x.x.x.
Cấu hình kết nối PostgreSQL với LangChain
Để LangChain giao tiếp được với PostgreSQL đã cấu hình pgvector ở Phần 2, ta cần chuẩn bị thông tin kết nối và kiểm tra tính khả dụng của driver.
Tạo file cấu hình môi trường .env để lưu trữ thông tin nhạy cảm như user, password, host và port. Đây là chuẩn best practice trong phát triển.
cat > .env
Thay thế your_secure_password bằng mật khẩu thực tế của user postgres bạn đã tạo ở Phần 2.
Cài đặt thư viện python-dotenv để ứng dụng có thể đọc file .env một cách an toàn thay vì hardcode thông tin.
pip install python-dotenv
Kết quả: Thư viện được cài đặt thành công trong virtual environment.
Tạo file script kiểm tra kết nối test_connection.py để xác minh driver psycopg2 và asyncpg hoạt động đúng với PostgreSQL.
cat > test_connection.py
Chạy script để verify kết nối:
python test_connection.py
Kết quả mong đợi: Xuất hiện dòng [SUCCESS] Sync connection... và [SUCCESS] Async connection... mà không có lỗi.
Thử nghiệm tạo Vector Store đầu tiên với LangChain
Bây giờ chúng ta sẽ tạo một Vector Store thực tế bằng LangChain, lưu trữ các vector embeddings vào PostgreSQL (pgvector).
Tạo file script create_vector_store.py để định nghĩa VectorStore, tạo embeddings mẫu và lưu vào database.
cat > create_vector_store.py
Trước khi chạy, cần cài thêm thư viện xử lý embeddings từ HuggingFace.
pip install sentence-transformers
Chạy script tạo Vector Store:
python create_vector_store.py
Kết quả mong đợi: Script chạy không lỗi, in ra thông báo [SUCCESS] Vector Store created and verified! và hiển thị nội dung của các đoạn văn bản đã được tìm kiếm lại.
Verify trực tiếp trên PostgreSQL để đảm bảo bảng và dữ liệu vector đã được tạo vật lý.
psql -h localhost -U postgres -d ai_embedding_db -c "\dt langchain_langchain_test_docs"
Bạn sẽ thấy bảng langchain_langchain_test_docs trong danh sách các bảng.
psql -h localhost -U postgres -d ai_embedding_db -c "SELECT count(*) FROM langchain_langchain_test_docs;"
Kết quả: Trả về số lượng dòng (ví dụ: (3)), xác nhận dữ liệu đã được lưu vào PostgreSQL.
Đ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
Phần 4: Chuẩn bị dữ liệu và tạo Embeddings cho RAG »