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

Ca Chi Baffexr Srup Kar Snthna Ni Langchain Di Xyangri



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

คู่มือนี้จะแสดงขั้นตอนการใช้บัฟเฟอร์สรุปการสนทนาใน LangChain

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

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







หากต้องการเรียนรู้กระบวนการใช้บัฟเฟอร์สรุปการสนทนาใน LangChain เพียงทำตามคำแนะนำต่อไปนี้:



ขั้นตอนที่ 1: ติดตั้งโมดูล

ขั้นแรก ให้ติดตั้งโมดูล LangChain โดยใช้คำสั่ง pip เพื่อรับไลบรารีที่จำเป็น:



pip ติดตั้ง langchain





ติดตั้งโทเค็น tiktoken ซึ่งสามารถใช้เพื่อแยกเอกสารข้อความออกเป็นส่วนเล็กๆ:

pip ติดตั้ง tiktoken



หลังจากนั้น ให้ติดตั้งโมดูล OpenAI ที่สามารถใช้สร้างโมเดลภาษา เช่น LLM และเชน:

pip ติดตั้ง openai

ตอนนี้, ตั้งค่าสภาพแวดล้อม โดยรับคีย์ API จากบัญชี OpenAI และใช้ในโมเดล:

นำเข้า คุณ
นำเข้า รับผ่าน

คุณ . ประมาณ [ 'OPENAI_API_KEY' ] = รับผ่าน . รับผ่าน ( 'คีย์ OpenAI API:' )

ขั้นตอนที่ 2: การใช้บัฟเฟอร์สรุปการสนทนา

เริ่มกระบวนการใช้บัฟเฟอร์สรุปการสนทนาโดยการนำเข้าไลบรารีเพื่อสร้าง LLM โดยใช้เมธอด OpenAI():

จาก แลงเชน หน่วยความจำ นำเข้า สรุปการสนทนาBufferMemory

จาก แลงเชน llms นำเข้า OpenAI

llm = OpenAI ( )

สร้างหน่วยความจำโดยใช้เมธอด ConversationSummaryBufferMemory() แล้วเก็บการสนทนาไว้ในหน่วยความจำ:

หน่วยความจำ = สรุปการสนทนาBufferMemory ( llm = llm , max_token_limit = 10 )

หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : 'สวัสดี' } , { 'เอาท์พุท' : : 'เป็นอย่างไรบ้าง' } )

หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : “ฉันสบายดี แล้วคุณล่ะ” } , { 'เอาท์พุท' : : 'ไม่มาก' } )

ตอนนี้รันหน่วยความจำโดยการเรียก load_memory_variables () วิธีการดึงข้อความจากหน่วยความจำ:

หน่วยความจำ. load_memory_variables ( { } )

ตอนนี้ ให้ใช้สรุปบัฟเฟอร์ของการสนทนาเพื่อกำหนดค่าบัฟเฟอร์โดยการจำกัดจำนวนข้อความที่จะจัดเก็บไว้ในบัฟเฟอร์ หลังจากนั้น ให้แยกข้อมูลสรุปของข้อความเหล่านี้ที่จัดเก็บไว้ในบัฟเฟอร์ แล้วเก็บการสนทนาไว้ในหน่วยความจำ:

หน่วยความจำ = สรุปการสนทนาBufferMemory (

llm = llm , max_token_limit = 10 , return_messages = จริง

)

หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : 'สวัสดี' } , { 'เอาท์พุท' : : 'เป็นอย่างไรบ้าง' } )

หน่วยความจำ. บันทึก_บริบท ( { 'ป้อนข้อมูล' : : “ฉันสบายดี แล้วคุณล่ะ” } , { 'เอาท์พุท' : : 'ไม่มาก' } )

รับข้อมูลสรุปของข้อความก่อนหน้านี้ที่จัดเก็บไว้ในหน่วยความจำบัฟเฟอร์โดยใช้รหัสต่อไปนี้:

ข้อความ = หน่วยความจำ. chat_memory . ข้อความ

ก่อนหน้า_สรุป = ''

หน่วยความจำ. คาดการณ์_ใหม่_สรุป ( ข้อความ , ก่อนหน้า_สรุป )

ขั้นตอนที่ 3: การใช้บัฟเฟอร์สรุปการสนทนาในห่วงโซ่

สร้างโซ่โดยใช้ ห่วงโซ่การสนทนา() วิธีการที่มีค่าสำหรับหน่วยความจำบัฟเฟอร์เพื่อจัดเก็บข้อความในนั้น:

จาก แลงเชน ห่วงโซ่ นำเข้า การสนทนาห่วงโซ่

การสนทนา_กับ_สรุป = การสนทนาห่วงโซ่ (
llm = llm ,
หน่วยความจำ = สรุปการสนทนาBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
รายละเอียด = จริง ,
)
การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = 'ว่าไงมีไร?' )

ป้อนข้อมูลในรูปแบบของข้อความโดยใช้วิธีการทำนาย () เพื่อรับบทสรุปของการสนทนา:

การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = “เพิ่งทำโครงการ NLP” )

ใช้เอาต์พุตจากโมเดลและเพิ่มข้อมูลเพิ่มเติมโดยใช้ข้อความในหน่วยความจำบัฟเฟอร์และแสดงข้อมูลสรุป:

การสนทนา_กับ_สรุป ทำนาย ( ป้อนข้อมูล = 'ใช่แล้ว! ฉันกำลังออกแบบ LLM' )

สรุปคือผลลัพธ์จะเข้าใจง่ายและเป็นมิตรกับมนุษย์มากขึ้น และเหมาะสำหรับแชทบอทมากกว่า:

การสนทนา_กับ_สรุป ทำนาย (

ป้อนข้อมูล = 'ฉันต้องการใช้ LangChain! คุณเคยได้ยินเรื่องนี้ไหม'

)

นั่นคือทั้งหมดที่เกี่ยวกับการใช้บัฟเฟอร์สรุปการสนทนาใน LangChain

บทสรุป

หากต้องการใช้หน่วยความจำบัฟเฟอร์สรุปการสนทนาใน LangChain เพียงติดตั้งโมดูลหรือเฟรมเวิร์กเพื่อรับไลบรารีที่จำเป็น เมื่อนำเข้าไลบรารีแล้ว ให้สร้าง LLM หรือแชทบอทเพื่อใช้ฟังก์ชัน ConverstaionSummaryBufferMemory() เพื่อรับข้อมูลสรุปของการสนทนา หน่วยความจำบัฟเฟอร์ใช้เพื่อจำกัดจำนวนข้อความที่จัดเก็บไว้ในหน่วยความจำเพื่อใช้สำหรับการแยกข้อมูลสรุป โพสต์นี้ได้อธิบายอย่างละเอียดเกี่ยวกับกระบวนการใช้หน่วยความจำบัฟเฟอร์สรุปการสนทนาใน LangChain