Logo Zephyrnet

Hướng dẫn về Chroma DB | Cửa hàng Vector cho các LLM AI sáng tạo của bạn

Ngày:

Giới thiệu

Các mô hình ngôn ngữ lớn có tính sáng tạo như GPT, PaLM, v.v. được đào tạo trên lượng lớn dữ liệu. Các mô hình này không lấy văn bản từ tập dữ liệu vì máy tính không hiểu văn bản, chúng chỉ hiểu các con số. Phần nhúng là sự thể hiện của văn bản nhưng ở định dạng số. Tất cả thông tin đến và đi từ Mô hình ngôn ngữ lớn đều thông qua các phần nhúng này. Việc truy cập trực tiếp vào các phần nhúng này rất tốn thời gian. Do đó, cái được gọi là Cơ sở dữ liệu vectơ lưu trữ các phần nhúng này được thiết kế đặc biệt để lưu trữ và truy xuất hiệu quả các phần nhúng vectơ. Trong hướng dẫn này, chúng tôi sẽ tập trung vào một kho lưu trữ/cơ sở dữ liệu vectơ như vậy, Chroma DB, được sử dụng rộng rãi và là nguồn mở.

Mục tiêu học tập

  • Tạo các phần nhúng bằng ChromaDB và Nhúng mô hình
  • Tạo bộ sưu tập trong Chroma Vector Store
  • Lưu trữ tài liệu, hình ảnh và nội dung nhúng trong bộ sưu tập
  • Thực hiện các hoạt động Bộ sưu tập như xóa và cập nhật dữ liệu, đổi tên Bộ sưu tập
  • Cuối cùng, truy vấn các bộ sưu tập để trích xuất thông tin liên quan

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu.

Mục lục

Giới thiệu ngắn gọn về nhúng

Nhúng hoặc nhúng Vector là một cách biểu diễn dữ liệu (có thể là văn bản, hình ảnh, âm thanh, video, v.v.) ở định dạng số, nói chính xác đó là cách biểu diễn dữ liệu dưới dạng số trong không gian n chiều(a vectơ số). Bằng cách này, các phần nhúng cho phép chúng tôi nhóm các dữ liệu tương tự lại với nhau. Có những mô hình lấy những đầu vào này và chuyển đổi chúng thành vectơ. Một ví dụ như vậy là Word2Cũ, một mô hình nhúng phổ biến do Google phát triển, có chức năng chuyển đổi các từ thành vectơ (vectơ là các điểm có kích thước n). Tất cả các Mô hình ngôn ngữ lớn đều có các mô hình nhúng tương ứng, tạo ra các phần nhúng cho LLM của chúng.

Những phần nhúng này được sử dụng để làm gì?

Điều hay khi chuyển từ sang vectơ là chúng ta có thể so sánh chúng. Một máy tính không thể so sánh hai từ như chúng vốn có, nhưng nếu chúng ta cung cấp chúng dưới dạng đầu vào số, tức là nhúng vectơ thì nó có thể so sánh chúng. Chúng ta có thể tạo một cụm từ có cách nhúng tương tự. Các từ King, Queen, Prince, Princess sẽ xuất hiện thành một cụm vì chúng có liên quan với nhau.

Bằng cách nhúng này, chúng tôi có thể tìm thấy các từ tương tự với một từ nhất định. Chúng ta có thể kết hợp điều này vào các câu, trong đó chúng ta nhập một câu và lấy các câu liên quan từ dữ liệu được cung cấp. Đây là cơ sở cho Tìm kiếm ngữ nghĩa, Tương tự câu, Phát hiện bất thường, chatbot và nhiều trường hợp sử dụng khác. Chatbots mà chúng tôi xây dựng để thực hiện Trả lời câu hỏi từ một tệp PDF, Doc nhất định, tận dụng chính khái niệm nhúng này. Tất cả các Mô hình ngôn ngữ lớn sáng tạo đều sử dụng phương pháp này để nhận được nội dung có liên quan tương tự với các truy vấn được cung cấp cho chúng.

Cửa hàng Vector và sự cần thiết của chúng

Như đã thảo luận, nhúng thường là biểu diễn của bất kỳ loại dữ liệu nào, dữ liệu phi cấu trúc ở định dạng số trong không gian n chiều. Bây giờ chúng ta lưu trữ chúng ở đâu? Không thể sử dụng RDMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) truyền thống để lưu trữ các nhúng vectơ này. Đây là nơi Vector Store / Vector Dabase phát huy tác dụng. Cơ sở dữ liệu Vector được thiết kế để lưu trữ và truy xuất các bản nhúng vector một cách hiệu quả. Có rất nhiều Cửa hàng véc-tơ ngoài kia, khác nhau tùy theo mô hình nhúng mà chúng hỗ trợ và loại thuật toán tìm kiếm mà chúng sử dụng để lấy các véc-tơ tương tự.

Tại sao chúng ta cần chúng? Chúng tôi cần chúng vì chúng cung cấp quyền truy cập nhanh vào dữ liệu chúng tôi cần. Hãy xem xét một Chatbot dựa trên PDF. Bây giờ khi người dùng nhập một truy vấn, điều đầu tiên sẽ là tìm nạp nội dung liên quan từ PDF vào truy vấn đó và cung cấp thông tin này cho Chatbot. Để Chatbot có thể lấy thông tin liên quan đến truy vấn này và chứng minh câu trả lời phù hợp cho Người dùng. Bây giờ làm cách nào để chúng tôi có được nội dung liên quan từ PDF liên quan đến truy vấn Người dùng? Câu trả lời là một tìm kiếm tương tự đơn giản

Khi dữ liệu được biểu diễn dưới dạng nhúng vectơ, chúng ta có thể tìm thấy điểm tương đồng giữa các phần khác nhau của dữ liệu và trích xuất dữ liệu tương tự như một nhúng cụ thể. Trước tiên, truy vấn được chuyển đổi thành các phần nhúng bằng mô hình nhúng, sau đó Cửa hàng Vector lấy vectơ nhúng này rồi thực hiện tìm kiếm tương tự (thông qua các thuật toán tìm kiếm) giữa các phần nhúng khác mà nó đã lưu trữ trong cơ sở dữ liệu của mình và tìm nạp tất cả dữ liệu liên quan. Sau đó, các vectơ nhúng có liên quan này được chuyển đến Mô hình ngôn ngữ lớn, đây là chatbot sử dụng thông tin này để tạo câu trả lời cuối cùng cho Người dùng.

Chroma DB là gì?

Chroma là Cửa hàng Vector / Vector DB của công ty Chroma. Chroma DB giống như nhiều Cửa hàng Vector khác hiện có, dùng để lưu trữ và truy xuất các phần nhúng vectơ. Điểm hay là Chroma là một dự án Nguồn mở và Miễn phí. Điều này mang lại cho các nhà phát triển lành nghề khác trên thế giới khả năng đưa ra đề xuất và thực hiện những cải tiến to lớn cho Cơ sở dữ liệu và thậm chí người ta có thể mong đợi phản hồi nhanh chóng cho một vấn đề khi xử lý phần mềm Nguồn mở, vì toàn bộ cộng đồng Nguồn mở đều có mặt để xem và giải quyết vấn đề đó.

Hiện tại Chroma không cung cấp bất kỳ dịch vụ lưu trữ nào. Lưu trữ dữ liệu cục bộ trong hệ thống tệp cục bộ khi tạo ứng dụng trên Chroma. Mặc dù Chroma đang có kế hoạch xây dựng một dịch vụ lưu trữ trong tương lai gần. Chroma DB cung cấp nhiều cách khác nhau để lưu trữ các vectơ nhúng. Bạn có thể lưu trữ chúng trong bộ nhớ, bạn có thể lưu và tải chúng trong bộ nhớ, bạn chỉ cần chạy ứng dụng khách Chroma để nói chuyện với máy chủ phụ trợ. Nhìn chung, Chroma DB chỉ có 4 chức năng trong API, do đó làm cho nó ngắn gọn, đơn giản và dễ dàng để bắt đầu.

Hãy bắt đầu với Chroma DB

Trong phần này, chúng ta sẽ cài đặt Chroma và xem tất cả các chức năng mà nó cung cấp. Đầu tiên chúng ta sẽ cài đặt thư viện thông qua lệnh pip

$ pip install chromadb

API cửa hàng vectơ Chroma

Thao tác này sẽ tải xuống API Chroma Vector Store cho Python. Với gói này, chúng ta có thể thực hiện tất cả các tác vụ như lưu trữ các vectơ nhúng, truy xuất chúng và thực hiện tìm kiếm ngữ nghĩa cho một vectơ nhúng nhất định.

import chromadb
from chromadb.config import Settings client = chromadb.Client(Settings(chroma_db_impl="duckdb+parquet", persist_directory="/content/" ))

Cơ sở dữ liệu bộ nhớ

Chúng ta sẽ bắt đầu với việc tạo cơ sở dữ liệu liên tục trong bộ nhớ. Đoạn mã trên sẽ tạo một cái cho chúng ta. Để tạo một khách hàng, chúng tôi thực hiện Khách hàng() đối tượng từ Chroma DB. Bây giờ để tạo cơ sở dữ liệu trong bộ nhớ, chúng tôi định cấu hình ứng dụng khách của mình với các tham số sau

  • sắc độ_db_impl = “vịtdb+sàn gỗ”
  • thư mục kiên trì = “/nội dung/”

Thao tác này sẽ tạo cơ sở dữ liệu DuckDB trong bộ nhớ với định dạng tệp sàn gỗ. Và chúng tôi cung cấp thư mục nơi lưu trữ dữ liệu này. Ở đây chúng tôi đang lưu cơ sở dữ liệu trong thư mục /content/. Vì vậy, bất cứ khi nào chúng tôi kết nối với máy khách Chroma DB bằng cấu hình này, Chroma DB sẽ tìm kiếm cơ sở dữ liệu hiện có trong thư mục được cung cấp và sẽ tải nó. Nếu nó không có mặt thì nó sẽ tạo ra nó. Và khi chúng ta đóng kết nối thì dữ liệu sẽ được lưu vào thư mục này.

Bây giờ, chúng ta sẽ tạo một bộ sưu tập. Bộ sưu tập trong Cửa hàng Vector là nơi chúng tôi lưu tập hợp các phần nhúng vectơ, tài liệu và bất kỳ siêu dữ liệu nào nếu có. Bộ sưu tập trong cơ sở dữ liệu vectơ có thể được coi là Bảng trong Cơ sở dữ liệu quan hệ.

Tạo bộ sưu tập và thêm tài liệu

Bây giờ chúng ta sẽ tạo một bộ sưu tập và thêm tài liệu vào đó.

collection = client.create_collection("my_information") collection.add( documents=["This is a document containing car information", "This is a document containing information about dogs", "This document contains four wheeler catalogue"], metadatas=[{"source": "Car Book"},{"source": "Dog Book"},{'source':'Vechile Info'}], ids=["id1", "id2", "id3"]
)
  • Ở đây chúng ta bắt đầu bằng cách tạo một bộ sưu tập trước tiên. Ở đây chúng tôi đặt tên cho bộ sưu tập là “thông tin của tôi".
  • Đối với bộ sưu tập này, chúng tôi sẽ thêm tài liệu. Ở đây chúng tôi đang thêm 3 tài liệu, trong trường hợp của chúng tôi, chúng tôi chỉ thêm ba câu thành ba tài liệu. Tài liệu đầu tiên là về ô tô, tài liệu thứ hai là về chó và tài liệu cuối cùng là về xe bốn bánh.
  • Chúng tôi thậm chí còn thêm siêu dữ liệu. Siêu dữ liệu cho cả ba tài liệu được cung cấp.
  • Mỗi tài liệu cần phải có một ID duy nhất, do đó chúng tôi sẽ cấp id1, id2 và id3 cho chúng
  • Tất cả những điều này giống như những biến số của thêm vào() chức năng từ bộ sưu tập
  • Sau khi chạy mã, hãy thêm các tài liệu này vào bộ sưu tập của chúng tôi “thông tin của tôi"

Cơ sở dữ liệu vectơ

Chúng tôi đã biết rằng thông tin được lưu trữ trong Cơ sở dữ liệu Vector ở dạng nhúng Vector. Nhưng ở đây, chúng tôi đã cung cấp các tệp văn bản/văn bản tức là tài liệu. Vậy nó lưu trữ chúng như thế nào? Chroma DB theo mặc định, sử dụng một tất cả-MiniLM-L6-v2 mô hình nhúng vector để tạo các phần nhúng cho chúng tôi. Mô hình này sẽ lấy tài liệu của chúng tôi và chuyển đổi chúng thành các tệp nhúng vector. Nếu chúng ta muốn làm việc với một chức năng nhúng cụ thể giống như các mô hình chuyển đổi câu khác từ mô hình nhúng HuggingFace hoặc OpenAI, chúng ta có thể chỉ định chức năng đó trong phần embeddings_function=embedding_function_name tên biến trong create_collection() phương pháp.

Chúng tôi cũng có thể cung cấp các nội dung nhúng trực tiếp vào Cửa hàng Vector, thay vì chuyển tài liệu tới đó. Giống như tham số tài liệu trong tạo_bộ sưu tập, chúng ta có một nhúng tham số mà chúng tôi chuyển vào các phần nhúng mà chúng tôi muốn lưu trữ trong Cơ sở dữ liệu vectơ.

Như vậy bây giờ mô hình đã lưu trữ thành công ba tài liệu của chúng ta dưới dạng nhúng vectơ vào kho lưu trữ vectơ. Bây giờ, chúng ta sẽ xem xét việc lấy các tài liệu liên quan từ họ. Chúng tôi sẽ chuyển một truy vấn và sẽ tìm nạp các tài liệu có liên quan đến nó. Mã tương ứng cho việc này sẽ là

results = collection.query( query_texts=["Car"], n_results=2
) print(results)

Truy vấn Cửa hàng Vector

  • Để truy vấn một kho lưu trữ vector, chúng ta có một truy vấn() chức năng được cung cấp bởi các bộ sưu tập cho phép chúng tôi truy vấn cơ sở dữ liệu vectơ để tìm các tài liệu liên quan. Trong hàm này, chúng tôi cung cấp hai tham số
  • truy vấn_văn bản – Đối với tham số này, chúng tôi đưa ra danh sách các truy vấn mà chúng tôi cần trích xuất các tài liệu liên quan.
  • n_kết quả – Tham số này chỉ định cơ sở dữ liệu sẽ trả về bao nhiêu kết quả hàng đầu. Trong trường hợp của chúng tôi, chúng tôi muốn bộ sưu tập của mình trả về 2 tài liệu phù hợp nhất liên quan đến truy vấn
  • Khi chúng tôi chạy và in kết quả, chúng tôi nhận được kết quả sau
truy vấn một cửa hàng vector | cơ sở dữ liệu sắc độ

Chúng ta thấy rằng kho vector trả về hai tài liệu được liên kết với id1 id3. Các id1 là tài liệu về ô tô và id3 là tài liệu về xe bốn bánh, lại liên quan đến ô tô. Vì vậy khi chúng tôi đưa ra một truy vấn, Chrom DB sẽ chuyển đổi truy vấn thành dạng nhúng vectơ bằng mô hình nhúng mà chúng tôi đã cung cấp lúc đầu. Sau đó, việc nhúng vectơ này thực hiện tìm kiếm ngữ nghĩa (hàng xóm gần nhất tương tự) trên tất cả các tài liệu có sẵn. Truy vấn ở đây “xe hơi” phù hợp nhất với tài liệu id1 và id3, do đó chúng tôi nhận được kết quả sau cho truy vấn.

Điều này rất hữu ích khi chúng ta đang cố gắng xây dựng một ứng dụng trò chuyện bao gồm nhiều tài liệu. Thông qua kho lưu trữ vectơ, chúng tôi có thể tìm nạp các tài liệu có liên quan cho truy vấn được cung cấp bằng cách thực hiện tìm kiếm ngữ nghĩa và chỉ cung cấp các tài liệu này cho mô hình Generative AI cuối cùng, sau đó sẽ lấy các tài liệu liên quan này và tạo phản hồi cho truy vấn được cung cấp.

Cập nhật và xóa dữ liệu

Không phải lúc nào chúng tôi cũng thêm tất cả thông tin cùng một lúc vào Cửa hàng Vector. Trong hầu hết các trường hợp, chúng tôi chỉ có dữ liệu/tài liệu hạn chế khi bắt đầu mà chúng tôi thêm vào Cửa hàng Vector. Sau này, khi chúng tôi nhận được nhiều dữ liệu hơn, việc cập nhật các phần nhúng dữ liệu/vectơ hiện có trong Cửa hàng Vector là điều cần thiết. Để cập nhật dữ liệu trong Chroma DB chúng ta thực hiện như sau

collection.update( ids=["id2"], documents=["This is a document containing information about Cats"], metadatas=[{"source": "Cat Book"}],
)

Trước đây, thông tin trong tài liệu liên quan đến id2 là về Chó. Bây giờ chúng tôi đang đổi nó thành Mèo. Để thông tin này được cập nhật trong Cửa hàng Vector, chúng tôi chuyển id của tài liệu, tài liệu đã cập nhật và siêu dữ liệu đã cập nhật của tài liệu cho cập nhật () chức năng của các bộ sưu tập Điều này bây giờ sẽ cập nhật id2 tới Mèo mà trước đây là về Chó.

Truy vấn trong cơ sở dữ liệu

results = collection.query( query_texts=["Felines"], n_results=1
) print(results)
truy vấn trong cơ sở dữ liệu | cơ sở dữ liệu sắc độ

Chúng tôi chuyển Felines dưới dạng truy vấn tới Cửa hàng Vector. Mèo thuộc họ động vật có vú có tên là Felines. Vì vậy bộ sưu tập phải trả lại tài liệu Cat làm tài liệu liên quan cho chúng tôi. Ở đầu ra, chúng ta có thể thấy chính xác như nhau. Kho lưu trữ vectơ có thể thực hiện tìm kiếm ngữ nghĩa giữa truy vấn và nội dung của tài liệu và có thể trả về tài liệu hoàn hảo cho truy vấn được cung cấp.

Chức năng khó chịu

Có một chức năng tương tự như chức năng cập nhật được gọi là nâng cấp () chức năng. Sự khác biệt duy nhất giữa cả hai cập nhật ()nâng cấp () chức năng là, nếu ID tài liệu được chỉ định trong cập nhật () chức năng không tồn tại, cập nhật () chức năng sẽ gây ra lỗi. Nhưng trong trường hợp của nâng cấp () chức năng, nếu ID tài liệu không tồn tại trong bộ sưu tập thì nó sẽ được thêm vào bộ sưu tập tương tự như thêm vào() chức năng.

Đôi khi, để giảm dung lượng hoặc xóa thông tin không cần thiết/không mong muốn, chúng tôi có thể muốn xóa một số tài liệu khỏi bộ sưu tập trong Cửa hàng Vector.

collection.delete(ids = ['id1']) results = collection.query( query_texts=["Car"], n_results=2
) print(results)
chức năng khó chịu | cơ sở dữ liệu sắc độ

Chức năng xóa

Để xóa một mục khỏi bộ sưu tập, chúng ta có xóa bỏ() chức năng. Ở trên, chúng tôi đang xóa tài liệu đầu tiên được liên kết với id1 đó là về ô tô. Bây giờ để kiểm tra, chúng tôi truy vấn bộ sưu tập bằng “xe hơi” làm truy vấn và sau đó xem kết quả. Chúng tôi thấy rằng chỉ có 2 tài liệu id2 id3 xuất hiện, ở đâu id2 là tài liệu về xe bốn bánh gần với ô tô nhất và id3 là tài liệu về những con mèo ít gần ô tô nhất, nhưng như chúng tôi đã chỉ định n_kết quả = 2 chúng ta có được id3 cũng. Nếu chúng ta không chỉ định bất kỳ biến nào cho xóa bỏ() thì tất cả các mục sẽ bị xóa khỏi bộ sưu tập đó

Chức năng thu thập

Chúng ta đã thấy cách tạo một bộ sưu tập mới, sau đó thêm tài liệu cũng như các phần nhúng vào đó. Chúng tôi thậm chí đã thấy cách trích xuất thông tin liên quan cho một truy vấn từ bộ sưu tập, tức là từ các tài liệu được lưu trữ trong Cửa hàng Vector. Đối tượng bộ sưu tập từ Chroma DB cũng được liên kết với nhiều chức năng hữu ích khác.

Chúng ta hãy xem xét một số chức năng khác được cung cấp bởi Chroma DB

new_collections = client.create_collection("new_collection") new_collections.add( documents=["This is Python Documentation", "This is a Javascript Documentation", "This document contains Flast API Cheatsheet"], metadatas=[{"source": "Python For Everyone"}, {"source": "JS Docs"}, {'source':'Everything Flask'}], ids=["id1", "id2", "id3"]
) print(new_collections.count())
print(new_collections.get())
chức năng thu thập | cơ sở dữ liệu sắc độ

Chức năng đếm

Sản phẩm đếm() hàm từ các bộ sưu tập trả về số lượng mục có trong bộ sưu tập. Trong trường hợp của chúng tôi, chúng tôi có 3 tài liệu được lưu trữ trong bộ sưu tập của mình, do đó kết quả sẽ là 3. Đến với được() chức năng, nó sẽ trả về tất cả các mục có trong bộ sưu tập của chúng tôi cùng với siêu dữ liệu, idnhúng nếu có. Ở đầu ra, chúng ta thấy rằng tất cả các mục mà chúng ta có trong bộ sưu tập của mình đều phải vượt qua được() yêu cầu. Bây giờ chúng ta hãy xem việc sửa đổi tên bộ sưu tập

collection.modify(name="new_collection_name")

Chức năng sửa đổi

Sử dụng biến đổi() chức năng từ các bộ sưu tập để thay đổi tên của bộ sưu tập đã được đưa ra khi bắt đầu tạo bộ sưu tập. Khi chạy, hãy thay đổi tên bộ sưu tập từ tên cũ đã được xác định khi bắt đầu sang tên mới được cung cấp trong biến đổi() hàm dưới tên biến. Bây giờ, giả sử chúng ta có nhiều bộ sưu tập trong Cửa hàng Vector của mình. Cách làm việc trên một bộ sưu tập cụ thể, đó là cách lấy một bộ sưu tập cụ thể từ Cửa hàng Vector và cách xóa một bộ sưu tập cụ thể? Hãy xem cái này

my_collection = client.get_collection(name="my_information_2") client.delete_collection(name="my_information_2")

Chức năng Nhận bộ sưu tập

Sản phẩm get_collection() hàm sẽ tìm nạp một bộ sưu tập hiện có với điều kiện tên, từ Cửa hàng Vector. Nếu bộ sưu tập được cung cấp không tồn tại thì hàm sẽ đưa ra lỗi tương tự. Đây là get_collection() sẽ cố gắng để có được thông_tin_2 của tôi bộ sưu tập và gán nó cho biến bộ sưu tập của tôi. Để xóa một bộ sưu tập hiện có, chúng ta có xóa_collection() hàm lấy tên bộ sưu tập làm tham số (thông tin của tôi trong trường hợp này) và sau đó xóa nó, nếu nó tồn tại.

Kết luận

Trong hướng dẫn này, chúng ta đã biết cách bắt đầu với Chroma, một trong những Cơ sở dữ liệu vectơ nguồn mở. Ban đầu, chúng tôi bắt đầu tìm hiểu phần nhúng vectơ là gì, tại sao chúng cần thiết cho các mô hình Generative AI và cách Cửa hàng Vector hỗ trợ các Mô hình ngôn ngữ lớn tạo này. Sau đó, chúng tôi đi sâu vào Chroma và đã biết cách tạo bộ sưu tập trong Chroma. Sau đó, chúng tôi đã xem xét cách thêm dữ liệu như tài liệu vào Chroma và cách Chroma DB tạo ra các vectơ nhúng từ chúng. Cuối cùng, chúng ta đã thấy cách truy xuất thông tin liên quan đến truy vấn đã cho từ một bộ sưu tập cụ thể có trong Cửa hàng Vector.

Một số điểm chính trong hướng dẫn này bao gồm:

  • Vector Embeddings là các biểu diễn số (vectơ số) của dữ liệu phi số như văn bản, hình ảnh, âm thanh, v.v.
  • Cửa hàng Vector là cơ sở dữ liệu được sử dụng để lưu trữ các phần nhúng vector dưới dạng bộ sưu tập
  • Chúng cung cấp khả năng lưu trữ và truy xuất thông tin hiệu quả từ dữ liệu nhúng
  • Chroma DB có thể hoạt động như một cơ sở dữ liệu trong bộ nhớ và như một chương trình phụ trợ
  • Chroma DB có chức năng lưu trữ dữ liệu khi thoát và tải dữ liệu vào bộ nhớ khi bắt đầu kết nối, do đó duy trì dữ liệu
  • Với Vector Stores, việc trích xuất thông tin từ tài liệu, đưa ra đề xuất và xây dựng ứng dụng chatbot sẽ trở nên đơn giản hơn rất nhiều

Những câu hỏi thường gặp

Q1. Cơ sở dữ liệu Vector/Cửa hàng Vector là gì?

A. Cơ sở dữ liệu vectơ là nơi lưu trữ các phần nhúng vectơ. Chúng tồn tại bởi vì chúng cung cấp khả năng truy xuất hiệu quả các vectơ nhúng. Chúng được sử dụng để trích xuất thông tin liên quan cho truy vấn từ cơ sở dữ liệu của chúng thông qua tìm kiếm ngữ nghĩa.

Q2. Vector nhúng là gì?

A. Phần nhúng vectơ là sự thể hiện văn bản/hình ảnh/âm thanh/video ở định dạng số trong không gian n chiều, thường là dưới dạng vectơ số. Điều này được thực hiện vì máy tính không hiểu văn bản, hình ảnh hoặc bất kỳ dữ liệu phi số nào khác. Vì vậy, những phần nhúng này cho phép họ hiểu rõ dữ liệu vì dữ liệu này được trình bày ở định dạng số.

Q3. Mô hình nhúng là gì?

A. Mô hình nhúng là mô hình biến dữ liệu phi số như văn bản/hình ảnh thành định dạng số được nhúng vào vectơ. Theo mặc định, Chroma DB sử dụng mô hình all-MiniLM-L6-v2 để tạo các phần nhúng. Ngoài các mô hình này, còn có nhiều mô hình khác như Word2Vec của Google, mô hình Nhúng OpenAI, các Công cụ chuyển đổi câu khác từ HuggingFace, v.v.

Q4. Những vectơ/cơ sở dữ liệu vectơ nhúng này có thể được sử dụng ở đâu?

A. Các Cửa hàng Vector này tìm thấy ứng dụng của họ trong hầu hết mọi thứ liên quan đến mô hình Generative AI. Giống như trích xuất thông tin từ tài liệu, tạo hình ảnh từ các lời nhắc nhất định, xây dựng hệ thống đề xuất, nhóm dữ liệu liên quan lại với nhau, v.v.

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định riêng của Tác giả.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img