Làm cách nào để triển khai tính năng Tự hỏi với Chuỗi Tìm kiếm?

Lam Cach Nao De Trien Khai Tinh Nang Tu Hoi Voi Chuoi Tim Kiem



LangChain là mô-đun xây dựng mô hình ngôn ngữ và chatbot có thể hiểu và trích xuất văn bản bằng ngôn ngữ tự nhiên. Con người có thể dễ dàng hiểu được các ngôn ngữ tự nhiên nhưng máy móc cần phải học chúng bằng cách xem xét dữ liệu nhiều lần. Dữ liệu/tài liệu bằng ngôn ngữ tự nhiên có thể được sử dụng để huấn luyện mô hình và sau đó đưa ra lời nhắc từ dữ liệu để kiểm tra hiệu suất của mô hình.

Phác thảo nhanh

Bài đăng này sẽ chứng minh những điều sau đây:







Cách triển khai tính năng tự hỏi với chuỗi tìm kiếm



Phần kết luận



Làm cách nào để triển khai tính năng Tự hỏi với Chuỗi tìm kiếm?

Self-Ask là quá trình cải thiện quy trình xâu chuỗi vì nó hiểu rõ các lệnh. Các chuỗi hiểu câu hỏi bằng cách trích xuất dữ liệu về tất cả các thuật ngữ quan trọng từ tập dữ liệu. Sau khi mô hình được đào tạo và hiểu truy vấn, nó sẽ tạo ra phản hồi cho truy vấn mà người dùng yêu cầu.





Để tìm hiểu quy trình triển khai tính năng tự hỏi với chuỗi tìm kiếm trong LangChain, bạn chỉ cần xem qua hướng dẫn sau:

Bước 1: Cài đặt Framework

Trước hết, hãy bắt đầu quá trình bằng cách cài đặt quy trình LangChain bằng mã sau và lấy tất cả các phần phụ thuộc cho quy trình:



pip cài đặt langchain

Sau khi cài đặt LangChain, hãy cài đặt “ kết quả tìm kiếm của google ” để nhận kết quả tìm kiếm từ Google bằng môi trường OpenAI:

pip cài đặt openai google-kết quả tìm kiếm

Bước 2: Môi trường xây dựng

Khi các mô-đun và khung công tác đã được cài đặt, hãy thiết lập môi trường cho OpenAI SerpAPI bằng cách sử dụng API của họ bằng mã sau đây. Nhập thư viện os và getpass có thể được sử dụng để nhập khóa API từ tài khoản tương ứng của chúng:

nhập khẩu Bạn
nhậ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

Sau khi thiết lập môi trường, chỉ cần nhập các thư viện cần thiết từ các phần phụ thuộc của LangChain như tiện ích, đại lý, llm và các thư viện khác:

từ langchain. llms nhập khẩu OpenAI

từ langchain. tiện ích nhập khẩu SerpAPIWrapper

từ langchain. đại lý . đầu ra_parsers nhập khẩu SelfAskOutputParser

từ langchain. đại lý . format_scratchpad nhập khẩu định dạng_log_to_str

từ chuỗi lang nhập khẩu trung tâm

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 mô hình ngôn ngữ

Cần có các thư viện trên trong suốt quá trình vì OpenAI() được sử dụng để định cấu hình mô hình ngôn ngữ. Sử dụng phương thức SerpAPIWrapper() để định cấu hình biến tìm kiếm và đặt các công cụ cần thiết để tác nhân thực hiện tất cả các tác vụ:

ừm = OpenAI ( nhiệt độ = 0 )
tìm kiếm = SerpAPIWrapper ( )
công cụ = [
Dụng cụ (
tên = 'Câu trả lời trung gian' ,
vui vẻ = tìm kiếm. chạy ,
Sự miêu tả = 'hữu ích khi bạn cần hỏi bằng tìm kiếm' ,
)
]

Bước 5: Sử dụng ngôn ngữ biểu thức LangChain

Bắt đầu định cấu hình tác nhân bằng Ngôn ngữ biểu thức LangChain (LCEL) bằng cách tải mô hình trong biến nhắc:

lời nhắc = trung tâm. sự lôi kéo ( 'hwchase17/tự hỏi với tìm kiếm' )

Xác định một biến khác có thể được thực thi để ngừng tạo văn bản và kiểm soát độ dài của câu trả lời:

llm_with_stop = ừm. trói buộc ( dừng lại = [ ' \N Câu trả lời trung gian:' ] )

Bây giờ, hãy định cấu hình các tác nhân bằng Lambda, một nền tảng không có máy chủ theo sự kiện để tạo câu trả lời cho các câu hỏi. Ngoài ra, hãy định cấu hình các bước cần thiết để huấn luyện và kiểm tra mô hình nhằm đạt được kết quả tối ưu bằng cách sử dụng các thành phần đã được định cấu hình trước đó:

đại lý = {
'đầu vào' : lambda x: x [ 'đầu vào' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
x [ 'trung_bước' ] ,
quan sát_tiền tố = ' \N Câu trả lời trung gian: ' ,
llm_prefix = '' ,
) ,
} | nhắc | llm_with_stop | SelfAskOutputParser ( )

Bước 6: Cấu hình Agent Executor

Trước khi thử nghiệm phương thức, chỉ cần nhập thư viện AgentExecutor từ LangChain để làm cho tác nhân phản hồi:

từ langchain. đại lý nhập khẩu Đại lýExecutor

Xác định biến Agent_executor bằng cách gọi phương thức AgentExecutor() và sử dụng các thành phần làm đối số của nó:

đại lý_thực thi = Đại lýExecutor ( đại lý = đại lý , công cụ = công cụ , dài dòng = ĐÚNG VẬY )

Bước 7: Chạy Agent

Sau khi đã định cấu hình trình thực thi tác nhân, bạn chỉ cần kiểm tra nó bằng cách cung cấp câu hỏi/lời nhắc trong biến đầu vào:

đại lý_người thực thi. gọi ( { 'đầu vào' : “Ai là nhà vô địch giải Mỹ mở rộng nam” } )

Việc thực thi đoạn mã trên đã phản hồi với tên của Nhà vô địch US Open ở đầu ra, tức là Dominic Thiem:

Bước 8: Sử dụng Tác nhân tự hỏi

Sau khi nhận được phản hồi từ đại lý, hãy sử dụng SELF_ASK_WITH_SEARCH tác nhân với truy vấn trong phương thức run():

self_ask_with_search = khởi tạo_agent (
công cụ , ừm , đại lý = Loại đại lý. SELF_ASK_WITH_SEARCH , dài dòng = ĐÚNG VẬY
)
self_ask_with_search. chạy (
'Quê hương của Dominic Thiem nhà vô địch thế giới Mỹ mở rộng là gì'
)

Ảnh chụp màn hình sau đây hiển thị rằng tác nhân tự hỏi trích xuất thông tin về từng thuật ngữ quan trọng từ tập dữ liệu. Sau khi thu thập tất cả thông tin về truy vấn và hiểu các câu hỏi, nó chỉ cần tạo ra câu trả lời. Các câu hỏi mà đại lý tự hỏi là:

  • Dominic Thiêm là ai?
  • Quê hương của Dominic Thiem là gì?

Sau khi nhận được câu trả lời cho những câu hỏi này, tác nhân đã tạo ra câu trả lời cho câu hỏi ban đầu là “ Wiener Neustadt, Áo ”:

Đó là tất cả về quá trình triển khai tính năng tự hỏi với chuỗi tìm kiếm sử dụng khung LangChain.

Phần kết luận

Để triển khai tính năng tự hỏi bằng tìm kiếm trong LangChain, chỉ cần cài đặt các mô-đun cần thiết như google-search-results để nhận kết quả từ đại lý. Sau đó, hãy thiết lập môi trường bằng các khóa API từ tài khoản OpenAI và SerpAPi để bắt đầu quy trình. Định cấu hình tác nhân và xây dựng mô hình bằng mô hình tự hỏi để kiểm tra tác nhân đó bằng phương thức AgentExecutor().