LangChain เป็นเฟรมเวิร์กที่มีการขึ้นต่อกันและไลบรารีหลายรายการซึ่งสามารถใช้สร้างโมเดลภาษาขนาดใหญ่ได้ โมเดลเหล่านี้สามารถใช้เพื่อโต้ตอบกับมนุษย์ได้ แต่ก่อนอื่น โมเดลจะต้องเรียนรู้วิธีรับ/เข้าใจพรอมต์/คำถามที่มนุษย์ถาม เพื่อทำเช่นนั้น โมเดลจะต้องได้รับการฝึกอบรมเกี่ยวกับเทมเพลตพร้อมท์ จากนั้นผู้ใช้จะถามคำถามภายในเทมเพลตที่กำหนด
คู่มือนี้จะแสดงขั้นตอนการสร้าง prompt template ใน LangChain
จะสร้าง Prompt Templates ใน LangChain ได้อย่างไร?
หากต้องการสร้างเทมเพลตพร้อมต์ใน LangChain เพียงทำตามคำแนะนำต่อไปนี้ซึ่งมีหลายขั้นตอน:
ขั้นตอนที่ 1: ติดตั้งโมดูลและตั้งค่าสภาพแวดล้อม
เริ่มกระบวนการสร้างเทมเพลตพร้อมท์ใน LangChain โดยการติดตั้งเฟรมเวิร์ก LangChain:
pip ติดตั้ง langchain
ตอนนี้ ให้ติดตั้งโมดูล OpenAI เพื่อเข้าถึงไลบรารีและตั้งค่าสภาพแวดล้อมการใช้งาน:
pip ติดตั้ง openai
ตั้งค่า สภาพแวดล้อม OpenAI การใช้ไลบรารีระบบปฏิบัติการเพื่อเข้าถึงระบบปฏิบัติการและจัดเตรียมคีย์ OpenAI API:
นำเข้าเรานำเข้า getpass
os.environ['OPENAI_API_KEY'] = getpass.getpass('คีย์ OpenAI API:')
ขั้นตอนที่ 2: การใช้เทมเพลตพร้อมท์
หลังจากติดตั้ง LangChain เพียงนำเข้าไลบรารี PromptTemplate และสร้างเทมเพลตสำหรับการสืบค้นเกี่ยวกับเรื่องตลกโดยมีลักษณะพิเศษบางอย่างเป็นตัวแปร เช่น คำคุณศัพท์ เนื้อหา ฯลฯ:
จากการนำเข้า langchain PromptTemplateprompt_template = PromptTemplate.from_template(
'เล่าเรื่องตลก {style} เกี่ยวกับ {theme} ให้ฉันฟังหน่อย'
)
prompt_template.format(style='ตลก', ธีม='ไก่')
พรอมต์ได้รับการตั้งค่าและมอบให้กับโมเดลที่มีค่าของตัวแปรที่แทรกอยู่ในคำสั่ง:
ผู้ใช้สามารถปรับแต่งเทมเพลตพร้อมต์ด้วยการสอบถามง่ายๆ เพื่อถามเรื่องตลก:
จากการนำเข้า langchain PromptTemplateprompt_template = PromptTemplate.from_template(
'เล่าเรื่องตลกให้ฉันฟัง'
)
prompt_template.format()
วิธีการข้างต้นใช้สำหรับคำถามและคำตอบเดียว แต่บางครั้งผู้ใช้ต้องการโต้ตอบกับโมเดลในรูปแบบของการแชท และส่วนถัดไปจะอธิบายรูปแบบของโมเดล
ขั้นตอนที่ 3: การใช้เทมเพลต Chat Prompt
ส่วนนี้จะอธิบายเทมเพลตสำหรับโมเดลการแชทซึ่งอิงตามรูปแบบการสนทนาเหมือนที่มนุษย์สองคนโต้ตอบกัน:
จาก langchain.prompts นำเข้า ChatPromptTemplatetemplate = ChatPromptTemplate.from_messages([
('ระบบ', 'แชทบอท AI เพื่อช่วยเหลือผู้ใช้ คุณชื่อ {name}')
('มนุษย์', 'สวัสดี คุณสบายดีไหม'),
('ไอ', 'คุณเป็นยังไงบ้าง'),
('มนุษย์', '{user_input}'),
])
ข้อความ = template.format_messages(
ชื่อ = 'จอห์น',
user_input='ฉันควรเรียกคุณว่าอะไร'
)
หลังจากตั้งค่าโครงสร้างเทมเพลตแล้ว เพียงเขียนบรรทัดในข้อความเพื่อบอกโมเดลถึงสิ่งที่คาดหวังจากโมเดล และใช้ฟังก์ชัน llm() เพื่อแจ้ง:
จาก langchain.prompts นำเข้า ChatPromptTemplateจาก langchain.prompts.chat นำเข้า SystemMessage, HumanMessagePromptTemplate
template = ChatPromptTemplate.from_messages(
[
ข้อความระบบ(
เนื้อหา=(
'คุณอยู่ที่นี่เพื่อช่วยเหลือและช่วยให้ผู้ใช้เขียนข้อความผู้ใช้ใหม่ได้อย่างมีประสิทธิภาพมากขึ้น'
)
)
HumanMessagePromptTemplate.from_template('{text}'),
]
)
จาก langchain.chat_models นำเข้า ChatOpenAI
llm = ChatOpenAI()
llm(template.format_messages(text='ฉันไม่ชอบกินของอร่อย'))
เมธอด SystemMessage() มีเนื้อหาของการตอบกลับสำหรับแบบสอบถามที่ใช้ใน LLM:
นั่นคือทั้งหมดที่เกี่ยวกับการสร้าง prompt templates ใน LangChain
บทสรุป
หากต้องการสร้างเทมเพลตพร้อมท์ใน LangChain เพียงติดตั้งโมดูล LangChain และ OpenAI เพื่อตั้งค่าสภาพแวดล้อมโดยใช้คีย์ OpenAI API หลังจากนั้น ให้สร้างเทมเพลตพรอมต์สำหรับพรอมต์เดียว เช่น การถามเรื่องตลกหรือคำถามเดี่ยวเกี่ยวกับอะไรก็ได้ อีกวิธีหนึ่งคือการปรับแต่งเทมเพลตสำหรับโมเดลการแชทตามกระบวนการโต้ตอบระหว่างมนุษย์สองคน โพสต์นี้ได้อธิบายกระบวนการสร้าง prompt template ใน LangChain