จะใช้กราฟความรู้การสนทนาใน LangChain ได้อย่างไร

Ca Chi Kraf Khwam Ru Kar Snthna Ni Langchain Di Xyangri



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

คู่มือนี้จะแสดงกระบวนการใช้กราฟความรู้การสนทนาใน 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