Làm cách nào để sử dụng Thư viện “asyncio” trong LangChain?

Lam Cach Nao De Su Dung Thu Vien Asyncio Trong Langchain



LangChain là một khuôn khổ để xây dựng các Mô hình ngôn ngữ lớn sử dụng Trí tuệ nhân tạo để nó có thể tạo văn bản và tương tác với con người. Asyncio là thư viện có thể được sử dụng để gọi một mô hình như LLM nhiều lần bằng cùng một lệnh hoặc truy vấn. Nó cũng giúp tăng tốc độ hoạt động của mô hình LLM của chúng tôi để tạo văn bản một cách hiệu quả.

Bài viết này trình bày cách sử dụng thư viện “asyncio” trong LangChain.





Làm cách nào để sử dụng/thực thi thư viện “asyncio” trong LangChain?

API Async có thể được sử dụng để hỗ trợ cho LLM, vì vậy, để sử dụng thư viện asyncio trong LangChain, chỉ cần làm theo hướng dẫn sau:



Cài đặt điều kiện tiên quyết



Cài đặt mô-đun LangChain để bắt đầu sử dụng thư viện asyncio trong LangChain để gọi đồng thời LLM:





pip cài đặt chuỗi lang



Mô-đun OpenAI cũng được yêu cầu để xây dựng LLM bằng OpenAIEmbeddings:

pip cài đặt openai

Sau khi cài đặt, chỉ cần định cấu hình khóa API OpenAI bằng mã sau:

nhập khẩu chúng tôi
nhập khẩu

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'Khóa API OpenAI:' )

Sử dụng asyncio để xây dựng LLM

Thư viện asyncio có thể được sử dụng để hỗ trợ LLM vì đoạn mã sau sử dụng nó trong LangChain:

nhập khẩu thời gian
nhập asyncio
#Nhập thư viện asyncio từ LangChain để sử dụng
từ langchain.llms nhập OpenAI

#define hàm để lấy dấu thời gian của quá trình tạo nối tiếp
chắc chắn tạo_serially ( ) :
llm = OpenAI ( nhiệt độ = 0,9 )
_ TRONG phạm vi ( 5 ) :
resp = llm.generate ( [ 'Bạn đang làm gì thế?' ] )
in ( resp.thế hệ [ 0 ] [ 0 ] .chữ )

#define hàm để lấy dấu thời gian của quá trình tạo đồng bộ
async def async_generate ( ừm ) :
resp = đang chờ llm.agenerate ( [ 'Bạn đang làm gì thế?' ] )
in ( resp.thế hệ [ 0 ] [ 0 ] .chữ )

#define hàm lấy dấu thời gian tạo dữ liệu đồng thời
không đồng bộ tạo ra_đồng thời ( ) :
llm = OpenAI ( nhiệt độ = 0,9 )
nhiệm vụ = [ async_generate ( ừm ) _ TRONG phạm vi ( 10 ) ]
đang chờ asyncio.gather ( * nhiệm vụ )

#configure kết quả đầu ra bằng cách sử dụng asyncio để có được đầu ra đồng thời
s = time.perf_counter ( )
đang chờ tạo_đồng thời ( )
đã trôi qua = time.perf_counter ( ) -s
in ( '\033[1m' +f 'Được thực hiện đồng thời trong {elapsed:0,2f} giây.' + '\033[0m' )

#cấu hình dấu thời gian cho đầu ra kết quả để có đầu ra nối tiếp
s = time.perf_counter ( )
tạo_serial ( )
đã trôi qua = time.perf_counter ( ) -s
in ( '\033[1m' +f 'Thực hiện nối tiếp sau {elapsed:0,2f} giây.' + '\033[0m' )

Đoạn mã trên sử dụng thư viện asyncio để đo thời gian tạo văn bản bằng hai hàm riêng biệt như generate_serial() generate_concurrently() :

đầu ra

Ảnh chụp màn hình sau đây cho thấy độ phức tạp về thời gian của cả hai chức năng và độ phức tạp về thời gian của việc tạo văn bản đồng thời tốt hơn so với việc tạo văn bản nối tiếp:

Đó là tất cả về việc sử dụng thư viện “asyncio” để xây dựng LLM trong LangChain.

Phần kết luận

Để sử dụng thư viện asyncio trong LangChain, chỉ cần Cài đặt các mô-đun LangChain và OpenAI để bắt đầu quy trình. API Async có thể hữu ích trong khi xây dựng mô hình LLM để tạo chatbot nhằm học hỏi từ các cuộc hội thoại trước đó. Hướng dẫn này đã giải thích quy trình sử dụng thư viện asyncio để hỗ trợ LLM bằng khung LangChain.