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

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

Bây giờ bạn đang sử dụng thư viện LangChain, bạn sẽ sử dụng nó để móc xích 2 bước này, cho phép LangChain quan tâm
đến giành thông tin từ Chroma, tạo prompt, và trả về kết quả của model.
Dòng làm việc là rất đơn giản, chứa chỉ 2 bước và 2 bộ phận.
Bước đầu tiên sẽ đòi hỏi cái giành. Bộ phận này được sử dụng để giành thông tin từ các tài liệu hay text bạn cung
cấp như tài liệu. Trong trường hợp này, nó sẽ thực hiện một tìm kiếm dựa trên tương tự sử dụng các embeddings để
giành thông tin phù hợp cho truy vấn của người dùng từ cái gì chúng ta đã lưu giữ trong ChromaDB.
Bước thứ 2 và cuối cùng sẽ đòi hỏi mô hình ngôn ngữ được chọn, cái sẽ nhận thông tin trả về bởi cái giành như một
phần của prompt.
Vì vậy, nó là cần thiết để nhập khẩu các thư viện để tạo cái giành và dòng ống.

from langchain.chains import RetrievalQA
from langchain.llms import HuggingFacePipeline

Bây giờ, bạn có thể tạo cái giành, sử dụng Chroma object chứa trong lời gọi tới Chroma.from_documents bạn đã tạo trước
kia.

retriever = chroma_db.as_retriever()

Bây giờ rằng bạn đã có cái giành, cần thiết cho chạy bước đầu tiên của móc xích, bước tiếp theo là giành model và
kết hợp chúng để tạo chuỗi LangChain.

model_id = “databricks/dolly-v2-3b” #my favorite textgeneration model for testing
task=”text-generation”
#model_id = “google/flan-t5-large” #Nice text2text model
#task=”text2text-generation”

Tôi đã test giải pháp với cả 2 models. Các trả lời giành được là rất khác vì đây là 2 models cái là thực sự khác
nhau. Databricks/dolly-v2-3b là một mô hình ngôn ngữ lớn với 3 tỷ tham số, huấn luyện chuyên cho tạo sinh text.
Nó sử dụng một kiến trúc decoder-only, cái làm nó đặc biệt phù hợp tốt cho các nhiệm vụ cái đòi hỏi khởi tạo text
mạch lạc và trôi chảy, như viết các articles, stories hay dialogues. Mặt khác, google/flan-t5-large: model này
dựa trên kiến trúc T5 (Text-to-Text Transfer Transformer) và có một cấu trúc encoder-decoder. Nó là một model linh
động cái có thể xử lí một phạm vi rộng các nhiệm vụ NLP, bao gồm dịch, tóm tắt, và trả lời câu hỏi. Nó đặc biệt tốt
cho các nhiệm vụ cái đòi hỏi hiểu và chuyển dạng text, hơn là tạo sinh nó từ đầu.
Dolly là phù hợp hơn cho các nhiệm vụ như viết sáng tạo, kể chuyện, nghĩ nhanh, và khởi tạo các trả lời trò chuyện.
Tuy nhiên, nó có thể sinh ra các trả lời ít tập trung hơn. Kiến trúc T5 model là phù hợp nhất cho các nhiệm vụ như
dịch hay trả lời câu hỏi, nhưng nó thiếu sáng tạo trong khởi tạo các trả lời hay trả lời các prompts kết thúc mở.

Chia sẻ