ในบทความนี้ เราจะหารือเกี่ยวกับตัวแทนใน LangChain จากทุกแง่มุมที่เป็นไปได้
ตัวแทนใน LangChain คืออะไร?
แอปพลิเคชั่นบางตัวไม่เพียงต้องการเชนที่กำหนดไว้ล่วงหน้า แต่ยังต้องการเชนที่ไม่รู้จักซึ่งขึ้นอยู่กับอินพุตของผู้ใช้ กรณีดังกล่าวจะมี “ ตัวแทน ” ซึ่งเข้าถึงเครื่องมือและตัดสินใจว่าต้องใช้เครื่องมือใดตามข้อมูลของผู้ใช้และสิ่งที่เขาหรือเธอขอ ชุดเครื่องมือนั้นเป็นชุดเครื่องมือที่จำเป็นในการบรรลุวัตถุประสงค์เฉพาะ และชุดเครื่องมือหนึ่งมีเครื่องมือ 3-5 ชิ้น
ประเภทของตัวแทน LangChain
มีสองตัวแทนหลัก:
- ตัวแทนการดำเนินการ
- ตัวแทนวางแผนและดำเนินการ
ตัวแทนดำเนินการ: ตัวแทนเหล่านี้จะตัดสินใจดำเนินการเพื่อประเมินแต่ละขั้นตอนทีละขั้นตอน จากนั้นดำเนินการและย้ายไปยังขั้นตอนถัดไปหากเราหารือเกี่ยวกับรหัสหลอกของตัวแทนที่เกี่ยวข้องกับขั้นตอนไม่กี่ขั้นตอน
- ได้รับอินพุตจากผู้ใช้
- ตัวแทนเป็นผู้ตัดสินใจเกี่ยวกับเครื่องมือและประเภทของเครื่องมือที่ต้องการ
- เครื่องมือนั้นถูกเรียกพร้อมกับเครื่องมือป้อนข้อมูลและการสังเกตจะถูกบันทึก
- เครื่องมือประวัติ เครื่องมือสังเกตการณ์ และเครื่องมือป้อนข้อมูลจะถูกส่งกลับไปยังเอเจนต์
- ทำซ้ำขั้นตอนนี้จนกว่าตัวแทนจะตัดสินใจออกจากเครื่องมือนี้
ตัวแทนวางแผนและดำเนินการ: ขั้นแรกตัวแทนเหล่านี้จะตัดสินใจเลือกการดำเนินการที่จะดำเนินการ จากนั้นจึงดำเนินการทั้งหมดเหล่านั้น
- ได้รับการป้อนข้อมูลจากผู้ใช้
- ตัวแทนแสดงรายการขั้นตอนทั้งหมดที่ต้องดำเนินการ
- ผู้ดำเนินการจะต้องดำเนินการตามรายการขั้นตอนต่างๆ และดำเนินการ
การตั้งตัวแทน
ก่อนตั้งค่าตัวแทน คุณต้องติดตั้งเวอร์ชันล่าสุด หลาม ตามระบบปฏิบัติการของคุณ
ขั้นตอนที่ 1: การติดตั้งแพ็คเกจ
ก่อนอื่น เราต้องสร้างสภาพแวดล้อมสำหรับสิ่งนี้ เราต้องติดตั้ง LangChain, google-search-results และ openai ผ่านทาง “ ปิ๊ป ' สั่งการ:
! ปิ๊ป ติดตั้ง แลงเชน
! ปิ๊ป ติดตั้ง ผลการค้นหาของ Google
! ปิ๊ป ติดตั้ง เปิดใจ
การนำเข้าไลบรารีที่จำเป็น:
จาก langchain.schema นำเข้า SystemMessageจาก langchain.agents นำเข้า OpenAIFunctionsAgent, AgentExecutor
จากเครื่องมือนำเข้า langchain.agents
จาก langchain.chat_models นำเข้า ChatOpenAI
นำเข้าอีกครั้ง
จาก getpass นำเข้า getpass
ขั้นตอนที่ 2: รับ API ลับของคุณ
หลังจากตั้งค่าสภาพแวดล้อมแล้ว ตอนนี้คุณต้องรับคีย์ API ลับจากแพลตฟอร์ม OpenAI:
llm = ChatOpenAI ( openai_api_key =openai_api_key, อุณหภูมิ = 0 )
ขั้นตอนที่ 3: การเริ่มต้นเครื่องมือ
ต่อไป เรามากำหนดเครื่องมือกัน โดยเขียนโค้ด Python อย่างง่ายเพื่อรับความยาวของสตริง
กำหนด get_word_string ( คำ: st ) - - > int:
'' “ขอความยาวของเชือกมาให้ฉันหน่อย” ''
กลับ เท่านั้น ( คำ )
เครื่องมือ = [ get_word_string ]
ขั้นตอนที่ 4: สร้างเทมเพลตพร้อมท์
หลังจากกำหนดเครื่องมือแล้ว ให้ตั้งค่าเทมเพลตพร้อมท์สำหรับการใช้งานนี้ “OpenAIFunctionsAgent.create_prompt()” ฟังก์ชั่นตัวช่วยที่จะสร้างเทมเพลตโดยอัตโนมัติ
prompt = OpenAIFunctionsAgent.create_prompt ( system_message =system_message )
ขั้นตอนที่ 5: การสร้างตัวแทน
ตอนนี้เราสามารถสรุปชิ้นส่วนทั้งหมดและสร้างตัวแทนโดยใช้ฟังก์ชันที่เรียกว่า “OpenAIFunctionsAgent()” .
ขั้นตอนที่ 6: การตั้งค่ารันไทม์
หากคุณสร้างเอเจนต์สำเร็จแล้ว ให้สร้างรันไทม์สำหรับเอเจนต์ สำหรับ ”AgentExecutor” นี้จะถูกใช้เป็นรันไทม์สำหรับเอเจนต์
ขั้นตอนที่ 7: การทดสอบตัวแทน
หลังจากสร้าง Runtime แล้ว ตอนนี้ก็ถึงเวลาทดสอบ Agent
หากคุณได้แทรกเพื่อแก้ไขคีย์ API ในขั้นตอนที่ 2 คุณจะได้รับคำตอบ
บทสรุป
บทความนี้มีภาพประกอบจากหลายแง่มุม ประการแรกจะแสดงให้เห็นว่า LangChain คืออะไร และวิธีการทำงาน จากนั้นจึงย้ายไปยังตัวแทนใน LangChain และกล่าวถึงวัตถุประสงค์ของตัวแทนใน LangChain และมีข้อมูลเกี่ยวกับตัวแทนหลักสองประเภท “ตัวแทนปฏิบัติการ” และ “ตัวแทนวางแผนและดำเนินการ” ใช้ใน LangChain และในตอนท้ายการเรียกใช้โค้ดคือการสร้างตัวแทนใน LangChain