คู่มือนี้จะแสดงขั้นตอนการใช้ตัวเลือกตัวอย่าง select by Maximal Marginal Relevance ใน LangChain
วิธีใช้ Select by Maximal Marginal Relevance (MMR) ใน LangChain
ตัวเลือกตัวอย่างความเกี่ยวข้องส่วนเพิ่มสูงสุดใช้เพื่อดึงข้อมูลโดยใช้ความคล้ายคลึงโคไซน์ของพร้อมท์และตัวอย่าง ความคล้ายคลึงของโคไซน์คำนวณหลังจากใช้วิธีการฝังกับข้อมูลและแปลงข้อความเป็นรูปแบบตัวเลข
หากต้องการเรียนรู้กระบวนการใช้ตัวเลือกตัวอย่าง MMR ใน LangChain เพียงทำตามขั้นตอนที่ระบุไว้:
ขั้นตอนที่ 1: ติดตั้งโมดูล
เริ่มต้นกระบวนการโดยการติดตั้งการพึ่งพาของ LangChain โดยใช้คำสั่ง pip:
pip ติดตั้ง langchain
ติดตั้งโมดูล OpenAI เพื่อใช้สภาพแวดล้อมในการใช้วิธีการ OpenAIEmbedding():
pip ติดตั้ง openai
ติดตั้งเฟรมเวิร์ก FAISS ซึ่งสามารถใช้เพื่อรับเอาต์พุตโดยใช้ความคล้ายคลึงทางความหมาย:
pip ติดตั้ง faiss-gpu
ตอนนี้ ให้ติดตั้ง tiktoken tokenizer เพื่อแบ่งข้อความออกเป็นส่วนเล็กๆ โดยใช้โค้ดต่อไปนี้:
pip ติดตั้ง tiktoken
ขั้นตอนที่ 2: การใช้ไลบรารีและตัวอย่าง
ขั้นตอนต่อไปคือการนำเข้าไลบรารีสำหรับสร้างตัวเลือกตัวอย่าง MMR, FAISS, OpenAIEmbeddings และ PromptTemplate หลังจากการนำเข้าไลบรารี เพียงสร้างชุดตัวอย่างที่ให้อินพุตและเอาต์พุตสำหรับอินพุตที่เกี่ยวข้องในหลายอาร์เรย์:
จาก แลงเชน แจ้ง . example_selector นำเข้า (MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityตัวอย่างSelector ,
)
จาก แลงเชน ร้านเวกเตอร์ นำเข้า ไฟส์
จาก แลงเชน การฝัง นำเข้า OpenAIEmbeddings
จาก แลงเชน แจ้ง นำเข้า เทมเพลต FewShotPrompt , พรอมต์เทมเพลต
example_prompt = พรอมต์เทมเพลต (
input_variables = [ 'ป้อนข้อมูล' , 'เอาท์พุท' ] ,
แม่แบบ = 'อินพุต: {อินพุต} \n เอาท์พุต: {เอาท์พุต}' ,
)
ตัวอย่าง = [
{ 'ป้อนข้อมูล' : : 'มีความสุข' , 'เอาท์พุท' : : 'เศร้า' } ,
{ 'ป้อนข้อมูล' : : 'สูง' , 'เอาท์พุท' : : 'สั้น' } ,
{ 'ป้อนข้อมูล' : : 'กระฉับกระเฉง' , 'เอาท์พุท' : : 'เซื่องซึม' } ,
{ 'ป้อนข้อมูล' : : 'แดดจัด' , 'เอาท์พุท' : : 'มืดมน' } ,
{ 'ป้อนข้อมูล' : : 'ลมแรง' , 'เอาท์พุท' : : 'เงียบสงบ' } ,
]
ขั้นตอนที่ 3: สร้างตัวเลือกตัวอย่าง
ตอนนี้ ให้เริ่มสร้างตัวเลือกตัวอย่าง MMR โดยใช้เมธอด MaxMarginalRelevanceExampleSelector() ที่มีพารามิเตอร์ที่แตกต่างกัน:
example_selector = MaxMarginalRelevanceExampleSelector จาก_ตัวอย่าง (ตัวอย่าง ,
OpenAIEmbeddings ( ) ,
ไฟส์ ,
เค = 2 ,
)
mmr_prompt = เทมเพลต FewShotPrompt (
example_selector = example_selector ,
example_prompt = example_prompt ,
คำนำหน้า = 'ให้คำตรงข้ามของทุกอินพุต' ,
คำต่อท้าย = 'อินพุต: {คำคุณศัพท์} \n เอาท์พุต:' ,
input_variables = [ 'คุณศัพท์' ] ,
)
ขั้นตอนที่ 4: ทดสอบตัวเลือกตัวอย่าง MMR
ทดสอบตัวเลือกตัวอย่าง Maximal Marginal Relevance MMR โดยการเรียกมันในเมธอด print() ด้วยอินพุต:
พิมพ์ ( mmr_prompt. รูปแบบ ( คุณศัพท์ = 'กังวล' ) )
ขั้นตอนที่ 5: การใช้ SemanticSimilarity
ขั้นตอนนี้ใช้วิธี SemanticSimilarityExampleSelector() จากนั้นใช้วิธี FewShotPromptTemplate() ที่ได้รับการสนับสนุนโดย LangChain:
example_selector = SemanticSimilarityตัวอย่างSelector จาก_ตัวอย่าง (ตัวอย่าง ,
OpenAIEmbeddings ( ) ,
ไฟส์ ,
เค = 2 ,
)
คล้ายกัน_พร้อมท์ = เทมเพลต FewShotPrompt (
example_selector = example_selector ,
example_prompt = example_prompt ,
คำนำหน้า = 'ให้คำตรงข้ามของทุกอินพุต' ,
คำต่อท้าย = 'อินพุต: {คำคุณศัพท์} \n เอาท์พุต:' ,
input_variables = [ 'คุณศัพท์' ] ,
)
พิมพ์ ( คล้ายกัน_พร้อมท์ รูปแบบ ( คุณศัพท์ = 'กังวล' ) )
นั่นคือทั้งหมดที่เกี่ยวกับการใช้การเลือกตาม Maximal Marginal Relevance หรือ MMR ใน LangChain
บทสรุป
หากต้องการใช้ตัวเลือกโดย Maximal Marginal Relevance หรือตัวเลือกตัวอย่าง MMR ใน LangChain ให้ติดตั้งโมดูลที่จำเป็น หลังจากนั้น ให้นำเข้าไลบรารีเพื่อสร้างชุดตัวอย่างโดยใช้เทมเพลตพร้อมท์อินพุตและเอาต์พุต สร้างตัวเลือกตัวอย่าง MMR เพื่อทดสอบโดยใช้ตัวเลือกตัวอย่าง MMR และเมธอด FewShotPromptTemplate() เพื่อรับเอาต์พุตที่เกี่ยวข้อง คู่มือนี้ได้อธิบายกระบวนการใช้ตัวเลือกตัวอย่างแบบ select-by-MMR ใน LangChain