Cơ sở dữ liệu vector hoạt động như thế nào? Tìm kiếm và Lọc

Cơ sở dữ liệu vector hoạt động như thế nào?

Scrapeless Web Unlocker truy xuất nội dung web có thể cung cấp cho một pipeline lập chỉ mục và truy xuất vector được quản lý riêng.

Một cơ sở dữ liệu vector lưu trữ các biểu diễn vector với định danh và dữ liệu liên quan, sau đó truy xuất các bản ghi có vector gần với một vector truy vấn theo một metric đã chọn. Mô hình embedding xác định biểu diễn; cơ sở dữ liệu quản lý lưu trữ và tìm kiếm. Không thành phần nào tự nó biết liệu một đoạn văn được truy xuất có hiện thời, được cho phép, hoặc đủ để trả lời một câu hỏi hay không.

Thách thức thực tiễn là duy trì một liên kết đáng tin cậy giữa biểu diễn và nguồn của nó. Một cơ sở dữ liệu có thể trả về đúng các bản ghi gần nhất trong khi ứng dụng lại trả lời từ sai phiên bản sản phẩm hoặc một tài liệu đã bị xóa. Do đó, hiểu cơ sở dữ liệu vector hoạt động như thế nào đòi hỏi phải theo dõi bản ghi xuyên suốt quá trình nạp, lập chỉ mục, truy vấn, lọc và quản lý thay đổi.

Thực sự có gì được lưu trong một bản ghi vector?

Một bản ghi vector kết nối một mảng số với một định danh ổn định và thông tin cần thiết để diễn giải nó. Tùy vào hệ thống, văn bản đoạn có thể nằm trong cơ sở dữ liệu hoặc trong một kho tài liệu riêng. Metadata có thể xác định tài liệu nguồn, tenant, ngôn ngữ, phiên bản và phạm vi truy cập. Hãy quyết định hệ thống nào sở hữu từng trường trước khi xây dựng quy trình nạp dữ liệu.

Một định danh nên tồn tại qua các thay đổi xử lý thông thường mà không vô tình gộp các bản ghi không liên quan. Một phiên bản nội dung nên phân biệt các quan sát khác nhau về cùng một nguồn. Với một sổ tay chính sách giả định, khóa tài liệu xác định sổ tay, trong khi khóa đoạn xác định một đơn vị dẫn xuất và phiên bản của nó. Nếu văn bản nguồn và vector được lưu trữ tách biệt, các tham chiếu của chúng phải duy trì hợp lệ trong suốt các lần cập nhật và xóa.

Cơ sở dữ liệu tìm các vector lân cận như thế nào?

Tìm kiếm láng giềng gần nhất so sánh một vector truy vấn với các vector lưu trữ bằng một thước đo khoảng cách hoặc độ tương đồng được chỉ định. Quét chính xác đánh giá trực tiếp các ứng viên. Một chỉ mục xấp xỉ giảm khối lượng tìm kiếm bằng cách tổ chức các vector để truy vấn có thể kiểm tra một tập con đầy hứa hẹn. Xấp xỉ đánh đổi công sức tìm kiếm với khả năng bỏ sót các bản ghi gần hơn.

Phương pháp lập chỉ mục HNSW sử dụng một hệ phân cấp các đồ thị lân cận để điều hướng đến các láng giềng ứng viên. Nó là một thiết kế chỉ mục, không phải định nghĩa của mọi cơ sở dữ liệu vector. Tránh giả định rằng tất cả hệ thống đều có hành vi cập nhật, ngữ nghĩa lọc, hoặc yêu cầu bộ nhớ giống hệt nhau chỉ vì chúng quảng cáo tìm kiếm vector. Hãy đọc hành vi thực tế của hiện thực và kiểm thử nó trên tập dữ liệu dự kiến.

TầngTrách nhiệmGiả định sai phổ biến
Mô hình embeddingTạo các biểu diễn tương thíchCơ sở dữ liệu tự phát minh ra ý nghĩa
Chỉ mục vectorTìm các bản ghi ứng viên ở gầnTìm kiếm xấp xỉ luôn tìm được láng giềng chính xác
Lọc metadataGiới hạn các bản ghi đủ điều kiệnĐộ tương đồng thực thi quyền truy cập
Ứng dụngThu hồi bằng chứng và tạo câu trả lờiMột kết quả vector là một câu trả lời đã được kiểm chứng

Điều gì xảy ra từ câu hỏi đến đoạn văn được truy xuất?

Ứng dụng truy vấn trước tiên chuẩn bị đầu vào theo định dạng mà mô hình embedding của nó mong đợi. Nó mã hóa truy vấn, gửi vector cùng với các bộ lọc liên quan, truy xuất các định danh ứng viên và các giá trị liên kết, và thu hồi các đoạn văn mà người dùng hoặc mô hình trả lời cần. Việc reranking tùy chọn có thể áp dụng một phép kiểm tra mức độ liên quan khác lên những ứng viên đó.

Kiến trúc retrieval-augmented generation tách phần truy xuất khỏi phần sinh. Một truy vấn vector tự nó không phải là câu trả lời được sinh. Nếu một mô hình trả lời bịa ra chi tiết sau khi nhận được một đoạn chính xác, lỗi thuộc về phía hạ lưu. Nếu đoạn liên quan vắng mặt khỏi tập ứng viên, hãy kiểm tra quy trình nạp, biểu diễn, lọc và truy xuất trước khi thay đổi prompt trả lời.

Tại sao các bộ lọc metadata lại quan trọng?

Bộ lọc metadata giới hạn các bản ghi có thể tham gia vào kết quả. Chúng hữu ích cho tách biệt tenant, loại tài liệu, phiên bản sản phẩm và các ràng buộc tường minh khác. Độ tương đồng một mình không thể thực thi các yêu cầu này. Một đoạn về cấu hình của khách hàng khác có thể gần về ngữ nghĩa nhưng vẫn không thể chấp nhận để trả về.

Hành vi lọc khác nhau theo hệ thống và kế hoạch truy vấn. Hiện thực pgvector mô tả tìm kiếm chính xác và xấp xỉ cùng với các cân nhắc về lọc trong cơ sở dữ liệu. Hãy đánh giá sự kết hợp thực tế giữa bộ lọc và lập chỉ mục thay vì giả định rằng một benchmark mạnh không lọc áp dụng cho một truy vấn tenant hẹp. Quy tắc truy cập phải được đảm bảo trước khi bằng chứng được lộ ra cho mô hình, và hệ thống truy xuất nên thất bại an toàn khi metadata bắt buộc bị thiếu.

Làm thế nào để bạn giữ nội dung nguồn và vector luôn thẳng hàng?

Tính mới của vector đòi hỏi các cập nhật được phối hợp giữa văn bản nguồn, metadata và biểu diễn dẫn xuất. Một đoạn đã thay đổi thường cần một embedding mới tương ứng dưới mô hình đã chọn. Một nguồn bị xóa cần một đường dẫn gỡ bỏ tường minh cho các đoạn của nó, kết quả được cache và mọi bản sao văn bản tách biệt. Hãy xác định phiên bản có thẩm quyền thay vì chỉ dựa vào thời điểm thu thập.

Scrapeless Web Unlocker có thể cung cấp bước thu thập, trong khi hệ thống của bạn sở hữu việc chuẩn hoá và vòng đời chỉ mục. pipeline cơ sở dữ liệu vector mới kết nối các giai đoạn này. Giữ bản ghi thô khi được cho phép để một câu trả lời tệ có thể được truy vết về nội dung nguồn bị thiếu, mất mát khi trích xuất, một vector lỗi thời, hoặc một truy vấn không khớp.

Bạn Nên Đánh Giá Một Chỉ Mục Như Thế Nào?

Hãy đánh giá một chỉ mục xấp xỉ so với một đường cơ sở truy xuất đã biết và các đánh giá mức độ liên quan ở cấp độ tác vụ. Tìm kiếm chính xác trên cùng các vector giúp xác định tổn thất do xấp xỉ gây ra. Các cặp truy vấn–đoạn văn được con người xem xét giúp xác định liệu không gian embedding tự nó có truy xuất được bằng chứng hữu ích hay không. Đây là những bài kiểm tra khác nhau và có thể đưa đến các kết luận khác nhau.

Bao gồm các bộ lọc hạn chế, tài liệu trùng lặp, phiên bản đã thay đổi, và các truy vấn không có câu trả lời hỗ trợ. Ghi lại phiên bản corpus, cấu hình mô hình, cấu hình chỉ mục, và đầu vào truy vấn với mỗi lần đánh giá. Một truy vấn nhanh trả về một đoạn văn không được phép là một thất bại bất kể điểm tương đồng của nó. Một cấu hình chậm hơn có thể phù hợp nếu nó thoả mãn các ràng buộc về mức độ liên quan và vận hành một cách nhất quán hơn cho khối lượng công việc.

Khi Nào Cơ Sở Dữ Liệu Vector Là Công Cụ Phù Hợp?

Một cơ sở dữ liệu vector hữu ích khi truy xuất dựa trên độ tương đồng cần lưu trữ bền vững, lọc, cập nhật và một dịch vụ truy vấn ở quy mô vận hành yêu cầu. Một nguyên mẫu nhỏ có thể bắt đầu với các vector trong bộ nhớ hoặc một phần mở rộng cơ sở dữ liệu. Một dịch vụ riêng chỉ thêm giá trị khi các khả năng và mô hình vận hành của nó đáp ứng một nhu cầu thực tế.

Hãy dùng các truy vấn có cấu trúc thông thường cho các yêu cầu như định danh tài khoản chính xác hoặc trạng thái hợp đồng hiện tại. Dùng khớp từ vựng khi tên chính xác và mã lỗi mang ý nghĩa quyết định. Kết hợp các phương pháp tìm kiếm khi đánh giá cho thấy không phương pháp nào đơn lẻ truy xuất được bằng chứng cần thiết. Ứng dụng có thể gộp các ứng viên và xếp hạng chúng, nhưng mỗi giai đoạn bổ sung phải có một trách nhiệm được xác định và một đóng góp đo lường được.

Một Cuộc Rà Soát Vận Hành Nên Hỏi Gì?

Một cuộc rà soát vận hành nên hỏi cách các bản ghi đi vào, thay đổi, biến mất và trở nên hiển thị với người đọc. Kiểm tra tính bền vững, khôi phục, ranh giới danh tính, khả năng quan sát và khả năng kiểm tra văn bản đã truy xuất. Các truy vết yêu cầu nên cho phép tái dựng phiên bản corpus và các bộ lọc đã tạo ra câu trả lời mà không để lộ thông tin nhạy cảm không cần thiết.

Đối với một giả định di chuyển hệ thống, hãy xây dựng biểu diễn thay thế một cách tách biệt, chạy cùng các truy vấn đã được đánh giá trên cả hai phiên bản, và chỉ chuyển đường đi truy vấn sau khi tiêu chí chấp nhận được đáp ứng. Giữ một đường lui được ghi chép và quyết định cách các bản cập nhật đến được cả hai phiên bản trong giai đoạn chuyển tiếp. Điều này tránh một không gian biểu diễn hỗn hợp trong đó các vector tài liệu cũ và vector truy vấn mới tạo ra xếp hạng có vẻ hợp lệ nhưng không có ý nghĩa chung.

Điều Gì Xảy Ra Khi Một Kết Quả Đã Bị Xoá?

Một kết quả đã xoá kiểm tra xem cơ sở dữ liệu và ứng dụng có đồng ý về vòng đời bản ghi hay không. Hệ thống nên ngừng trả về bản ghi thông qua các truy vấn vector, tra cứu trực tiếp bằng định danh, truy xuất từ bộ nhớ đệm, và bất kỳ kho văn bản riêng nào theo hành vi xoá được ghi chép. Một cam kết gỡ bỏ hướng đến người dùng nên dựa trên những đường truy cập được hỗ trợ đó thay vì chỉ một yêu cầu xoá thành công.

Đối với một giả định về cơ sở tri thức, một chủ sở hữu tài liệu có thể gỡ bỏ một chính sách lỗi thời trong khi một tác vụ thu nạp nền vẫn còn một bản ghi cũ đang chờ xử lý. Nếu không có kiểm tra phiên bản, tác vụ đó có thể tạo lại các đoạn văn đã gỡ bỏ. Hãy xác định cách các dấu xoá, phiên bản nguồn và thứ tự thu nạp tương tác để một bản cập nhật muộn không thể âm thầm khôi phục nội dung đã rút lại.

Cũng hãy kiểm tra một bộ lọc metadata hẹp sau khi xoá. Một tập hợp có thể trông lành mạnh trong một truy vấn không hạn chế trong khi vẫn giữ một bản ghi ngoài mong đợi trong một tenant hoặc nhóm tài liệu nào đó. Bảo toàn đủ bằng chứng kiểm toán để xác định nguồn đã gỡ bỏ và các bản ghi dẫn xuất của nó, đồng thời tuân thủ các quy tắc lưu trữ của tổ chức. Những kiểm tra này thuộc về tính đúng đắn vận hành, không chỉ tinh chỉnh mức độ liên quan. Một dịch vụ lân cận gần hữu ích phải trả về các bản ghi vừa liên quan vừa vẫn còn đủ điều kiện tồn tại trong corpus đang hoạt động.

Kết Luận

Một cơ sở dữ liệu vector hoạt động bằng cách lưu trữ các biểu diễn và trả về các bản ghi đủ điều kiện ở gần. Truy xuất hữu ích phụ thuộc vào embedding tương thích, lập chỉ mục phù hợp, bộ lọc chính xác và các bản cập nhật bám sát nguồn. Kiểm thử từng trách nhiệm riêng biệt, sau đó đánh giá các đoạn văn mà ứng dụng thực sự sử dụng. Chọn hạ tầng dựa trên bằng chứng đó thay vì coi lưu trữ vector là một hệ thống tri thức hoàn chỉnh.

Thu thập cập nhật nguồn thông qua Scrapeless Web Unlocker, duy trì vòng đời chỉ mục trong ứng dụng của bạn, và đánh giá ngân sách tập hợp bằng cách sử dụng Scrapeless pricing.

Giữ Nguồn Truy Xuất Của Bạn Luôn Cập Nhật

Thu thập các trang nguồn cho một pipeline thu nạp có phiên bản mà ứng dụng của bạn kiểm soát.

Đăng ký hôm nay và nhận $5 in free credit — không cần thẻ tín dụng.

Nhận $5 Credit của Bạn →

FAQ

Mọi cơ sở dữ liệu vector đều là xấp xỉ phải không?

Cơ sở dữ liệu vector có thể hỗ trợ tìm kiếm chính xác, tìm kiếm xấp xỉ, hoặc cả hai. Các phương pháp có sẵn phụ thuộc vào triển khai. Hãy chọn một phương pháp thông qua mức độ liên quan đo lường được, độ trễ và yêu cầu vận hành thay vì giả định rằng xấp xỉ luôn là cần thiết.

Một cơ sở dữ liệu vector có thể tạo embeddings không?

Một số hệ thống tích hợp việc tạo embedding, trong khi những hệ thống khác mong đợi vector từ ứng dụng của bạn. Lưu trữ và biểu diễn vẫn là những trách nhiệm riêng biệt ngay cả khi một dịch vụ cung cấp cả hai. Hãy theo dõi cấu hình mô hình để tài liệu đã lưu trữ và truy vấn vẫn tương thích.

Kết quả gần nhất có luôn trả lời câu hỏi không?

Kết quả gần nhất không nhất thiết trả lời câu hỏi. Nó là ứng viên đủ điều kiện gần nhất theo biểu diễn và phương pháp tìm kiếm đã chọn. Hãy kiểm tra sự hỗ trợ từ nguồn và xác định ứng dụng sẽ làm gì khi không có ứng viên nào đủ tốt.

Có nên giữ lại văn bản gốc không?

Bản gốc của đoạn văn hoặc một bản tham chiếu có kiểm soát phiên bản đáng tin cậy nên được giữ lại. Người dùng và các mô hình trả lời cần bằng chứng có thể đọc được, trong khi người quản trị cần một cách để cập nhật, kiểm tra và xóa các bản ghi được tạo từ từng nguồn.

Tài liệu tham khảo