प्रम्प्ट टेम्पलेट
भाषा मॉडल टेक्स्ट को इनपुट के रूप में लेता है, जिसे आम तौर पर "प्रॉम्प्ट" के रूप में उपयोग किया जाता है। विकास के दौरान, प्रॉम्प्ट्स सामान्यत: सीधे हार्डकोड नहीं किए जाते हैं, क्योंकि यह प्रॉम्प्ट प्रबंधन के लिए उपयोगी नहीं होता है। इसके बजाय, प्रॉम्प्ट टेम्पलेट्स का उपयोग प्रॉम्प्ट को बनाए रखने के लिए किया जाता है, जो ईमेल या एसएमएस सामग्री के लिए टेम्पलेट की तरह काम करते हैं।
प्रॉम्प्ट टेम्पलेट क्या होता है?
प्रॉम्प्ट टेम्पलेट आमतौर पर ईमेल या एसएमएस टेम्पलेट की तरह होता है। यह एक स्ट्रिंग टेम्पलेट होता है जिसमें कुछ टेम्प्लेट पैरामीटर शामिल हो सकते हैं। टेम्पलेट पैरामीटर के मान को टेम्पलेट की सामग्री में पैरामीटर के मान को बदलने के लिए इस्तेमाल किया जा सकता है।
प्रॉम्प्ट टेम्पलेट में निम्नलिखित सामग्री शामिल हो सकती है:
- बड़े भाषा मॉडल (LLM) को भेजे गए निर्देश।
- एक सेट के सवाल-जवाब उदाहरण जो एआई को अपेक्षित स्वरूप की वापसी अनुरोधों के लिए याद दिलाने के लिए होते हैं।
- भाषा मॉडल को भेजे जाने वाले सवाल।
प्रॉम्प्ट टेम्पलेट बनाना
आप PromptTemplate
कक्षा का उपयोग करके एक सरल प्रॉम्प्ट बना सकते हैं। प्रॉम्प्ट टेम्पलेट्स में किसी भी संख्या के टेम्प्लेट पैरामीटर शामिल किए जा सकते हैं और फिर पैरामीटर मानों का उपयोग करके टेम्पलेट सामग्री को स्वरूपित किया जा सकता है।
from langchain.prompts import PromptTemplate
prompt_template = PromptTemplate.from_template(
"मुझे {adjective} मजाक{content} के बारे में बताओ।"
)
prompt_template.format(adjective="मजेदार", content="मुर्गियों")
टेम्पलेट का परिणाम आउटपुट:
'मुझे मजेदार मजाक मुर्गियों के बारे में बताओ।'
चैट संदेश प्रॉम्प्ट टेम्पलेट्स
चैट मॉडल्स इनपुट के रूप में चैट संदेशों की एक सूची लेते हैं, और इन चैट संदेशों की सामग्री को भी प्रॉम्प्ट टेम्पलेट का उपयोग करके प्रबंधित किया जा सकता है। ये चैट संदेश अपरिष्कृत स्ट्रिंग्स से अलग होते हैं क्योंकि प्रत्येक संदेश किसी "रोल" से जुड़ा होता है।
उदाहरण के रूप में, OpenAI के चैट पूर्णता API में, OpenAI के चैट मॉडल को विभिन्न चैट संदेशों के लिए तीन प्रकार के रोल को परिभाषित करता है: सहायक, मानव या सिस्टम रोल:
- सहायक संदेश एआई के जवाब होते हैं।
- मानव संदेश एआई को उपयोगकर्ता द्वारा भेजे गए संदेश को संदेशित करते हैं।
- सिस्टम संदेश आमतौर पर एआई की पहचान करने के लिए प्रयोग किए जाते हैं।
चैट संदेश टेम्पलेट बनाने का उदाहरण:
from langchain_core.prompts import ChatPromptTemplate
chat_template = ChatPromptTemplate.from_messages(
[
("system", "तुम एक सहायक एआई बॉट हो। तुम्हारा नाम है {नाम}।"),
("human", "नमस्ते, तुम कैसे हो?"),
("ai", "मैं ठीक हूँ, धन्यवाद!"),
("human", "{उपयोगकर्ता_इनपुट}"),
]
)
messages = chat_template.format_messages(name="बॉब", user_input="तुम्हारा नाम क्या है?")
संदेश स्वरूप दूसरी उदाहरण:
from langchain.prompts import HumanMessagePromptTemplate
from langchain_core.messages import SystemMessage
from langchain_openai import ChatOpenAI
chat_template = ChatPromptTemplate.from_messages(
[
SystemMessage(
content=(
"तुम एक सहायक एसिस्टेंट हो जो उपयोगकर्ता के टेक्स्ट को अधिक उदात्त ध्वनि में पुनः-लिखता है।"
)
),
HumanMessagePromptTemplate.from_template("{पाठ}"),
]
)
messages = chat_template.format_messages(text="मुझे स्वादिष्ट चीजें खाना पसंद नहीं है")
print(messages)
सामान्यत: हम सीधे format_messages
फ़ंक्शन का उपयोग नहीं करते हैं, बल्कि इसे भाषांतर फ्रेमवर्क से स्वचालित रूप से हैंडल करने देते हैं।