LangChain và các Agents (phần 8)

Sử dụng LangChain để tạo hệ thống RAG (tiếp tục)

Bây giờ tập dữ liệu được load, bạn có thể tạo một tài liệu sử dụng một trong những Langchan loaders.
Cho ví dụ này, bạn sẽ sử dụng DataFrameLoader; nó chính là một trong những loaders có sẵn. Có các loaders cho một
phạm vi rộng các nguồn, như CSVs, text files, HTML, JSON, PDFs và thậm chí cho các sản phẩm như Confluence.

from langchain.document_loaders import DataFrameLoader
from langchain.vectorstores import Chroma

Đảm bảo là, bạn đã nhận thấy một vài khác biệt từ dự án trước: loader và Chroma bây giờ được load từ các thư
viện LangChain.
Bước tiếp theo, sau khi load các thư viện là thiết lập một loader. Cái này đòi hỏi chỉ ra DataFrame và tên cột
sẽ được sử dụng như nội dung tài liệu.
Các chi tiết cung cấp sau đó sẽ được truyền tới ChromaDB, CSDL vector, nơi chúng được lưu giữ và sử dụng sau
này bởi mô hình ngôn ngữ cho biên tập các trả lời của nó.

df_loader = DataFrameLoader(subset_news, page_content_column=DOCUMENT)

Tạo tài liệu là đơn giản như gọi hàm load của Loader.

df_document = df_loader.load()
display(df_document)
[Document(page_content=”A closer look at water-splitting’s solar fuel potential”, metadata={‘topic’: ‘SCIENCE’, ‘link’: ‘https://www.eurekalert.org/pub_releases/2020-08/dbnl-acl080620.php’, ‘domain’: ‘eurekalert.org’, ‘published_date’: ‘2020-08-06 13:59:45’, ‘lang’: ‘en’}),
Document(page_content=’An irresistible scent makes locusts swarm, study finds’, metadata={‘topic’: ‘SCIENCE’, ‘link’: ‘https://www.pulse.ng/news/world/an-irresistible-scent-makes-locusts-swarm-study-finds/jy784jw’, ‘domain’: ‘pulse.ng’, ‘published_date’: ‘2020-08-12 15:14:19’, ‘lang’: ‘en’})]

Như bạn có thể thấy, mỗi tài liệu chứa 2 trường: page_content và metadata. Trường đầu tiên chứa text, cái trong
tập dữ liệu này rất là ngắn, làm các thứ dễ dàng hơn cho chúng ta. Tôi nghĩ rằng Chroma không có các giới hạn
trên kích cỡ text cái có thể được lưu giữ trong trường này. Tuy nhiên, nó nên được chú ý rằng nó sẽ được sử dụng
để tạo prompt, độ dài nào không thể vượt quá context window của mô hình ngôn ngữ được chọn.

Chia sẻ