วิธีใช้เอาท์พุตพาร์เซอร์ใน LangChain

Withi Chi Xeathphut Phar Sexr Ni Langchain



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

โพสต์นี้อธิบายวิธีการใช้ฟังก์ชันและคลาสของเอาท์พุตพาร์เซอร์ผ่านเฟรมเวิร์ก 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 นำเข้า PromptTemplate
จาก langchain.prompts นำเข้า HumanMessagePromptTemplate
จากฟิลด์นำเข้า pydantic
จาก langchain.prompts นำเข้า ChatPromptTemplate
จาก langchain.output_parsers นำเข้า PydanticOutputParser
จากการนำเข้า BaseModel ของ pydantic
จากเครื่องมือตรวจสอบการนำเข้า pydantic
จาก langchain.chat_models นำเข้า ChatOpenAI
จาก langchain.llms นำเข้า OpenAI
จากการพิมพ์รายการนำเข้า

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

model_name= 'ข้อความ-ดาวินชี-003'
อุณหภูมิ = 0.0
รุ่น = OpenAI ( รุ่น_ชื่อ =ชื่อรุ่น, อุณหภูมิ =อุณหภูมิ )

ตอนนี้ ให้ใช้คลาส Joke ที่มี BaseModel เพื่อกำหนดค่าโครงสร้างของเอาต์พุตเพื่อรับเรื่องตลกจากโมเดล หลังจากนั้นผู้ใช้สามารถเพิ่มตรรกะการตรวจสอบที่กำหนดเองได้อย่างง่ายดายด้วยคลาส pydantic ซึ่งสามารถขอให้ผู้ใช้ใส่แบบสอบถาม/พร้อมท์ที่มีรูปแบบดีกว่า:

เรื่องตลกในชั้นเรียน ( BaseModel ) : :
การตั้งค่า: str = สนาม ( คำอธิบาย = 'แบบสอบถามเพื่อแสดงเรื่องตลก' )
เจาะลึก: str = สนาม ( คำอธิบาย = 'ตอบแบบสอบถามด้วยเรื่องตลก' )
#การตรวจสอบลอจิกสำหรับการสืบค้น เนื่องจากโมเดลจำเป็นต้องเข้าใจอย่างถูกต้อง
@ เครื่องมือตรวจสอบ ( 'ติดตั้ง' )
def question_ends_with_question_mark ( cls ฟิลด์ ) : :
ถ้า สนาม [ - - 1 ] ! = '?' : :
เพิ่ม ValueError ( “คำถามมีรูปแบบไม่ดี!” )
กลับ สนาม

ขั้นตอนที่ 4: การตั้งค่าเทมเพลตพร้อมท์
กำหนดค่าตัวแปร parser ที่มีเมธอด PydanticOutputParser() ที่มีพารามิเตอร์:

ตัวแยกวิเคราะห์ = PydanticOutputParser ( pydantic_object =เรื่องตลก )

หลังจากกำหนดค่า parser แล้ว เพียงกำหนดตัวแปรพร้อมต์โดยใช้เมธอด PromptTemplate() พร้อมโครงสร้างของแบบสอบถาม/พร้อมท์:

prompt = พร้อมต์เทมเพลต (
แม่แบบ = “ตอบคำถามของผู้ใช้ \n {format_instructions} \n {แบบสอบถาม} \n ' ,
input_variables = [ 'สอบถาม' ] ,
ตัวแปรบางส่วน = { 'รูปแบบ_คำแนะนำ' : parser.get_format_instructions ( ) }
)

ขั้นตอนที่ 5: ทดสอบตัวแยกวิเคราะห์เอาท์พุต
หลังจากกำหนดค่าข้อกำหนดทั้งหมดแล้ว ให้สร้างตัวแปรที่กำหนดโดยใช้แบบสอบถาม จากนั้นเรียกใช้เมธอด format_prompt():

joke_query = 'เล่าเรื่องตลกให้ฉันฟัง'
_input = prompt.format_prompt ( แบบสอบถาม =joke_query )

ตอนนี้ให้เรียกใช้ฟังก์ชัน model() เพื่อกำหนดตัวแปรเอาต์พุต:

เอาท์พุท = รุ่น ( _input.to_string ( ) )

เสร็จสิ้นกระบวนการทดสอบโดยการเรียกเมธอด parser() โดยมีตัวแปรเอาต์พุตเป็นพารามิเตอร์:

parser.แยกวิเคราะห์ ( เอาท์พุท )

นั่นคือทั้งหมดที่เกี่ยวกับกระบวนการใช้เอาท์พุตพาร์เซอร์ใน LangChain

บทสรุป

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