Sử dụng LangChain để tạo hệ thống RAG
Trong học phần trước, tôi đã giải thích làm cách nào sử dụng một CSDL vector như Chroma để lưu giữ thông tin và
để sử dụng nó trong tạo một prompt được hỗ trợ, với thông tin phù hợp phục hồi từ CSDL, cho truy vấn các mô hình
ngôn ngữ lớn.
Trong học phần này, bạn sẽ sử dụng LangChain để tái sinh cùng kịch bản. LangChain sẽ xử lí nhiệm vụ tìm kiếm qua
thông tin lưu giữ trong ChromaDB và trực tiếp truyền nó tới mô hình ngôn ngữ đang được sử dụng.
Vì bạn sẽ đang sử dụng các Hugging Face models, cái có thể được download và host trên các máy chủ riêng hay không
gian cloud, thông tin không phải đi qua các công ty như OpenAI. Đặc tính này là đặc biệt quan trọng cho nhiều công
ty cái không muốn dữ liệu của họ đi ra ngoài các hệ thống của họ.
Code hỗ trợ là có sẵn trên GitHub của trang sản phẩm, nằm tại https://github.com/Apress/Large-Language-Models-Projects.
Notebook cho ví dụ này được gọi là 3_1_RAG_langchain.ipynb.
Nếu bạn đang làm việc trong môi trường cá nhân của bạn và đã đang làm một vài tests, hay có thể dự án, với các công
nghệ này, bạn có thể có các thư viện cần thiết đã cài đặt xong. Tuy nhiên, nếu bạn đang sử dụng một notebook mới
trên Kaggle hay Colab, bạn sẽ cần cài đặt các thư viện sau:
+ LangChain: Thư viện cách mạng cái làm có thể việc tạo các ứng dụng với các mô hình ngôn ngữ lớn.
+ sentence_transformers: Bạn sẽ phải tạo sinh các embeddings của text bạn muốn lưu giữ trong CSDL vector, cho nó
bạn yêu cầu thư viện này.
+ Chromadb: CSDL vector sẽ được sử dụng. Chú ý là, ChromaDB nổi bật cho giao diện thân thiện người dùng của nó.
!pip install -q chromadb==0.4.22
!pip install -q langchain==0.0.354
!pip install -q sentence_transformers==2.2.2
Tôi đang chỉ ra các số phiên bản của các thư viện để ngăn các vấn đề tương thích cái có thể dấy lên trong tương
lai với các phiên bản khác. Tuy nhiên, cảm thấy tự do để thử với các phiên bản mới nhất có sẵn lúc này. Có khả năng
nhất, giải pháp sẽ làm việc đúng đắn mà không yêu cầu bất cứ điều chỉnh nào.
