จะใช้หน้าต่างบัฟเฟอร์การสนทนาใน LangChain ได้อย่างไร
หน้าต่างบัฟเฟอร์การสนทนาใช้เพื่อเก็บข้อความล่าสุดของการสนทนาไว้ในหน่วยความจำเพื่อรับบริบทล่าสุด โดยจะใช้ค่าของ K เพื่อจัดเก็บข้อความหรือสตริงในหน่วยความจำโดยใช้กรอบงาน LangChain
หากต้องการเรียนรู้กระบวนการใช้หน้าต่างบัฟเฟอร์การสนทนาใน LangChain เพียงทำตามคำแนะนำต่อไปนี้:
ขั้นตอนที่ 1: ติดตั้งโมดูล
เริ่มต้นกระบวนการใช้หน้าต่างบัฟเฟอร์การสนทนาโดยการติดตั้งโมดูล LangChain ที่มีการขึ้นต่อกันที่จำเป็นสำหรับการสร้างแบบจำลองการสนทนา:
pip ติดตั้ง langchain
หลังจากนั้น ให้ติดตั้งโมดูล OpenAI ที่สามารถใช้สร้าง Large Language Models ใน LangChain:
pip ติดตั้ง openai
ตอนนี้, ตั้งค่าสภาพแวดล้อม OpenAI เพื่อสร้างเครือข่าย LLM โดยใช้คีย์ API จากบัญชี OpenAI:
นำเข้า คุณ
นำเข้า รับผ่าน
คุณ . ประมาณ [ 'OPENAI_API_KEY' ] = รับผ่าน . รับผ่าน ( 'คีย์ OpenAI API:' )
ขั้นตอนที่ 2: การใช้หน่วยความจำหน้าต่างบัฟเฟอร์การสนทนา
หากต้องการใช้หน่วยความจำหน้าต่างบัฟเฟอร์การสนทนาใน LangChain ให้นำเข้าไฟล์ หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่าง ห้องสมุด:
จาก แลงเชน หน่วยความจำ นำเข้า หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่างกำหนดค่าหน่วยความจำโดยใช้ หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่าง () วิธีการที่มีค่า k เป็นอาร์กิวเมนต์ ค่าของ k จะถูกใช้เพื่อเก็บข้อความล่าสุดจากการสนทนา จากนั้นกำหนดค่าข้อมูลการฝึกอบรมโดยใช้ตัวแปรอินพุตและเอาต์พุต:
หน่วยความจำ = หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่าง ( เค = 1 )หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : 'สวัสดี' } , { 'เอาท์พุท' : : 'เป็นอย่างไรบ้าง' } )
หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : “ฉันสบายดี แล้วคุณล่ะ” } , { 'เอาท์พุท' : : 'ไม่มาก' } )
ทดสอบหน่วยความจำโดยการเรียก load_memory_variables () วิธีการเริ่มการสนทนา:
หน่วยความจำ. load_memory_variables ( { } )
หากต้องการรับประวัติการสนทนา ให้กำหนดค่าฟังก์ชัน ConversationBufferWindowMemory() โดยใช้ return_messages การโต้แย้ง:
หน่วยความจำ = หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่าง ( เค = 1 , return_messages = จริง )หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : 'สวัสดี' } , { 'เอาท์พุท' : : 'ว่าไง' } )
หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : 'ไม่มากคุณ' } , { 'เอาท์พุท' : : 'ไม่มาก' } )
ตอนนี้เรียกหน่วยความจำโดยใช้ load_memory_variables () วิธีการรับการตอบกลับพร้อมประวัติการสนทนา:
หน่วยความจำ. load_memory_variables ( { } )
ขั้นตอนที่ 3: การใช้หน้าต่างบัฟเฟอร์ในห่วงโซ่
สร้างห่วงโซ่โดยใช้ OpenAI และ การสนทนาห่วงโซ่ ไลบรารีแล้วกำหนดค่าหน่วยความจำบัฟเฟอร์เพื่อจัดเก็บข้อความล่าสุดในการสนทนา:
จาก แลงเชน ห่วงโซ่ นำเข้า การสนทนาห่วงโซ่จาก แลงเชน llms นำเข้า OpenAI
#การสร้างสรุปการสนทนาโดยใช้หลายพารามิเตอร์
การสนทนา_กับ_สรุป = การสนทนาห่วงโซ่ (
llm = OpenAI ( อุณหภูมิ = 0 ) ,
#building หน่วยความจำบัฟเฟอร์โดยใช้ฟังก์ชันที่มีค่า k เพื่อจัดเก็บข้อความล่าสุด
หน่วยความจำ = หน่วยความจำการสนทนาบัฟเฟอร์หน้าต่าง ( เค = 2 ) ,
#configure ตัวแปร verbose เพื่อให้ได้เอาต์พุตที่อ่านง่ายขึ้น
รายละเอียด = จริง
)
การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = 'ว่าไงมีไร' )
ตอนนี้ให้บทสนทนาดำเนินต่อไปโดยถามคำถามที่เกี่ยวข้องกับผลลัพธ์ที่ได้รับจากโมเดล:
การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = “พวกเขามีปัญหาอะไร” )
โมเดลได้รับการกำหนดค่าให้จัดเก็บข้อความก่อนหน้าเพียงข้อความเดียวซึ่งสามารถใช้เป็นบริบทได้:
การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = “เป็นไปด้วยดีหรือเปล่า” )
ขอวิธีแก้ไขปัญหาและโครงสร้างผลลัพธ์จะเลื่อนหน้าต่างบัฟเฟอร์ต่อไปโดยลบข้อความก่อนหน้านี้:
การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = “อะไรคือทางออก” )
นั่นคือทั้งหมดที่เกี่ยวกับกระบวนการใช้บัฟเฟอร์การสนทนาของหน้าต่าง LangChain
บทสรุป
หากต้องการใช้หน่วยความจำหน้าต่างบัฟเฟอร์การสนทนาใน LangChain เพียงติดตั้งโมดูลและตั้งค่าสภาพแวดล้อมโดยใช้คีย์ API ของ OpenAI หลังจากนั้น ให้สร้างหน่วยความจำบัฟเฟอร์โดยใช้ค่า k เพื่อเก็บข้อความล่าสุดในการสนทนาเพื่อรักษาบริบท หน่วยความจำบัฟเฟอร์ยังสามารถใช้กับเชนเพื่อกระตุ้นการสนทนากับ LLM หรือเชนได้ คู่มือนี้ได้อธิบายรายละเอียดเกี่ยวกับกระบวนการใช้หน้าต่างบัฟเฟอร์การสนทนาใน LangChain