Làm cách nào để sử dụng bộ đệm mã thông báo hội thoại trong LangChain?

Lam Cach Nao De Su Dung Bo Dem Ma Thong Bao Hoi Thoai Trong Langchain



LangChain cho phép các nhà phát triển xây dựng các mô hình bằng cách sử dụng máy học hoặc học sâu để có thể đào tạo các mô hình bằng cách sử dụng bộ dữ liệu. Các mô hình này có thể lấy các mẫu khác nhau từ dữ liệu hoặc hiểu dạng của tập dữ liệu và ngôn ngữ của nó để trích xuất thông tin. Mô hình ngôn ngữ lớn hoặc LLM có thể được định cấu hình hoặc thiết kế bằng khung LangChain có thể hiểu và tạo văn bản bằng ngôn ngữ tự nhiên.

Hướng dẫn này sẽ minh họa quá trình sử dụng bộ đệm mã thông báo hội thoại trong LangChain.

Làm cách nào để sử dụng bộ đệm mã thông báo hội thoại trong LangChain?

Các Cuộc trò chuyệnTokenBộ đệmBộ nhớ thư viện có thể được nhập từ khung LangChain để lưu trữ các tin nhắn gần đây nhất trong bộ nhớ đệm. Các mã thông báo có thể được cấu hình để giới hạn số lượng tin nhắn được lưu trong bộ đệm và các tin nhắn trước đó sẽ tự động bị xóa.







Để tìm hiểu quy trình sử dụng bộ đệm mã thông báo hội thoại trong LangChain, hãy sử dụng hướng dẫn sau:



Bước 1: Cài đặt mô-đun

Đầu tiên, cài đặt khung LangChain chứa tất cả các mô-đun cần thiết bằng lệnh pip:



pip cài đặt langchain





Bây giờ, hãy cài đặt mô-đun OpenAI để xây dựng LLM và chuỗi bằng phương thức OpenAI():

cài đặt pip openai



Sau khi cài đặt các mô-đun, chỉ cần sử dụng khóa API của OpenAI để thiết lập môi trường sử dụng thư viện os và getpass:

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ước 2: Sử dụng bộ nhớ đệm mã thông báo hội thoại

Xây dựng LLM bằng phương pháp OpenAI() sau khi nhập Cuộc trò chuyệnTokenBộ đệmBộ nhớ thư viện từ khung LangChain:

từ langchain. ký ức nhập khẩu Cuộc trò chuyệnTokenBộ đệmBộ nhớ

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

ừm = OpenAI ( )

Định cấu hình bộ nhớ để đặt mã thông báo, nó sẽ xóa các tin nhắn cũ và lưu chúng vào bộ nhớ đệm. Sau đó, lưu trữ các tin nhắn từ cuộc trò chuyện và lấy những tin nhắn gần đây nhất để sử dụng chúng làm ngữ cảnh:

ký ức = Cuộc trò chuyệnTokenBộ đệmBộ nhớ ( ừm = ừm , max_token_limit = 10 )

ký ức. lưu_bối cảnh ( { 'đầu vào' : 'Xin chào' } , { 'đầu ra' : 'Bạn dạo này thế nào' } )

ký ức. lưu_bối cảnh ( { 'đầu vào' : 'Tôi ổn Còn bạn thì sao' } , { 'đầu ra' : 'không nhiều' } )

Thực thi bộ nhớ để lấy dữ liệu được lưu trong bộ nhớ đệm bằng phương thức Load_memory_variables():

ký ức. tải_memory_variables ( { } )

Bước 3: Sử dụng bộ nhớ đệm mã thông báo hội thoại trong chuỗi

Xây dựng chuỗi bằng cách cấu hình Chuỗi hội thoại() phương thức có nhiều đối số để sử dụng bộ nhớ đệm mã thông báo hội thoại:

từ langchain. dây chuyền nhập khẩu Chuỗi hội thoại

cuộc trò chuyện_với_tóm tắt = Chuỗi hội thoại (
ừm = ừm ,
ký ức = Cuộc trò chuyệnTokenBộ đệmBộ nhớ ( ừm = OpenAI ( ) , max_token_limit = 60 ) ,
dài dòng = ĐÚNG VẬY ,
)
cuộc trò chuyện_với_tóm tắt. dự đoán ( đầu vào = 'Xin chào, có chuyện gì thế?' )

Bây giờ, hãy bắt đầu cuộc trò chuyện bằng cách đặt câu hỏi sử dụng lời nhắc được viết bằng ngôn ngữ tự nhiên:

cuộc trò chuyện_với_tóm tắt. dự đoán ( đầu vào = 'Chỉ đang làm việc trên dự án NLP' )

Nhận đầu ra từ dữ liệu được lưu trong bộ nhớ đệm bằng số lượng mã thông báo:

cuộc trò chuyện_với_tóm tắt. dự đoán ( đầu vào = 'Chỉ đang thiết kế LLM' )

Bộ đệm tiếp tục cập nhật với mỗi đầu vào mới vì các thông báo trước đó đang bị xóa thường xuyên:

cuộc trò chuyện_với_tóm tắt. dự đoán (

đầu vào = 'LLM sử dụng LangChain! Bạn đã nghe nói về nó chưa'

)

Đó là tất cả về việc sử dụng bộ đệm mã thông báo hội thoại trong LangChain.

Phần kết luận

Để sử dụng bộ đệm mã thông báo hội thoại trong LangChain, chỉ cần cài đặt các mô-đun để thiết lập môi trường bằng khóa API từ tài khoản OpenAI. Sau đó, nhập thư viện ConversationTokenBufferMemory bằng mô-đun LangChain để lưu cuộc hội thoại vào bộ đệm. Bộ nhớ đệm có thể được sử dụng theo chuỗi để xóa các tin nhắn cũ hơn với mỗi tin nhắn mới trong cuộc trò chuyện. Bài đăng này đã trình bày chi tiết về cách sử dụng bộ nhớ đệm mã thông báo hội thoại trong LangChain.