Mọi hướng dẫn RAG chạy trên một laptop với vài trăm tài liệu, và nó cảm giác dễ dàng. Rồi bạn trỏ nó vào một corpus thật — tài liệu của một công ty, nhiều năm ticket, một cơ sở tri thức — và đột nhiên bộ nhớ là toàn bộ câu chuyện.
RAG không mở rộng theo CPU. Nó mở rộng theo RAM.
Vì sao chỉ mục muốn bộ nhớ
Truy xuất hoạt động bằng cách biến mỗi chunk văn bản thành một embedding — một vector, dài vài trăm đến vài nghìn con số. Tìm kiếm nghĩa là so sánh vector truy vấn của bạn với tất cả chúng, nhanh chóng. "Nhanh" là từ then chốt: để độ trễ thấp chỉ mục cần sống trong RAM. Trên đĩa nó hoạt động, nhưng mỗi truy vấn phải trả một khoản phạt, và truy xuất độ trễ thấp là mục đích của tự host ngay từ đầu.
Nên hóa đơn bộ nhớ mở rộng theo hai thứ: bạn có bao nhiêu chunk, và mỗi vector rộng bao nhiêu.
Các con số thực, đại khái
Đo của riêng bạn — chiều và loại chỉ mục di chuyển điều này nhiều — nhưng như một cảm giác khởi đầu:
- Vài trăm nghìn embedding — thoải mái trong 2–4 GB. Một cơ sở tri thức cá nhân, tài liệu của một sản phẩm đơn.
- Vài triệu — cùng ứng dụng, client mô hình, và OS quanh nó, lên kế hoạch cho 16–32 GB. Đây là một cơ sở tri thức công ty nghiêm túc hoặc một RAG đa nguồn.
- Hàng chục triệu, hoặc vector chiều cao — giờ bạn ở 48–80 GB, và quá đó qua vài cỗ máy. Các kho tài liệu lớn, truy xuất đa người thuê, hoặc bạn đang giữ vài chỉ mục nóng cùng lúc.
Một hệ thống đa agent cũng giữ một chỉ mục lớn chồng cả hai chi phí lên cùng cỗ máy — đó là cách một gói 32 GB lặng lẽ biến thành một cái 64 GB.
Lựa chọn engine, ngắn gọn
Nếu bạn đã chạy Postgres, pgvector là tùy chọn ít công sức nhất — nó là một extension, không phải một dịch vụ mới để trông nom. Khi bạn có hàng triệu vector và muốn tìm kiếm có lọc nhanh, một engine chuyên dụng như Qdrant hoặc Weaviate xứng đáng có tiến trình riêng. Đừng kỹ thuật quá mức nó vào ngày đầu tiên; chạy cái bạn đã vận hành và tách nó ra khi tìm kiếm thực sự chậm.
Sao lại phiền tự host
Hai lý do người ta thực sự làm điều này, và không cái nào là "để tiết kiệm vài đô la":
Quyền riêng tư. Các embedding không trừu tượng — chúng mã hóa văn bản chúng đến từ đó. Tài liệu của bạn, nội dung của khách hàng bạn, ghi chú nội bộ của bạn, biến thành vector và chuyển tới máy chủ của một bên thứ ba. Tự host giữ điều đó trên một cỗ máy bạn kiểm soát. Nếu dữ liệu nhạy cảm đủ để bạn cũng thanh toán bằng crypto không KYC, một cloud vector có quản lý phá hỏng toàn bộ mục đích.
Chi phí cố định. Các dịch vụ vector có quản lý tính tiền theo vector lưu trữ và truy vấn chạy. Một VPS là một con số hàng tháng và bạn có thể đập nó mạnh tùy thích. Ở quy mô, dự đoán được đánh bại đo lường.
Điều này nghĩa gì cho việc chọn kích cỡ
Bắt đầu bằng cách đo corpus của bạn, không phải bằng cách đoán. Lấy số embedding và chiều của bạn, nạp một mẫu, xem bộ nhớ thường trú, ngoại suy. Rồi chọn một gói với dư địa cho chỉ mục cộng mọi thứ quanh nó — ứng dụng, client mô hình, chỗ để lớn lên.
Cho bất cứ gì quá vài triệu vector được giữ riêng tư, dòng Pro chạy 32 đến 80 GB với một IP riêng và sao lưu hàng đêm, điều này quan trọng khi chỉ mục chính là sản phẩm và mất nó thì đau.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.