จะใช้หน้าต่างบัฟเฟอร์การสนทนาใน LangChain ได้อย่างไร

Ca Chi Hnatang Baffexr Kar Snthna Ni Langchain Di Xyangri



LangChain เป็นเฟรมเวิร์กที่สามารถใช้ในสมุดบันทึก Python เพื่อฝึกโมเดลภาษาหรือแชทบอทโดยใช้โมเดลการเรียนรู้ของเครื่อง โมเดลภาษาเหล่านี้ใช้เพื่อสนทนากับมนุษย์ในภาษาธรรมชาติหลังจากฝึกฝนพวกเขาในภาษาที่เหมือนมนุษย์ โพสต์นี้จะแสดงขั้นตอนการใช้หน้าต่างบัฟเฟอร์การสนทนาใน LangChain

จะใช้หน้าต่างบัฟเฟอร์การสนทนาใน 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