Làm cách nào để sử dụng bộ nhớ thực thể trong LangChain?

Lam Cach Nao De Su Dung Bo Nho Thuc The Trong Langchain



LangChain là một mô-đun cho phép tạo ra các mô hình có thể xử lý ngôn ngữ tự nhiên, là ngôn ngữ mà con người sử dụng để giao tiếp. LangChain chứa tất cả các mô-đun và phần phụ thuộc cần thiết có thể được sử dụng để xây dựng Mô hình ngôn ngữ hoặc chatbot lớn. Những mô hình này cần được đào tạo để học ngôn ngữ tự nhiên nhằm tạo ra văn bản dựa trên các truy vấn do người dùng cung cấp.

Hướng dẫn này sẽ minh họa quá trình sử dụng bộ nhớ thực thể trong LangChain.

Làm cách nào để sử dụng bộ nhớ thực thể trong LangChain?

Thực thể này được sử dụng để lưu giữ các thông tin quan trọng trong bộ nhớ để trích xuất khi con người yêu cầu bằng cách sử dụng các truy vấn/lời nhắc. Để tìm hiểu quy trình sử dụng bộ nhớ thực thể trong LangChain, chỉ cần truy cập hướng dẫn sau:







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

Đầu tiên, cài đặt mô-đun LangChain bằng lệnh pip để nhận các phần phụ thuộc của nó:



pip cài đặt langchain



Sau đó, cài đặt mô-đun OpenAI để lấy thư viện xây dựng LLM và mô hình trò chuyện:





cài đặt pip openai

Thiết lập môi trường OpenAI sử dụng khóa API có thể được trích xuất từ ​​tài khoản OpenAI:



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ớ thực thể

Để sử dụng bộ nhớ thực thể, hãy nhập các thư viện cần thiết để xây dựng LLM bằng phương thức OpenAI():

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

từ langchain. ký ức nhập khẩu Cuộc trò chuyệnThực thểBộ nhớ

ừm = OpenAI ( nhiệt độ = 0 )

Sau đó, xác định các ký ức biến bằng phương thức ConversationEntityMemory() để huấn luyện mô hình bằng cách sử dụng các biến đầu vào và đầu ra:

ký ức = Cuộc trò chuyệnThực thểBộ nhớ ( ừm = ừm )

_đầu vào = { 'đầu vào' : 'Joe are Root đang thực hiện một dự án' }

ký ức. tải_memory_variables ( _đầu vào )

ký ức. lưu_bối cảnh (

_đầu vào ,

{ 'đầu ra' : 'Tuyệt vời! Đó là loại dự án gì vậy?' }

)

Bây giờ, hãy kiểm tra bộ nhớ bằng cách sử dụng truy vấn/lời nhắc trong đầu vào biến bằng cách gọi phương thức Load_memory_variables():

ký ức. tải_memory_variables ( { 'đầu vào' : 'Root là ai' } )

Bây giờ, hãy cung cấp thêm một số thông tin để mô hình có thể thêm một vài thực thể nữa vào bộ nhớ:

ký ức = Cuộc trò chuyệnThực thểBộ nhớ ( ừm = ừm , return_messages = ĐÚNG VẬY )

_đầu vào = { 'đầu vào' : 'Joe are Root đang thực hiện một dự án' }

ký ức. tải_memory_variables ( _đầu vào )

ký ức. lưu_bối cảnh (

_đầu vào ,

{ 'đầu ra' : ' Tuyệt vời! Đó là loại dự án gì vậy ' }

)

Thực thi đoạn mã sau để nhận đầu ra bằng cách sử dụng các thực thể được lưu trữ trong bộ nhớ. Có thể thông qua đầu vào chứa lời nhắc:

ký ức. tải_memory_variables ( { 'đầu vào' : 'Joe là ai' } )

Bước 3: Sử dụng bộ nhớ thực thể trong chuỗi

Để sử dụng bộ nhớ thực thể sau khi xây dựng chuỗi, chỉ cần nhập các thư viện cần thiết bằng khối mã sau:

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

từ langchain. ký ức nhập khẩu Cuộc trò chuyệnThực thểBộ nhớ

từ langchain. ký ức . lời nhắc nhập khẩu ENTITY_MEMORY_CONVERSATION_TEMPLATE

từ pydantic nhập khẩu Mô hình cơ sở

từ đánh máy nhập khẩu Danh sách , chính tả , Bất kì

Xây dựng mô hình hội thoại bằng phương thức ConversationChain() bằng các đối số như llm:

cuộc hội thoại = Chuỗi hội thoại (

ừm = ừm ,

dài dòng = ĐÚNG VẬY ,

lời nhắc = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

ký ức = Cuộc trò chuyệnThực thểBộ nhớ ( ừm = ừm )

)

Gọi phương thức đàm thoại.predict() với đầu vào được khởi tạo bằng dấu nhắc hoặc truy vấn:

cuộc hội thoại. dự đoán ( đầu vào = 'Joe are Root đang thực hiện một dự án' )

Bây giờ, hãy lấy đầu ra riêng cho từng thực thể mô tả thông tin về nó:

cuộc hội thoại. ký ức . thực thể_store . cửa hàng

Sử dụng đầu ra từ mô hình để cung cấp đầu vào để mô hình có thể lưu trữ thêm thông tin về các thực thể này:

cuộc hội thoại. dự đoán ( đầu vào = 'Họ đang cố gắng thêm các cấu trúc bộ nhớ phức tạp hơn vào Langchain' )

Sau khi đưa ra thông tin đang được lưu trữ trong bộ nhớ, bạn chỉ cần đặt câu hỏi để trích xuất thông tin cụ thể về các thực thể:

cuộc hội thoại. dự đoán ( đầu vào = 'Bạn biết gì về Joe và Root' )

Bước 4: Kiểm tra kho lưu trữ bộ nhớ

Người dùng có thể kiểm tra trực tiếp các kho lưu trữ bộ nhớ để lấy thông tin được lưu trữ trong đó bằng mã sau:

từ in nhập khẩu in

in ( cuộc hội thoại. ký ức . thực thể_store . cửa hàng )

Cung cấp thêm thông tin cần lưu trữ trong bộ nhớ vì càng nhiều thông tin thì kết quả càng chính xác:

cuộc hội thoại. dự đoán ( đầu vào = 'Root đã thành lập một doanh nghiệp tên là HJRS' )

Trích xuất thông tin từ kho lưu trữ bộ nhớ sau khi thêm thông tin khác về các thực thể:

từ in nhập khẩu in

in ( cuộc hội thoại. ký ức . thực thể_store . cửa hàng )

Bộ nhớ có thông tin về nhiều thực thể như HJRS, Joe, LangChain và Root:

Bây giờ trích xuất thông tin về một thực thể cụ thể bằng cách sử dụng truy vấn hoặc lời nhắc được xác định trong biến đầu vào:

cuộc hội thoại. dự đoán ( đầu vào = 'Bạn biết gì về Root' )

Đó là tất cả về việc sử dụng bộ nhớ thực thể bằng khung LangChain.

Phần kết luận

Để sử dụng bộ nhớ thực thể trong LangChain, chỉ cần cài đặt các mô-đun cần thiết để nhập các thư viện cần thiết để xây dựng mô hình sau khi thiết lập môi trường OpenAI. Sau đó, xây dựng mô hình LLM và lưu trữ các thực thể vào bộ nhớ bằng cách cung cấp thông tin về các thực thể. Người dùng cũng có thể trích xuất thông tin bằng cách sử dụng các thực thể này và xây dựng những ký ức này theo chuỗi với thông tin được khuấy động về các thực thể. Bài đăng này đã trình bày chi tiết về quy trình sử dụng bộ nhớ thực thể trong LangChain.