จะสร้าง Prompt Templates ใน LangChain ได้อย่างไร?

Ca Srang Prompt Templates Ni Langchain Di Xyangri



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 PromptTemplate

prompt_template = PromptTemplate.from_template(
'เล่าเรื่องตลก {style} เกี่ยวกับ {theme} ให้ฉันฟังหน่อย'
)
prompt_template.format(style='ตลก', ธีม='ไก่')

พรอมต์ได้รับการตั้งค่าและมอบให้กับโมเดลที่มีค่าของตัวแปรที่แทรกอยู่ในคำสั่ง:

ผู้ใช้สามารถปรับแต่งเทมเพลตพร้อมต์ด้วยการสอบถามง่ายๆ เพื่อถามเรื่องตลก:

จากการนำเข้า langchain PromptTemplate

prompt_template = PromptTemplate.from_template(
'เล่าเรื่องตลกให้ฉันฟัง'
)
prompt_template.format()

วิธีการข้างต้นใช้สำหรับคำถามและคำตอบเดียว แต่บางครั้งผู้ใช้ต้องการโต้ตอบกับโมเดลในรูปแบบของการแชท และส่วนถัดไปจะอธิบายรูปแบบของโมเดล

ขั้นตอนที่ 3: การใช้เทมเพลต Chat Prompt

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

จาก langchain.prompts นำเข้า ChatPromptTemplate

template = 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