Làm cách nào để sử dụng Tác nhân API Async trong LangChain?

Lam Cach Nao De Su Dung Tac Nhan Api Async Trong Langchain



LangChain là khung chứa tất cả các phần phụ thuộc để xây dựng mô hình ngôn ngữ hoặc mô hình trò chuyện bằng ngôn ngữ tự nhiên. Mô hình sử dụng Trí tuệ nhân tạo để đào tạo các mô hình này để chúng có thể hiểu được các câu hỏi từ con người. Các mô hình trò chuyện được huấn luyện sử dụng mẫu nhắc nhở để có được cấu trúc giao diện trò chuyện bằng các mẫu có sẵn hoặc tùy chỉnh.

Phác thảo nhanh

Bài đăng này chứa các phần sau:

Làm cách nào để sử dụng Tác nhân API Async trong LangChain?

Các mô hình trò chuyện thực hiện đồng thời nhiều tác vụ như hiểu cấu trúc của lời nhắc, độ phức tạp của nó, trích xuất thông tin, v.v. Việc sử dụng tác nhân API Async trong LangChain cho phép người dùng xây dựng các mô hình trò chuyện hiệu quả có thể trả lời nhiều câu hỏi cùng một lúc. Để tìm hiểu quy trình sử dụng tác nhân API Async trong LangChain, chỉ cần làm theo hướng dẫn sau:







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

Trước hết, hãy cài đặt khung LangChain để nhận các phần phụ thuộc của nó từ trình quản lý gói Python:



pip cài đặt langchain



Sau đó, cài đặt mô-đun OpenAI để xây dựng mô hình ngôn ngữ như llm và thiết lập môi trường của nó:





cài đặt pip openai

Bước 2: Môi trường OpenAI

Bước tiếp theo sau khi cài đặt các mô-đun là thiết lập môi trường sử dụng khóa API của OpenAI và API máy chủ để tìm kiếm dữ liệu từ Google:



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 [ 'SERPER_API_KEY' ] = vượt qua . vượt qua ( 'Khóa API Serper:' )

Bước 3: Nhập thư viện

Bây giờ môi trường đã được thiết lập, chỉ cần nhập các thư viện cần thiết như asyncio và các thư viện khác bằng cách sử dụng phần phụ thuộc LangChain:

từ langchain. đại lý nhập khẩu khởi tạo_agent , tải_tools
nhập khẩu thời gian
nhập khẩu asyncio
từ langchain. đại lý nhập khẩu Loại tác nhân
từ langchain. llms nhập khẩu OpenAI
từ langchain. cuộc gọi lại . thiết bị xuất chuẩn nhập khẩu StdOutCallbackHandler
từ langchain. cuộc gọi lại . người theo dõi nhập khẩu LangChuỗiTracer
từ aiohttp nhập khẩu Phiên khách hàng

Bước 4: Thiết lập câu hỏi

Đặt tập dữ liệu câu hỏi chứa nhiều truy vấn liên quan đến các miền hoặc chủ đề khác nhau có thể tìm kiếm trên internet (Google):

câu hỏi = [
“Ai là nhà vô địch US Open 2021” ,
'Bạn trai của Olivia Wilde bao nhiêu tuổi' ,
'Ai là người chiến thắng danh hiệu công thức 1 thế giới' ,
“Ai thắng trận chung kết US Open nữ 2021” ,
'Chồng của Beyonce là ai và anh ấy bao nhiêu tuổi' ,
]

Phương pháp 1: Sử dụng Thực thi nối tiếp

Sau khi hoàn tất tất cả các bước, bạn chỉ cần thực hiện các câu hỏi để nhận được tất cả câu trả lời bằng cách thực hiện nối tiếp. Điều đó có nghĩa là một câu hỏi sẽ được thực hiện/hiển thị tại một thời điểm và cũng trả về toàn bộ thời gian cần thiết để thực hiện các câu hỏi sau:

ừm = OpenAI ( nhiệt độ = 0 )
công cụ = tải_tools ( [ 'tiêu đề google' , 'llm-toán học' ] , ừm = ừm )
đại lý = 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
)
S = thời gian . perf_counter ( )
#cấu hình bộ đếm thời gian để biết thời gian được sử dụng cho quá trình hoàn chỉnh
q TRONG câu hỏi:
đại lý. chạy ( q )
trôi qua = thời gian . perf_counter ( ) -s
#print tổng thời gian mà nhân viên sử dụng để nhận được câu trả lời
in ( f 'Thực hiện nối tiếp sau {elapsed:0,2f} giây.' )

đầu ra
Ảnh chụp màn hình sau đây hiển thị rằng mỗi câu hỏi được trả lời trong một chuỗi riêng biệt và sau khi chuỗi đầu tiên kết thúc thì chuỗi thứ hai sẽ hoạt động. Việc thực hiện nối tiếp mất nhiều thời gian hơn để có được tất cả các câu trả lời riêng lẻ:

Phương pháp 2: Sử dụng thực thi đồng thời

Phương pháp thực hiện đồng thời xử lý tất cả các câu hỏi và nhận được câu trả lời cùng một lúc.

ừm = OpenAI ( nhiệt độ = 0 )
công cụ = tải_tools ( [ 'tiêu đề google' , 'llm-toán học' ] , ừm = ừm )
#Cấu hình tác nhân bằng các công cụ trên để nhận được câu trả lời đồng thời
đại lý = 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
)
#cấu hình bộ đếm thời gian để biết thời gian được sử dụng cho quá trình hoàn chỉnh
S = thời gian . perf_counter ( )
nhiệm vụ = [ đại lý. bệnh ( q ) q TRONG câu hỏi ]
đang chờ asyncio. tập trung ( *nhiệm vụ )
trôi qua = thời gian . perf_counter ( ) -s
#print tổng thời gian mà nhân viên sử dụng để nhận được câu trả lời
in ( f 'Được thực hiện đồng thời trong {elapsed:0,2f} giây' )

đầu ra
Việc thực thi đồng thời trích xuất tất cả dữ liệu cùng một lúc và mất ít thời gian hơn so với thực thi nối tiếp:

Đó là tất cả về việc sử dụng tác nhân API Async trong LangChain.

Phần kết luận

Để sử dụng tác nhân API Async trong LangChain, chỉ cần cài đặt các mô-đun để nhập thư viện từ các phần phụ thuộc của chúng để lấy thư viện asyncio. Sau đó, thiết lập môi trường bằng khóa API OpenAI và Serper bằng cách đăng nhập vào tài khoản tương ứng của chúng. Định cấu hình bộ câu hỏi liên quan đến các chủ đề khác nhau và thực hiện các chuỗi một cách tuần tự và đồng thời để có được thời gian thực hiện. Hướng dẫn này đã trình bày chi tiết về quy trình sử dụng tác nhân API Async trong LangChain.