Phác thảo nhanh
Bài đăng này sẽ chứng minh những điều sau đây:
Cách sao chép hệ thống MRKL bằng cách sử dụng tác nhân trong LangChain
- Bước 1: Cài đặt Framework
- Bước 2: Thiết lập môi trường OpenAI
- Bước 3: Nhập thư viện
- Bước 4: Xây dựng cơ sở dữ liệu
- Bước 5: Tải lên cơ sở dữ liệu
- Bước 6: Cấu hình công cụ
- Bước 7: Xây dựng và thử nghiệm tác nhân
- Bước 8: Nhân rộng hệ thống MRKL
- Bước 9: Sử dụng ChatModel
- Bước 10: Kiểm tra tác nhân MRKL
- Bước 11: Nhân rộng hệ thống MRKL
Làm cách nào để nhân rộng hệ thống MRKL bằng cách sử dụng đại lý trong LangChain?
LangChain cho phép người dùng xây dựng các tác nhân có thể được sử dụng để thực hiện nhiều tác vụ cho mô hình ngôn ngữ hoặc chatbot. Tác nhân lưu trữ công việc của mình với tất cả các bước trong bộ nhớ gắn liền với mô hình ngôn ngữ. Bằng cách sử dụng các mẫu này, tác nhân có thể sao chép hoạt động của bất kỳ hệ thống nào như MRKL để có được kết quả được tối ưu hóa mà không cần phải xây dựng lại chúng.
Để tìm hiểu quy trình sao chép hệ thống MRKL bằng cách sử dụng các tác nhân trong LangChain, chỉ cần thực hiện các bước được liệt kê:
Bước 1: Cài đặt Framework
Trước hết, hãy cài đặt các mô-đun thử nghiệm LangChain bằng pip bằng lệnh langchain-thử nghiệm:
pip cài đặt thử nghiệm langchain
Cài đặt module OpenAI xây dựng mô hình ngôn ngữ cho hệ thống MRKL:
cài đặt pip openai
Bước 2: Thiết lập môi trường OpenAI
Nhập thư viện os và getpass để truy cập hệ điều hành nhằm nhắc người dùng cung cấp khóa API cho tài khoản OpenAI và SerpAPi:
nhập khẩu Bạnnhập khẩu vượt qua
Bạn . khoảng [ 'OPENAI_API_KEY' ] = vượt qua . vượt qua ( 'Khóa API OpenAI:' )
Bạn . khoảng [ 'SERPAPI_API_KEY' ] = vượt qua . vượt qua ( 'Khóa API Serpapi:' )
Bước 3: Nhập thư viện
Sử dụng các phần phụ thuộc từ LangChain để nhập các thư viện cần thiết nhằm xây dựng mô hình, công cụ và tác nhân ngôn ngữ:
từ langchain. dây chuyền nhập khẩu LLMMathChaintừ langchain. llms nhập khẩu OpenAI
từ langchain. tiện ích nhập khẩu SerpAPIWrapper
từ langchain. tiện ích nhập khẩu Cơ sở dữ liệu SQL
từ langchain_experimental. sql nhập khẩu Chuỗi cơ sở dữ liệu SQL
từ langchain. đại lý nhập khẩu khởi tạo_agent , Dụng cụ
từ langchain. đại lý nhập khẩu Loại tác nhân
Bước 4: Xây dựng cơ sở dữ liệu
MRKL sử dụng các nguồn kiến thức bên ngoài để trích xuất thông tin từ dữ liệu. Bài đăng này sử dụng SQLite có thể được tải xuống bằng cách sử dụng này hướng dẫn để xây dựng cơ sở dữ liệu. Lệnh sau xác nhận quá trình tải xuống SQLite bằng cách hiển thị phiên bản đã cài đặt của nó:
sqlite3
Sử dụng các lệnh sau bên trong thư mục để tạo cơ sở dữ liệu bằng dấu nhắc lệnh:
đĩa CD Máy tính để bànđĩa CD mydb
sqlite3 Chinook. db
Tải về Cơ sở dữ liệu tập tin và lưu trữ nó trong thư mục để sử dụng lệnh sau để tạo “ .db ' tài liệu:
. đọc Chinook_Sqlite. sqlCHỌN * TỪ GIỚI HẠN Nghệ sĩ 10 ;
Bước 5: Tải lên cơ sở dữ liệu
Khi cơ sở dữ liệu được tạo thành công, hãy tải tệp lên cộng tác Google:
từ Google. ET AL nhập khẩu các tập tinđã tải lên = các tập tin. tải lên ( )
Người dùng có thể truy cập tệp đã tải lên trên sổ ghi chép để sao chép đường dẫn của tệp từ menu thả xuống:
Bước 6: Cấu hình công cụ
Sau khi xây dựng cơ sở dữ liệu, cấu hình mô hình ngôn ngữ, công cụ và chuỗi cho các tác nhân:
tìm kiếm = SerpAPIWrapper ( )ừm = OpenAI ( nhiệt độ = 0 )
llm_math_chain = LLMMathChain ( ừm = ừm , dài dòng = ĐÚNG VẬY )
db = Cơ sở dữ liệu SQL. từ_uri ( 'sqlite:///../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. từ_llm ( ừm , db , dài dòng = ĐÚNG VẬY )
công cụ = [
Dụng cụ (
tên = 'Tìm kiếm' ,
vui vẻ = tìm kiếm. chạy ,
Sự miêu tả = 'Hỏi các lời nhắc được nhắm mục tiêu để nhận câu trả lời về các vấn đề gần đây'
) ,
Dụng cụ (
tên = 'Máy tính' ,
vui vẻ = llm_math_chain. chạy ,
Sự miêu tả = 'hữu ích cho việc trả lời/giải các bài toán'
) ,
Dụng cụ (
tên = 'FooBar DB' ,
vui vẻ = db_chain. chạy ,
Sự miêu tả = 'hữu ích khi trả lời các truy vấn từ cơ sở dữ liệu và câu hỏi đầu vào phải có ngữ cảnh hoàn chỉnh'
)
]
- Xác định ừm biến bằng cách sử dụng OpenAI() phương pháp để có được mô hình ngôn ngữ.
- Các tìm kiếm là công cụ gọi SerpAPIWrapper() phương pháp truy cập vào môi trường của nó.
- Các LLMMathChain() phương pháp được sử dụng để có được câu trả lời liên quan đến các vấn đề toán học.
- Xác định db biến có đường dẫn của tệp bên trong Cơ sở dữ liệu SQL() phương pháp.
- Các SQLDatabaseChain() phương pháp có thể được sử dụng để lấy thông tin từ cơ sở dữ liệu.
- Xác định các công cụ như tìm kiếm , máy tính , Và FooBar DB để xây dựng tác nhân trích xuất dữ liệu từ các nguồn khác nhau:
Bước 7: Xây dựng và thử nghiệm tác nhân
Khởi tạo hệ thống MRKL bằng cách sử dụng các công cụ, llm và tác nhân để nhận câu trả lời cho các câu hỏi mà người dùng đặt ra:
Mrkl = khởi tạo_agent ( công cụ , ừm , đại lý = Loại đại lý. ZERO_SHOT_REACT_DESCRIPTION , dài dòng = ĐÚNG VẬY )Thực thi hệ thống MRKL bằng phương thức run() với câu hỏi làm đối số:
mrkl. chạy ( 'Leo DiCaprio và bạn gái hiện tại bao nhiêu tuổi cũng cho thấy sự chênh lệch tuổi tác của họ' )đầu ra
Tác nhân đã tạo ra câu trả lời cuối cùng với đường dẫn đầy đủ được hệ thống sử dụng để trích xuất câu trả lời cuối cùng:
Bước 8: Nhân rộng hệ thống MRKL
Bây giờ, chỉ cần sử dụng Mrkl từ khóa bằng phương thức run() để nhận câu trả lời từ các nguồn khác nhau như cơ sở dữ liệu:
mrkl. chạy ( 'Tên đầy đủ của nghệ sĩ có album mang tên 'The Storm Before the Calm' được phát hành gần đây là gì và họ có trong cơ sở dữ liệu FooBar cũng như album nào của họ có trong cơ sở dữ liệu' )Tác nhân đã tự động chuyển câu hỏi thành truy vấn SQL để lấy câu trả lời từ cơ sở dữ liệu. Tác nhân tìm kiếm nguồn chính xác để có câu trả lời và sau đó tập hợp truy vấn để trích xuất thông tin:
Bước 9: Sử dụng ChatModel
Người dùng có thể chỉ cần thay đổi mô hình ngôn ngữ bằng cách sử dụng phương thức ChatOpenAI() để biến nó thành ChatModel và sử dụng hệ thống MRKL với nó:
từ langchain. chat_models nhập khẩu Trò chuyệnOpenAItìm kiếm = SerpAPIWrapper ( )
ừm = Trò chuyệnOpenAI ( nhiệt độ = 0 )
llm1 = OpenAI ( nhiệt độ = 0 )
llm_math_chain = LLMMathChain ( ừm = llm1 , dài dòng = ĐÚNG VẬY )
db = Cơ sở dữ liệu SQL. từ_uri ( 'sqlite:///../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. từ_llm ( llm1 , db , dài dòng = ĐÚNG VẬY )
công cụ = [
Dụng cụ (
tên = 'Tìm kiếm' ,
vui vẻ = tìm kiếm. chạy ,
Sự miêu tả = 'Hỏi các lời nhắc được nhắm mục tiêu để nhận câu trả lời về các vấn đề gần đây'
) ,
Dụng cụ (
tên = 'Máy tính' ,
vui vẻ = llm_math_chain. chạy ,
Sự miêu tả = 'hữu ích cho việc trả lời/giải các bài toán'
) ,
Dụng cụ (
tên = 'FooBar DB' ,
vui vẻ = db_chain. chạy ,
Sự miêu tả = 'hữu ích khi trả lời các truy vấn từ cơ sở dữ liệu và câu hỏi đầu vào phải có ngữ cảnh hoàn chỉnh'
)
]
Bước 10: Kiểm tra tác nhân MRKL
Sau đó, xây dựng tác nhân và khởi tạo nó trong biến mrkl bằng phương thức khởi tạo_agent(). Thêm tham số của phương thức để tích hợp các thành phần như công cụ, llm, tác nhân và chi tiết để có được quy trình hoàn chỉnh ở đầu ra:
Mrkl = khởi tạo_agent ( công cụ , ừm , đại lý = Loại đại lý. CHAT_ZERO_SHOT_REACT_DESCRIPTION , dài dòng = ĐÚNG VẬY )Thực hiện câu hỏi bằng cách chạy hệ thống mrkl như trong ảnh chụp màn hình sau:
mrkl. chạy ( 'Bạn gái của Leo DiCaprio là ai? Tuổi hiện tại của họ là bao nhiêu' )
đầu ra
Đoạn mã sau hiển thị câu trả lời cuối cùng được tác nhân trích xuất:
Bước 11: Nhân rộng hệ thống MRKL
Sử dụng hệ thống MRKL bằng cách gọi phương thức run() với câu hỏi bằng ngôn ngữ tự nhiên để trích xuất thông tin từ cơ sở dữ liệu:
mrkl. chạy ( 'Tên đầy đủ của nghệ sĩ có album mang tên 'The Storm Before the Calm' được phát hành gần đây là gì và họ có trong cơ sở dữ liệu FooBar cũng như album nào của họ có trong cơ sở dữ liệu' )đầu ra
Nhân viên hỗ trợ đã hiển thị câu trả lời cuối cùng được trích xuất từ cơ sở dữ liệu như trong ảnh chụp màn hình sau:
Đó là tất cả về quá trình sao chép hệ thống MRKL bằng cách sử dụng các tác nhân trong LangChain:
Phần kết luận
Để sao chép hệ thống MRKL bằng cách sử dụng các tác nhân trong LangChain, hãy cài đặt các mô-đun để nhận các phần phụ thuộc để nhập thư viện. Các thư viện được yêu cầu xây dựng mô hình ngôn ngữ hoặc mô hình trò chuyện để nhận được câu trả lời từ nhiều nguồn bằng cách sử dụng các công cụ. Các tác nhân được định cấu hình để sử dụng các công cụ trích xuất đầu ra từ các nguồn khác nhau như internet, cơ sở dữ liệu, v.v. Hướng dẫn này trình bày chi tiết về quy trình sao chép hệ thống MRKL bằng cách sử dụng các tác nhân trong LangChain.