โพสต์นี้อธิบายวิธีการใช้ฟังก์ชันและคลาสของเอาท์พุตพาร์เซอร์ผ่านเฟรมเวิร์ก LangChain
วิธีใช้ Output Parser ผ่าน LangChain
ตัวแยกวิเคราะห์เอาต์พุตคือเอาต์พุตและคลาสที่สามารถช่วยรับเอาต์พุตที่มีโครงสร้างจากโมเดล หากต้องการเรียนรู้กระบวนการใช้เอาท์พุตพาร์เซอร์ใน LangChain เพียงทำตามขั้นตอนที่ระบุไว้:
ขั้นตอนที่ 1: ติดตั้งโมดูล
ขั้นแรก ให้เริ่มกระบวนการใช้เอาท์พุตพาร์เซอร์โดยการติดตั้งโมดูล LangChain ที่มีการขึ้นต่อกันเพื่อดำเนินการตามกระบวนการ:
ปิ๊ป ติดตั้ง แลงเชน
หลังจากนั้น ให้ติดตั้งโมดูล OpenAI เพื่อใช้ไลบรารีเช่น OpenAI และ ChatOpenAI:
ปิ๊ป ติดตั้ง เปิดใจ
ตอนนี้ตั้งค่า สภาพแวดล้อมสำหรับ OpenAI ใช้คีย์ API จากบัญชี OpenAI:
นำเข้าเรา
นำเข้า getpass
ระบบปฏิบัติการ.สภาพแวดล้อม [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'คีย์ OpenAI API:' )
ขั้นตอนที่ 2: นำเข้าไลบรารี
ขั้นตอนต่อไปคือการนำเข้าไลบรารีจาก LangChain เพื่อใช้ตัวแยกวิเคราะห์เอาต์พุตในกรอบงาน:
จาก langchain.prompts นำเข้า HumanMessagePromptTemplate
จากฟิลด์นำเข้า pydantic
จาก langchain.prompts นำเข้า ChatPromptTemplate
จาก langchain.output_parsers นำเข้า PydanticOutputParser
จากการนำเข้า BaseModel ของ pydantic
จากเครื่องมือตรวจสอบการนำเข้า pydantic
จาก langchain.chat_models นำเข้า ChatOpenAI
จาก langchain.llms นำเข้า OpenAI
จากการพิมพ์รายการนำเข้า
ขั้นตอนที่ 3: การสร้างโครงสร้างข้อมูล
การสร้างโครงสร้างของเอาต์พุตเป็นแอปพลิเคชั่นที่สำคัญของตัวแยกวิเคราะห์เอาต์พุตในโมเดลภาษาขนาดใหญ่ ก่อนที่จะเข้าถึงโครงสร้างข้อมูลของโมเดล จำเป็นต้องกำหนดชื่อของโมเดลที่เราใช้เพื่อรับเอาต์พุตที่มีโครงสร้างจากตัวแยกวิเคราะห์เอาต์พุต:
อุณหภูมิ = 0.0
รุ่น = OpenAI ( รุ่น_ชื่อ =ชื่อรุ่น, อุณหภูมิ =อุณหภูมิ )
ตอนนี้ ให้ใช้คลาส Joke ที่มี BaseModel เพื่อกำหนดค่าโครงสร้างของเอาต์พุตเพื่อรับเรื่องตลกจากโมเดล หลังจากนั้นผู้ใช้สามารถเพิ่มตรรกะการตรวจสอบที่กำหนดเองได้อย่างง่ายดายด้วยคลาส pydantic ซึ่งสามารถขอให้ผู้ใช้ใส่แบบสอบถาม/พร้อมท์ที่มีรูปแบบดีกว่า:
เรื่องตลกในชั้นเรียน ( BaseModel ) : :การตั้งค่า: str = สนาม ( คำอธิบาย = 'แบบสอบถามเพื่อแสดงเรื่องตลก' )
เจาะลึก: str = สนาม ( คำอธิบาย = 'ตอบแบบสอบถามด้วยเรื่องตลก' )
#การตรวจสอบลอจิกสำหรับการสืบค้น เนื่องจากโมเดลจำเป็นต้องเข้าใจอย่างถูกต้อง
@ เครื่องมือตรวจสอบ ( 'ติดตั้ง' )
def question_ends_with_question_mark ( cls ฟิลด์ ) : :
ถ้า สนาม [ - - 1 ] ! = '?' : :
เพิ่ม ValueError ( “คำถามมีรูปแบบไม่ดี!” )
กลับ สนาม
ขั้นตอนที่ 4: การตั้งค่าเทมเพลตพร้อมท์
กำหนดค่าตัวแปร parser ที่มีเมธอด PydanticOutputParser() ที่มีพารามิเตอร์:
หลังจากกำหนดค่า parser แล้ว เพียงกำหนดตัวแปรพร้อมต์โดยใช้เมธอด PromptTemplate() พร้อมโครงสร้างของแบบสอบถาม/พร้อมท์:
prompt = พร้อมต์เทมเพลต (แม่แบบ = “ตอบคำถามของผู้ใช้ \n {format_instructions} \n {แบบสอบถาม} \n ' ,
input_variables = [ 'สอบถาม' ] ,
ตัวแปรบางส่วน = { 'รูปแบบ_คำแนะนำ' : parser.get_format_instructions ( ) }
)
ขั้นตอนที่ 5: ทดสอบตัวแยกวิเคราะห์เอาท์พุต
หลังจากกำหนดค่าข้อกำหนดทั้งหมดแล้ว ให้สร้างตัวแปรที่กำหนดโดยใช้แบบสอบถาม จากนั้นเรียกใช้เมธอด format_prompt():
_input = prompt.format_prompt ( แบบสอบถาม =joke_query )
ตอนนี้ให้เรียกใช้ฟังก์ชัน model() เพื่อกำหนดตัวแปรเอาต์พุต:
เอาท์พุท = รุ่น ( _input.to_string ( ) )เสร็จสิ้นกระบวนการทดสอบโดยการเรียกเมธอด parser() โดยมีตัวแปรเอาต์พุตเป็นพารามิเตอร์:
parser.แยกวิเคราะห์ ( เอาท์พุท )
นั่นคือทั้งหมดที่เกี่ยวกับกระบวนการใช้เอาท์พุตพาร์เซอร์ใน LangChain
บทสรุป
หากต้องการใช้ตัวแยกวิเคราะห์เอาต์พุตใน LangChain ให้ติดตั้งโมดูลและตั้งค่าสภาพแวดล้อม OpenAI โดยใช้คีย์ API หลังจากนั้น ให้กำหนดโมเดลแล้วกำหนดค่าโครงสร้างข้อมูลของเอาต์พุตด้วยการตรวจสอบตรรกะของการสืบค้นที่ผู้ใช้ให้ไว้ เมื่อกำหนดค่าโครงสร้างข้อมูลแล้ว เพียงตั้งค่าเทมเพลตพร้อมต์ จากนั้นทดสอบตัวแยกวิเคราะห์เอาต์พุตเพื่อรับผลลัพธ์จากโมเดล คู่มือนี้ได้อธิบายกระบวนการใช้เอาท์พุตพาร์เซอร์ในเฟรมเวิร์ก LangChain