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