(वरील प्रतिमा क्लिक करा आणि या धड्याचा व्हिडिओ पाहा)
एआय एजंटमधील मेटाकॉग्निशन
एआय एजंटमधील मेटाकॉग्निशनवर आधारित या धड्यात आपले स्वागत आहे! हा अध्याय नवशिक्यांसाठी डिझाइन करण्यात आला आहे जे जाणून घेऊ इच्छितात की एआय एजंट त्यांच्या स्वतःच्या विचार प्रक्रियेविषयी कसे विचार करू शकतात. या धड्याच्या शेवटी, तुम्हाला मुख्य संकल्पना समजतील आणि मेटाकॉग्निशन एआय एजंट डिझाइनमध्ये लागू करण्यासाठी व्यावहारिक उदाहरणांसह सज्ज व्हाल.
हा धडा पूर्ण केल्यानंतर, तुम्ही हे करण्यास सक्षम असाल:
मेटाकॉग्निशन म्हणजे आपल्या स्वतःच्या विचारांबद्दल विचार करण्यासंबंधी उच्च-स्तरीय संज्ञानात्मक प्रक्रिया. एआय एजंटसाठी याचे अर्थ असा की ते त्यांच्या क्रियांचा आत्मपरिक्षण करू शकतात आणि भूतकाळातील अनुभवांच्या आधारावर त्यांच्या कृती बदलू शकतात. “विचाराबद्दल विचार” हा संकल्पना एजंटिक एआय सिस्टीम विकसित करताना महत्त्वाची आहे. यात एआय सिस्टीम त्यांच्या अंतर्गत प्रक्रियांची जाणीव ठेवू शकतात आणि त्यांच्या वर्तनाचे निरीक्षण, नियमन आणि अनुकूलन करू शकतात. जसे आपण एखादी परिस्थिती वाचतो किंवा एखादी समस्या पाहतो, तसेच हे आत्म-जागरूकता एआय सिस्टीमना चांगले निर्णय घेण्यास, चुका ओळखण्यास आणि कालांतराने त्यांच्या कामगिरी सुधारण्यास मदत करू शकते - पुन्हा ट्यूरिंग चाचणीशी आणि एआय काय थेट नियंत्रित करेल की नाही या वादाशीही संबंध जोडत.
एजंटिक एआय सिस्टीमच्या संदर्भात, मेटाकॉग्निशन अनेक आव्हानांवर उत्तर देऊ शकते, जसे की:
मेटाकॉग्निशन म्हणजे “विचाराबद्दल विचार”—ही एक उच्च-स्तरीय संज्ञानात्मक प्रक्रिया आहे ज्यात स्वतःच्या संज्ञानात्मक प्रक्रियेची आत्म-जाणीव आणि आत्म-नियमन समाविष्ट असते. एआयच्या क्षेत्रात, मेटाकॉग्निशन एजंटना त्यांच्या धोरणे आणि कृतींचे मूल्यांकन व समायोजन करण्यास सक्षम करते, ज्यामुळे समस्या सोडवण्याची आणि निर्णय घेण्याची क्षमता सुधारते. मेटाकॉग्निशन समजल्यानंतर, तुम्ही असे एआय एजंट डिझाइन करू शकता जे केवळ अधिक बुद्धिमान नसतील तर अधिक अनुकूल आणि कार्यक्षमही असतील. खऱ्या मेटाकॉग्निशनमध्ये, तुम्ही एआयला स्पष्टपणे त्याच्या स्वतःच्या रीझनिंगबद्दल विचार करताना पाहाल.
Example: “मी स्वस्त फ्लाइट्सना प्राधान्य दिले कारण… कदाचित मी थेट फ्लाइट्स गमावत आहे, म्हणून मी पुन्हा तपास करेन.”. कुठला मार्ग का निवडला यावर लक्ष ठेवणे.

मेटाकॉग्निटिव्ह प्रक्रियेत घाण घालण्यापूर्वी, एआय एजंटचे मूलभूत घटक समजून घेणे आवश्यक आहे. एआय एजंट साधारणपणे यापैकी बनलेला असतो:
हे घटक एकत्र काम करतात आणि विशिष्ट कार्ये पार पाडणारी “तज्ञता युनिट” तयार करतात.
उदाहरण: प्रवास एजंटाचा विचार करा, असा एजंट जो केवळ तुमचा सुट्टीचा हा/तो योजना बनवत नाही तर वास्तविक-वेळेतील डेटा आणि मागील ग्राहक प्रवास अनुभवांनुसार त्याचा मार्ग समायोजित करतो.
कल्पना करा की तुम्ही एआयने चालवल्या जाणाऱ्या प्रवास एजंट सेवेला डिझाइन करत आहात. हा एजंट, “प्रवास एजंट”, वापरकर्त्यांना त्यांच्या सुट्ट्यांच्या नियोजनात मदत करतो. मेटाकॉग्निशन समाविष्ट करण्यासाठी, प्रवास एजंटने स्वतःच्या जाणीव आणि भूतकाळातील अनुभवांच्या आधारावर त्यांच्या क्रियांचे मूल्यांकन आणि समायोजन करणे आवश्यक आहे. मेटाकॉग्निशन कसे भूमिका बजावू शकते हे खाली दिले आहे:
सध्याचे काम म्हणजे वापरकर्त्याला पॅरिससाठीचा ट्रिप नियोजन करण्यात मदत करणे.
प्रवास एजंट मेटाकॉग्निशनचा वापर करून त्याच्या कामगिरीचे मूल्यांकन करतो आणि भूतकाळातील अनुभवांमधून शिकतो. उदाहरणार्थ:
प्रवास एजंटमध्ये मेटाकॉग्निशन समावेश करताना कोड साधारणपणे कसा दिसू शकतो याचे एक सोपे उदाहरण येथे आहे:
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
self.experience_data = []
def gather_preferences(self, preferences):
self.user_preferences = preferences
def retrieve_information(self):
# प्राथमिकतांनुसार विमाने, हॉटेल आणि आकर्षणे शोधा
flights = search_flights(self.user_preferences)
hotels = search_hotels(self.user_preferences)
attractions = search_attractions(self.user_preferences)
return flights, hotels, attractions
def generate_recommendations(self):
flights, hotels, attractions = self.retrieve_information()
itinerary = create_itinerary(flights, hotels, attractions)
return itinerary
def adjust_based_on_feedback(self, feedback):
self.experience_data.append(feedback)
# अभिप्रायांचे विश्लेषण करा आणि भविष्यातील शिफारसी समायोजित करा
self.user_preferences = adjust_preferences(self.user_preferences, feedback)
# उदाहरण वापर
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
travel_agent.adjust_based_on_feedback(feedback)
मेटाकॉग्निशन समाविष्ट केल्याने, प्रवास एजंट अधिक वैयक्तिकृत आणि अचूक प्रवास शिफारसी देऊ शकतात, ज्यामुळे एकूण वापरकर्ता अनुभव सुधारतो.
नियोजन हे एआय एजंट वर्तनाचे एक महत्त्वाचे घटक आहे. यात उद्दिष्ट साध्य करण्यासाठी आवश्यक पावले मांडणे, सध्याच्या स्थिती, संसाधने आणि संभाव्य अडथळे विचारात घेणे समाविष्ट आहे.
उदाहरण: वापरकर्त्याला त्यांच्या प्रवासाचे प्रभावी नियोजन करण्यासाठी प्रवास एजंटने जे पावले उचलावीत ती येथे आहेत:
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
self.experience_data = []
def gather_preferences(self, preferences):
self.user_preferences = preferences
def retrieve_information(self):
flights = search_flights(self.user_preferences)
hotels = search_hotels(self.user_preferences)
attractions = search_attractions(self.user_preferences)
return flights, hotels, attractions
def generate_recommendations(self):
flights, hotels, attractions = self.retrieve_information()
itinerary = create_itinerary(flights, hotels, attractions)
return itinerary
def adjust_based_on_feedback(self, feedback):
self.experience_data.append(feedback)
self.user_preferences = adjust_preferences(self.user_preferences, feedback)
# एखाद्या बूइंग विनंतीतील वापराचे उदाहरण
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
travel_agent.adjust_based_on_feedback(feedback)
सुरूवातीला, RAG टूल आणि प्री-इम्प्टिव संदर्भ लोड यातील फरक समजून घेऊया

RAG हे एक पुनर्प्राप्ती प्रणाली आणि जनरेटिव्ह मॉडेल एकत्र करते. जेव्हा एखादा क्वेरी केला जातो, तेव्हा पुनर्प्राप्ती प्रणाली बाह्य स्रोतांमधून संबंधित दस्तऐवज किंवा डेटा आणते, आणि ही मिळालेली माहिती जनरेटिव्ह मॉडेलच्या इनपुटमध्ये वाढवण्यासाठी वापरली जाते. यामुळे मॉडेल अधिक अचूक आणि संदर्भानुकूल उत्तरे निर्माण करू शकते.
RAG प्रणालीमध्ये, एजंट ज्ञानबेसमधून संबंधित माहिती पुनर्प्राप्त करतो आणि त्याचा वापर योग्य उत्तरे किंवा क्रिया तयार करण्यासाठी करतो.
सुधारात्मक RAG पध्दत RAG तंत्रांचा वापर त्रुटी दुरुस्त करण्यासाठी आणि एआय एजंट्सची अचूकता सुधारण्यासाठी करते. यामध्ये यात समाविष्ट आहे:
वेबवरून माहिती घेत असलेल्या शोध एजंटाचा विचार करा ज्याचा वापरकर्ता प्रश्नांची उत्तरे देण्यासाठी केला जातो. सुधारात्मक RAG पध्दतीमध्ये समाविष्ट असू शकते:
सुधारात्मक RAG (Retrieval-Augmented Generation) एआयच्या माहिती पुनर्प्राप्ती आणि निर्मिती क्षमतेत सुधारणा करते तर त्यातील असलेल्या अचूकतेच्या चुका सुधारणे देखील करते. पाहूया की प्रवास एजंट सुधारात्मक RAG पध्दतीचा वापर करून अधिक अचूक आणि संबंधित प्रवास शिफारसी कशा देऊ शकतो.
यामध्ये समाविष्ट आहे:
उदाहरण:
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
उदाहरण:
flights = search_flights(preferences)
hotels = search_hotels(preferences)
attractions = search_attractions(preferences)
उदाहरण:
itinerary = create_itinerary(flights, hotels, attractions)
print("Suggested Itinerary:", itinerary)
उदाहरण:
feedback = {
"liked": ["Louvre Museum"],
"disliked": ["Eiffel Tower (too crowded)"]
}
उदाहरण:
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
उदाहरण:
new_attractions = search_attractions(preferences)
new_itinerary = create_itinerary(flights, hotels, new_attractions)
print("Updated Itinerary:", new_itinerary)
उदाहरण:
def adjust_preferences(preferences, feedback):
if "liked" in feedback:
preferences["favorites"] = feedback["liked"]
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
return preferences
preferences = adjust_preferences(preferences, feedback)
सुधारात्मक RAG पध्दत ट्रॅव्हल एजंटमध्ये समाविष्ट करणारे एक साधे Python कोड उदाहरण येथे आहे:
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
self.experience_data = []
def gather_preferences(self, preferences):
self.user_preferences = preferences
def retrieve_information(self):
flights = search_flights(self.user_preferences)
hotels = search_hotels(self.user_preferences)
attractions = search_attractions(self.user_preferences)
return flights, hotels, attractions
def generate_recommendations(self):
flights, hotels, attractions = self.retrieve_information()
itinerary = create_itinerary(flights, hotels, attractions)
return itinerary
def adjust_based_on_feedback(self, feedback):
self.experience_data.append(feedback)
self.user_preferences = adjust_preferences(self.user_preferences, feedback)
new_itinerary = self.generate_recommendations()
return new_itinerary
# उदाहरण वापर
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
new_itinerary = travel_agent.adjust_based_on_feedback(feedback)
print("Updated Itinerary:", new_itinerary)
प्री-एम्प्टिव्ह संदर्भ लोडमध्ये एखाद्या क्वेरीवर प्रक्रिया करण्यापूर्वी मॉडेलमध्ये संबंधित संदर्भ किंवा पार्श्वभूमी माहिती लोड करणे समाविष्ट आहे. याचा अर्थ मॉडेलला सुरुवातीपासूनच या माहितीचा प्रवेश असतो, ज्यामुळे त्याला प्रक्रिये दरम्यान अतिरिक्त डेटा मिळविण्याची गरज न पडता अधिक माहितीपूर्ण प्रतिसाद तयार करण्यात मदत होऊ शकते.
येथे Python मधील ट्रॅव्हल एजंट अनुप्रयोगासाठी प्री-एम्प्टिव्ह संदर्भ लोड कसा दिसू शकतो याचे साधे उदाहरण आहे:
class TravelAgent:
def __init__(self):
# लोकप्रिय गंतव्ये आणि त्यांची माहिती पूर्व-लोड करा
self.context = {
"Paris": {"country": "France", "currency": "Euro", "language": "French", "attractions": ["Eiffel Tower", "Louvre Museum"]},
"Tokyo": {"country": "Japan", "currency": "Yen", "language": "Japanese", "attractions": ["Tokyo Tower", "Shibuya Crossing"]},
"New York": {"country": "USA", "currency": "Dollar", "language": "English", "attractions": ["Statue of Liberty", "Times Square"]},
"Sydney": {"country": "Australia", "currency": "Dollar", "language": "English", "attractions": ["Sydney Opera House", "Bondi Beach"]}
}
def get_destination_info(self, destination):
# पूर्व-लोड केलेल्या संदर्भातून गंतव्याची माहिती मिळवा
info = self.context.get(destination)
if info:
return f"{destination}:\nCountry: {info['country']}\nCurrency: {info['currency']}\nLanguage: {info['language']}\nAttractions: {', '.join(info['attractions'])}"
else:
return f"Sorry, we don't have information on {destination}."
# वापराचे उदाहरण
travel_agent = TravelAgent()
print(travel_agent.get_destination_info("Paris"))
print(travel_agent.get_destination_info("Tokyo"))
Initialization (__init__ method): TravelAgent वर्ग लोकप्रिय गंतव्यांबद्दल माहिती असलेले एक डिक्शनरी पूर्व-लोड करतो, जसे की पॅरिस, टोकियो, न्यू यॉर्क आणि सिडनी. या डिक्शनरीमध्ये देश, चलन, भाषा आणि प्रत्येक गंतव्याचे मुख्य आकर्षण यांसारख्या तपशीलांचा समावेश आहे.
Retrieving Information (get_destination_info method): जेव्हा वापरकर्ता एखाद्या विशिष्ट गंतव्याबद्दल विचारतो, तेव्हा get_destination_info पद्धत पूर्व-लोड केलेल्या संदर्भ डिक्शनरीमधून संबंधित माहिती आणते.
संदर्भ आधीच लोड केल्याने, ट्रॅव्हल एजंट अनुप्रयोग वापरकर्त्यांच्या क्वेरीजला तातडीने प्रतिसाद देऊ शकतो आणि बाह्य स्त्रोताकडून रिअल-टाइममध्ये माहिती आणण्याची आवश्यकता कमी होते. यामुळे अनुप्रयोग अधिक कार्यक्षम आणि प्रतिसादी होतो.
एखाद्या उद्दिष्टासह योजना बूटस्ट्रॅप करणे म्हणजे आरंभी स्पष्ट उद्दिष्ट किंवा अपेक्षित निकाल ठेवून सुरू करणे. हे उद्दिष्ट प्रत्येक पुनरावृत्तीदरम्यान मार्गदर्शक तत्त्व म्हणून वापरले जाऊ शकते. यामुळे प्रत्येक पुनरावृत्ती इच्छित परिणामाकडे अधिक जवळ नेण्यास मदत होते, ज्यामुळे प्रक्रिया अधिक कार्यक्षम आणि केंद्रित होते.
खाली एक उदाहरण दिले आहे की आपण ट्रॅव्हल एजंटसाठी उद्दिष्ट सेट करून योजना बूटस्ट्रॅप कशी करू शकता आणि नंतर पुनरावृत्ती करू शकता:
एक ट्रॅव्हल एजंट क्लायंटसाठी सानुकूल सुट्ट्यांचा आराखडा बनवू इच्छितो. उद्दिष्ट म्हणजे क्लायंटच्या प्राधान्ये आणि बजेटच्या आधारावर क्लायंटची समाधानता जास्तीत जास्त करणार्या प्रवासाच्या मार्गदर्शिकेची निर्मिती करणे.
class TravelAgent:
def __init__(self, destinations):
self.destinations = destinations
def bootstrap_plan(self, preferences, budget):
plan = []
total_cost = 0
for destination in self.destinations:
if total_cost + destination['cost'] <= budget and self.match_preferences(destination, preferences):
plan.append(destination)
total_cost += destination['cost']
return plan
def match_preferences(self, destination, preferences):
for key, value in preferences.items():
if destination.get(key) != value:
return False
return True
def iterate_plan(self, plan, preferences, budget):
for i in range(len(plan)):
for destination in self.destinations:
if destination not in plan and self.match_preferences(destination, preferences) and self.calculate_cost(plan, destination) <= budget:
plan[i] = destination
break
return plan
def calculate_cost(self, plan, new_destination):
return sum(destination['cost'] for destination in plan) + new_destination['cost']
# वापराचे उदाहरण
destinations = [
{"name": "Paris", "cost": 1000, "activity": "sightseeing"},
{"name": "Tokyo", "cost": 1200, "activity": "shopping"},
{"name": "New York", "cost": 900, "activity": "sightseeing"},
{"name": "Sydney", "cost": 1100, "activity": "beach"},
]
preferences = {"activity": "sightseeing"}
budget = 2000
travel_agent = TravelAgent(destinations)
initial_plan = travel_agent.bootstrap_plan(preferences, budget)
print("Initial Plan:", initial_plan)
refined_plan = travel_agent.iterate_plan(initial_plan, preferences, budget)
print("Refined Plan:", refined_plan)
Initialization (__init__ method): TravelAgent वर्ग संभाव्य गंतव्यांची यादी घेऊन आरंभ केला जातो, ज्यात प्रत्येक गंतव्याचे नाव, खर्च आणि क्रियाकलाप प्रकार यांसारखे गुणधर्म असतात.
Bootstrapping the Plan (bootstrap_plan method): ही पद्धत क्लायंटच्या प्राधान्यां आणि बजेटच्या आधारावर प्रारंभिक प्रवास योजना तयार करते. ती गंतव्यांच्या यादीतील प्रत्येक गोष्ट तपासते आणि जर ती क्लायंटच्या प्राधान्यांशी जुळत असेल आणि बजेटमध्ये बसत असेल तर ती योजनामध्ये जोडते.
Matching Preferences (match_preferences method): ही पद्धत तपासते की एखादे गंतव्य क्लायंटच्या प्राधान्यांशी जुळते का.
Iterating the Plan (iterate_plan method): ही पद्धत प्रारंभिक योजनेत सुधारणा करते, योजनातील प्रत्येक गंतव्य बदलून क्लायंटच्या प्राधान्ये आणि बजेट मर्यादा विचारात घेऊन चांगला पर्याय शोधते.
Calculating Cost (calculate_cost method): ही पद्धत चालू योजनाचा एकूण खर्च गणना करते, त्यात संभाव्य नवीन गंतव्याचा खर्चही समाविष्ट आहे.
उद्दिष्ट (उदा., क्लायंटचा समाधानता जास्तीत जास्त करणे) स्पष्टपणे सेट करून आणि नंतर योजना सुधारण्यासाठी पुनरावृत्ती करून, ट्रॅव्हल एजंट क्लायंटसाठी सानुकूल आणि ऑप्टिमाइझ्ड प्रवास आराखडा तयार करू शकतो. हा दृष्टिकोण प्रारंभीपासूनच क्लायंटच्या प्राधान्ये आणि बजेटशी योजना सुसंगत ठेऊन प्रत्येक पुनरावृत्तीने ती सुधारतो.
Large Language Models (LLMs) चा वापर पुनर्रँकिंग आणि स्कोअरिंगसाठी करून मिळवलेले दस्तऐवज किंवा तयार केलेले प्रतिसाद यांची प्रासंगिकता आणि गुणवत्ता मूल्यांकन केली जाऊ शकते. हे कसे कार्य करते याचे वर्णन पुढे दिले आहे:
Retrieval: प्रारंभिक रिट्रीव्हल टप्प्यात क्वेरीच्या आधारावर उमेदवार दस्तऐवज किंवा प्रतिसादांचा संच मिळविला जातो.
Re-ranking: LLM या उमेदवारांचे मूल्यांकन करून त्यांच्या प्रासंगिकता आणि गुणवत्तेच्या आधारावर पुन्हा-रँकिंग करते. हा टप्पा खात्री करतो की सर्वात प्रासंगिक आणि उच्च-गुणवत्तेची माहिती सर्वप्रथम सादर केली जाते.
Scoring: LLM प्रत्येक उमेदवाराला त्यांच्या प्रासंगिकता आणि गुणवत्तेचे प्रतिबिंब दर्शवणारे स्कोअर्स देतो. यामुळे वापरकर्त्यासाठी सर्वोत्तम प्रतिसाद किंवा दस्तऐवज निवडणे सोपे होते.
LLMs साठी पुनर्रँकिंग आणि स्कोअरिंगचा वापर करून, सिस्टम अधिक अचूक आणि संदर्भानुकूल माहिती प्रदान करू शकते, ज्यामुळे एकूण वापरकर्ता अनुभव सुधारतो.
खाली एक उदाहरण आहे की कसे एक ट्रॅव्हल एजंट वापरकर्त्याच्या प्राधान्यांनुसार प्रवास गंतव्ये पुनर्रँक आणि स्कोअर करण्यासाठी Large Language Model (LLM) वापरू शकतो (Python मध्ये):
ट्रॅव्हल एजंट क्लायंटच्या प्राधान्यांनुसार सर्वोत्तम प्रवास गंतव्यांची शिफारस करू इच्छितो. वापरकर्त्याच्या प्राधान्यांनुसार गंतव्ये पुनर्रँक आणि स्कोअर करण्यासाठी LLM मदत करेल ज्यामुळे सर्वात संबंधित पर्याय सादर केले जातील.
Here’s how you can update the previous example to use Azure OpenAI Services:
import requests
import json
class TravelAgent:
def __init__(self, destinations):
self.destinations = destinations
def get_recommendations(self, preferences, api_key, endpoint):
# Azure OpenAI साठी प्रॉम्प्ट तयार करा
prompt = self.generate_prompt(preferences)
# विनंतीसाठी हेडर्स आणि पेलोड परिभाषित करा
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
payload = {
"prompt": prompt,
"max_tokens": 150,
"temperature": 0.7
}
# पुन्हा क्रमवारी लावलेली आणि गुणांकन केलेली गंतव्ये मिळवण्यासाठी Azure OpenAI API कॉल करा
response = requests.post(endpoint, headers=headers, json=payload)
response_data = response.json()
# शिफारसी काढा आणि परत करा
recommendations = response_data['choices'][0]['text'].strip().split('\n')
return recommendations
def generate_prompt(self, preferences):
prompt = "Here are the travel destinations ranked and scored based on the following user preferences:\n"
for key, value in preferences.items():
prompt += f"{key}: {value}\n"
prompt += "\nDestinations:\n"
for destination in self.destinations:
prompt += f"- {destination['name']}: {destination['description']}\n"
return prompt
# उदाहरण वापर
destinations = [
{"name": "Paris", "description": "City of lights, known for its art, fashion, and culture."},
{"name": "Tokyo", "description": "Vibrant city, famous for its modernity and traditional temples."},
{"name": "New York", "description": "The city that never sleeps, with iconic landmarks and diverse culture."},
{"name": "Sydney", "description": "Beautiful harbour city, known for its opera house and stunning beaches."},
]
preferences = {"activity": "sightseeing", "culture": "diverse"}
api_key = 'your_azure_openai_api_key'
endpoint = 'https://your-endpoint.com/openai/deployments/your-deployment-name/completions?api-version=2022-12-01'
travel_agent = TravelAgent(destinations)
recommendations = travel_agent.get_recommendations(preferences, api_key, endpoint)
print("Recommended Destinations:")
for rec in recommendations:
print(rec)
Initialization: TravelAgent वर्ग संभाव्य प्रवास गंतव्यांची यादी घेऊन आरंभ केला जातो, ज्यात प्रत्येक गंतव्याचे नाव आणि वर्णन सारखी गुणधर्म असतात.
Getting Recommendations (get_recommendations method): ही पद्धत वापरकर्त्याच्या प्राधान्यांनुसार Azure OpenAI सेवेसाठी एक प्रॉम्प्ट तयार करते आणि पुनर्रँक केलेली व स्कोअर केलेली गंतव्ये मिळवण्यासाठी Azure OpenAI API ला HTTP POST विनंती करते.
Generating Prompt (generate_prompt method): ही पद्धत वापरकर्त्याच्या प्राधान्ये आणि गंतव्यांची यादी समाविष्ट करून Azure OpenAI साठी एक प्रॉम्प्ट तयार करते. हा प्रॉम्प्ट मॉडेलला दिलेल्या प्राधान्यांच्या आधारावर गंतव्ये पुनर्रँक आणि स्कोअर करण्यास मार्गदर्शन करतो.
API Call: requests लायब्ररीचा वापर करून Azure OpenAI API एन्डपॉइंटवर HTTP POST विनंती केली जाते. प्रतिसादात पुनर्रँक केलेली आणि स्कोअर केलेली गंतव्ये असतात.
Example Usage: ट्रॅव्हल एजंट वापरकर्त्याच्या प्राधान्ये (उदा., नजारे पाहण्याची रुची आणि विविध संस्कृतींची आवड) गोळा करतो आणि Azure OpenAI सेवेद्वारे पुनर्रँक आणि स्कोअर केलेल्या शिफारसी मिळवतो.
कृपया your_azure_openai_api_key हे आपल्या वास्तविक Azure OpenAI API की ने बदलण्याची आणि https://your-endpoint.com/... हे आपल्या Azure OpenAI डिप्लॉयमेंटच्या वास्तविक एन्डपॉइंट URL ने बदलण्याची खात्री करा.
LLM चा पुनर्रँकिंग आणि स्कोअरिंगसाठी वापर करून, ट्रॅव्हल एजंट क्लायंटला अधिक वैयक्तिकृत आणि संबंधित प्रवास शिफारसी प्रदान करू शकतो, ज्यामुळे त्यांच्या एकूण अनुभवात सुधारणा होते.
Retrieval-Augmented Generation (RAG) हे AI एजंट्सच्या विकासात एक प्रॉम्प्टिंग तंत्र आणि एक साधन असे दोन्ही असू शकते. या दोहोंमधील फरक समजून घेतल्यास आपल्या प्रकल्पांमध्ये RAG अधिक प्रभावीपणे कसा वापरायचा हे समजते.
हे काय आहे?
हे कसे काम करते:
ट्रॅव्हल एजंटमधील उदाहरण:
हे काय आहे?
हे कसे काम करते:
ट्रॅव्हल एजंटमधील उदाहरण:
| पहलू | प्रॉम्प्टिंग तंत्र | साधन |
|---|---|---|
| Manual vs Automatic | प्रत्येक क्वेरीसाठी प्रॉम्प्टचे मॅन्युअल सूत्रीकरण. | पुनर्प्राप्ती आणि जनरेशनसाठी स्वयंचलित प्रक्रिया. |
| Control | पुनर्प्राप्ती प्रक्रियेवर अधिक नियंत्रण देते. | पुनर्प्राप्ती आणि जनरेशन सुलभ व स्वयंचलित करते. |
| Flexibility | विशिष्ट गरजांनुसार कस्टमाइज़्ड प्रॉम्प्ट्सची परवानगी देते. | मोठ्या प्रमाणावर अंमलबजावणीसाठी अधिक कार्यक्षम. |
| Complexity | प्रॉम्प्ट तयार करणे आणि ट्यून करणे आवश्यक असते. | AI एजंटच्या आर्किटेक्चरमध्ये समाकलित करणे सोपे आहे. |
Prompting Technique Example:
def search_museums_in_paris():
prompt = "Find top museums in Paris"
search_results = search_web(prompt)
return search_results
museums = search_museums_in_paris()
print("Top Museums in Paris:", museums)
Tool Example:
class Travel_Agent:
def __init__(self):
self.rag_tool = RAGTool()
def get_museums_in_paris(self):
user_input = "I want to visit museums in Paris."
response = self.rag_tool.retrieve_and_generate(user_input)
return response
travel_agent = Travel_Agent()
museums = travel_agent.get_museums_in_paris()
print("Top Museums in Paris:", museums)
प्रासंगिकता मूल्यांकन हे AI एजंटच्या कामगिरीमध्ये अत्यंत महत्वाचे आहे. हे सुनिश्चित करते की एजंटने पुनर्प्राप्त केलेली आणि तयार केलेली माहिती वापरकर्त्यासाठी योग्य, अचूक आणि उपयुक्त आहे. चला पाहूया की AI एजंटमध्ये प्रासंगिकता कशी मोजायची, यासाठी व्यावहारिक उदाहरणे आणि तंत्रे काय आहेत.
उदाहरण:
def relevance_score(item, query):
score = 0
if item['category'] in query['interests']:
score += 1
if item['price'] <= query['budget']:
score += 1
if item['location'] == query['destination']:
score += 1
return score
उदाहरण:
def filter_and_rank(items, query):
ranked_items = sorted(items, key=lambda item: relevance_score(item, query), reverse=True)
return ranked_items[:10] # वरील 10 संबंधित आयटम परत करा
उदाहरण:
def process_query(query):
# वापरकर्त्याच्या चौकशीतून मुख्य माहिती काढण्यासाठी NLP वापरा
processed_query = nlp(query)
return processed_query
उदाहरण:
def adjust_based_on_feedback(feedback, items):
for item in items:
if item['name'] in feedback['liked']:
item['relevance'] += 1
if item['name'] in feedback['disliked']:
item['relevance'] -= 1
return items
खाली एक व्यावहारिक उदाहरण आहे की ट्रॅव्हल एजंट कसा प्रवास शिफारसींची प्रासंगिकता मूल्यांकन करू शकतो:
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
self.experience_data = []
def gather_preferences(self, preferences):
self.user_preferences = preferences
def retrieve_information(self):
flights = search_flights(self.user_preferences)
hotels = search_hotels(self.user_preferences)
attractions = search_attractions(self.user_preferences)
return flights, hotels, attractions
def generate_recommendations(self):
flights, hotels, attractions = self.retrieve_information()
ranked_hotels = self.filter_and_rank(hotels, self.user_preferences)
itinerary = create_itinerary(flights, ranked_hotels, attractions)
return itinerary
def filter_and_rank(self, items, query):
ranked_items = sorted(items, key=lambda item: self.relevance_score(item, query), reverse=True)
return ranked_items[:10] # टॉप 10 संबंधित आयटम परत करा
def relevance_score(self, item, query):
score = 0
if item['category'] in query['interests']:
score += 1
if item['price'] <= query['budget']:
score += 1
if item['location'] == query['destination']:
score += 1
return score
def adjust_based_on_feedback(self, feedback, items):
for item in items:
if item['name'] in feedback['liked']:
item['relevance'] += 1
if item['name'] in feedback['disliked']:
item['relevance'] -= 1
return items
# उदाहरण वापर
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = travel_agent.generate_recommendations()
print("Suggested Itinerary:", itinerary)
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_items = travel_agent.adjust_based_on_feedback(feedback, itinerary['hotels'])
print("Updated Itinerary with Feedback:", updated_items)
हेतूने शोध म्हणजे वापरकर्त्याच्या क्वेरीमागील अंतर्निहित उद्दिष्ट किंवा लक्ष्य समजून आणि त्याचे تفسير करून सर्वात प्रासंगिक व उपयुक्त माहिती पुनर्प्राप्त करणे व तयार करणे. हा दृष्टिकोन फक्त कीवर्ड मॅचिंगपेक्षा पुढे जातो आणि वापरकर्त्याच्या खऱ्या गरजा व संदर्भ समजून घेण्यावर लक्ष केंद्रित करतो.
हेतूने शोध कसा अमलात आणता येईल हे पाहण्यासाठी ट्रॅव्हल एजंटचा उदाहरण घेऊया.
वापरकर्त्याच्या प्राधान्यांची गोळा करणे
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
वापरकर्त्याच्या हेतू समजून घेणे
def identify_intent(query):
if "book" in query or "purchase" in query:
return "transactional"
elif "website" in query or "official" in query:
return "navigational"
else:
return "informational"
संदर्भ जागरूकता
def analyze_context(query, user_history):
# संदर्भ समजण्यासाठी वर्तमान चौकशी वापरकर्त्याच्या इतिहासासोबत एकत्र करा
context = {
"current_query": query,
"user_history": user_history
}
return context
शोधा आणि परिणाम वैयक्तिकृत करा
def search_with_intent(query, preferences, user_history):
intent = identify_intent(query)
context = analyze_context(query, user_history)
if intent == "informational":
search_results = search_information(query, preferences)
elif intent == "navigational":
search_results = search_navigation(query)
elif intent == "transactional":
search_results = search_transaction(query, preferences)
personalized_results = personalize_results(search_results, user_history)
return personalized_results
def search_information(query, preferences):
# माहितीच्या हेतूसाठी शोध तर्काचे उदाहरण
results = search_web(f"best {preferences['interests']} in {preferences['destination']}")
return results
def search_navigation(query):
# मार्गदर्शी हेतूसाठी शोध तर्काचे उदाहरण
results = search_web(query)
return results
def search_transaction(query, preferences):
# व्यवहारात्मक हेतूसाठी शोध तर्काचे उदाहरण
results = search_web(f"book {query} to {preferences['destination']}")
return results
def personalize_results(results, user_history):
# वैयक्तिकरण तर्काचे उदाहरण
personalized = [result for result in results if result not in user_history]
return personalized[:10] # शीर्ष 10 वैयक्तिकृत निकाल परत करा
उदाहरण वापर
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
user_history = ["Louvre Museum website", "Book flight to Paris"]
query = "best museums in Paris"
results = search_with_intent(query, preferences, user_history)
print("Search Results:", results)
कोड तयार करणारे एजंट एआय मॉडेल वापरून कोड लिहितात आणि चालवितात, जटिल समस्या सोडवतात आणि कार्ये स्वयंचलित करतात.
कोड तयार करणारे एजंट जनरेटिव्ह एआय मॉडेल वापरून कोड लिहितात आणि चालवितात. हे एजंट्स विविध प्रोग्रामिंग भाषांमध्ये कोड तयार करून आणि चालवून जटिल समस्या सोडवू शकतात, कार्ये स्वयंचलित करू शकतात, आणि महत्त्वपूर्ण अंतर्दृष्टी प्रदान करू शकतात.
कल्पना करा आपण एक कोड तयार करणारा एजंट डिझाइन करत आहात. हे कसे काम करू शकते:
या उदाहरणात, आपण एक कोड तयार करणारा एजंट, “प्रवास एजंट”, डिझाइन करणार आहोत जो वापरकर्त्यांना प्रवास नियोजनात मदत करण्यासाठी कोड तयार करेल आणि चालवेल. हा एजंट फ्लाइट्स, हॉटेल्स आणि आकर्षणे शोधणे, निकाल फिल्टर करणे, आणि जनरेटिव्ह एआय वापरून प्रवास आराखडा संकलित करणे यासारखी कार्ये हाताळू शकतो.
वापरकर्त्याच्या पसंती गोळा करणे
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
डेटा मिळवण्यासाठी कोड तयार करणे
def generate_code_to_fetch_data(preferences):
# उदाहरण: वापरकर्त्याच्या पसंतीनुसार फ्लाइट शोधण्यासाठी कोड तयार करा
code = f"""
def search_flights():
import requests
response = requests.get('https://api.example.com/flights', params={preferences})
return response.json()
"""
return code
def generate_code_to_fetch_hotels(preferences):
# उदाहरण: हॉटेल्स शोधण्यासाठी कोड तयार करा
code = f"""
def search_hotels():
import requests
response = requests.get('https://api.example.com/hotels', params={preferences})
return response.json()
"""
return code
तयार केलेला कोड चालवणे
def execute_code(code):
# exec वापरून तयार केलेला कोड अंमलात आणा
exec(code)
result = locals()
return result
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
flight_code = generate_code_to_fetch_data(preferences)
hotel_code = generate_code_to_fetch_hotels(preferences)
flights = execute_code(flight_code)
hotels = execute_code(hotel_code)
print("Flight Options:", flights)
print("Hotel Options:", hotels)
इतिनरेरी तयार करणे
def generate_itinerary(flights, hotels, attractions):
itinerary = {
"flights": flights,
"hotels": hotels,
"attractions": attractions
}
return itinerary
attractions = search_attractions(preferences)
itinerary = generate_itinerary(flights, hotels, attractions)
print("Suggested Itinerary:", itinerary)
अभिप्रायावरून समायोजने करणे
def adjust_based_on_feedback(feedback, preferences):
# वापरकर्त्याच्या अभिप्रायानुसार प्राधान्ये समायोजित करा
if "liked" in feedback:
preferences["favorites"] = feedback["liked"]
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
return preferences
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_preferences = adjust_based_on_feedback(feedback, preferences)
# अपडेट केलेल्या प्राधान्यांसह कोड पुन्हा तयार करा आणि चालवा
updated_flight_code = generate_code_to_fetch_data(updated_preferences)
updated_hotel_code = generate_code_to_fetch_hotels(updated_preferences)
updated_flights = execute_code(updated_flight_code)
updated_hotels = execute_code(updated_hotel_code)
updated_itinerary = generate_itinerary(updated_flights, updated_hotels, attractions)
print("Updated Itinerary:", updated_itinerary)
टेबलच्या स्कीमावर आधारित असणे खरोखरच पर्यावरणीय जागरूकता आणि तर्कशक्तीचा वापर करून क्वेरी जनरेशन प्रक्रियेला सुधारू शकते.
हे कसे करता येईल याचे एक उदाहरणः
खाली या संकल्पनांचा समावेश करणारे एक अद्ययावत Python कोड उदाहरण दिले आहे:
def adjust_based_on_feedback(feedback, preferences, schema):
# वापरकर्त्याच्या अभिप्रायावर आधारित प्राधान्ये समायोजित करा
if "liked" in feedback:
preferences["favorites"] = feedback["liked"]
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
# इतर संबंधित प्राधान्ये समायोजित करण्यासाठी स्कीमा-आधारित तर्क
for field in schema:
if field in preferences:
preferences[field] = adjust_based_on_environment(feedback, field, schema)
return preferences
def adjust_based_on_environment(feedback, field, schema):
# स्कीमा आणि अभिप्रायांच्या आधारे प्राधान्ये समायोजित करण्यासाठी सानुकूल लॉजिक
if field in feedback["liked"]:
return schema[field]["positive_adjustment"]
elif field in feedback["disliked"]:
return schema[field]["negative_adjustment"]
return schema[field]["default"]
def generate_code_to_fetch_data(preferences):
# अपडेट केलेल्या प्राधान्यांनुसार फ्लाइट डेटा आणण्यासाठी कोड तयार करा
return f"fetch_flights(preferences={preferences})"
def generate_code_to_fetch_hotels(preferences):
# अपडेट केलेल्या प्राधान्यांनुसार हॉटेल डेटा आणण्यासाठी कोड तयार करा
return f"fetch_hotels(preferences={preferences})"
def execute_code(code):
# कोडच्या अंमलबजावणीचे अनुकरण करा आणि नक्कली डेटा परत करा
return {"data": f"Executed: {code}"}
def generate_itinerary(flights, hotels, attractions):
# फ्लाइट्स, हॉटेल्स आणि आकर्षणांवर आधारित प्रवास कार्यक्रम तयार करा
return {"flights": flights, "hotels": hotels, "attractions": attractions}
# उदाहरण स्कीमा
schema = {
"favorites": {"positive_adjustment": "increase", "negative_adjustment": "decrease", "default": "neutral"},
"avoid": {"positive_adjustment": "decrease", "negative_adjustment": "increase", "default": "neutral"}
}
# उदाहरण वापर
preferences = {"favorites": "sightseeing", "avoid": "crowded places"}
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_preferences = adjust_based_on_feedback(feedback, preferences, schema)
# अपडेट केलेल्या प्राधान्यांसह कोड पुन्हा तयार करा आणि अंमलात आणा
updated_flight_code = generate_code_to_fetch_data(updated_preferences)
updated_hotel_code = generate_code_to_fetch_hotels(updated_preferences)
updated_flights = execute_code(updated_flight_code)
updated_hotels = execute_code(updated_hotel_code)
updated_itinerary = generate_itinerary(updated_flights, updated_hotels, feedback["liked"])
print("Updated Itinerary:", updated_itinerary)
schema dictionary ठरवते की अभिप्रायावर आधारित पसंती कशा समायोजित केल्या पाहिजेत. यात favorites आणि avoid सारखी फील्ड्स असतात, ज्यांसाठी संबंधित समायोजने दिली आहेत.adjust_based_on_feedback method): ही मेथड वापरकर्त्याच्या अभिप्राय आणि schema नुसार पसंदीत बदल करते.adjust_based_on_environment method): ही मेथड स्कीमा आणि अभिप्रायावर आधारित समायोजन सानुकूल करते.सिस्टम पर्यावरणास जागरूक आणि स्कीमा-आधारित तर्कशक्ती वापरण्यास सक्षम असल्यास, ती अधिक अचूक आणि सानुकूल क्वेरीज तयार करू शकते, ज्यामुळे चांगल्या प्रवास शिफारसी आणि वैयक्तिकृत वापरकर्ता अनुभव मिळू शकतो.
SQL (Structured Query Language) हा डेटाबेसशी संवाद साधण्यासाठी एक सामर्थ्यवान साधन आहे. जेव्हा तो Retrieval-Augmented Generation (RAG) पध्दतीचा भाग म्हणून वापरला जातो, तेव्हा SQL डेटाबेसमधून संबंधित डेटा परत आणण्यासाठी वापरला जाऊ शकतो जे AI एजंट्समधील प्रतिसाद किंवा क्रिया तयार करण्यास माहिती पुरवते. चला पाहूया प्रवास एजंटच्या संदर्भात RAG तंत्र म्हणून SQL कसा वापरला जाऊ शकतो.
उदाहरण: डेटा विश्लेषण करणारा एजंट:
वापरकर्त्याच्या पसंती गोळा करणे
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
SQL प्रश्न तयार करणे
def generate_sql_query(table, preferences):
query = f"SELECT * FROM {table} WHERE "
conditions = []
for key, value in preferences.items():
conditions.append(f"{key}='{value}'")
query += " AND ".join(conditions)
return query
SQL प्रश्न चालवणे
import sqlite3
def execute_sql_query(query, database="travel.db"):
connection = sqlite3.connect(database)
cursor = connection.cursor()
cursor.execute(query)
results = cursor.fetchall()
connection.close()
return results
शिफारसी तयार करणे
def generate_recommendations(preferences):
flight_query = generate_sql_query("flights", preferences)
hotel_query = generate_sql_query("hotels", preferences)
attraction_query = generate_sql_query("attractions", preferences)
flights = execute_sql_query(flight_query)
hotels = execute_sql_query(hotel_query)
attractions = execute_sql_query(attraction_query)
itinerary = {
"flights": flights,
"hotels": hotels,
"attractions": attractions
}
return itinerary
travel_agent = Travel_Agent()
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
travel_agent.gather_preferences(preferences)
itinerary = generate_recommendations(preferences)
print("Suggested Itinerary:", itinerary)
फ्लाइट क्वेरी
SELECT * FROM flights WHERE destination='Paris' AND dates='2025-04-01 to 2025-04-10' AND budget='moderate';
हॉटेल क्वेरी
SELECT * FROM hotels WHERE destination='Paris' AND budget='moderate';
आकर्षण क्वेरी
SELECT * FROM attractions WHERE destination='Paris' AND interests='museums, cuisine';
RAG तंत्राचा भाग म्हणून SQL वापरल्याने, ट्रॅव्हल एजंटसारख्या AI एजंट्सना संबंधित डेटा गतिशीलपणे प्राप्त करून अचूक आणि वैयक्तिकृत शिफारसी देणे शक्य होते.
तर, मेटाकोग्निशनची अंमलबजावणी दाखवण्यासाठी, आपण एक साधा एजंट तयार करूया जो समस्या सोडविताना त्याच्या निर्णय घेण्याच्या प्रक्रियेवर परावर्तित होतो. या उदाहरणात, आपण अशी प्रणाली तयार करूयात जिथे एजंट हॉटेल निवड सुधारण्याचा प्रयत्न करतो, परंतु नंतर त्याचे स्वतःचे तर्क मूल्यांकन करून चुकीच्या किंवा उपयुक्त नसलेल्या निवडी आढळल्यास त्याची रणनीती समायोजित करतो.
आम्ही हे एक मूलभूत उदाहरण वापरून अनुकरण करू:
उदाहरणः
class HotelRecommendationAgent:
def __init__(self):
self.previous_choices = [] # पूर्वी निवडलेली हॉटेल्स साठवते
self.corrected_choices = [] # दुरुस्त केलेल्या निवडी साठवते
self.recommendation_strategies = ['cheapest', 'highest_quality'] # उपलब्ध धोरणे
def recommend_hotel(self, hotels, strategy):
"""
Recommend a hotel based on the chosen strategy.
The strategy can either be 'cheapest' or 'highest_quality'.
"""
if strategy == 'cheapest':
recommended = min(hotels, key=lambda x: x['price'])
elif strategy == 'highest_quality':
recommended = max(hotels, key=lambda x: x['quality'])
else:
recommended = None
self.previous_choices.append((strategy, recommended))
return recommended
def reflect_on_choice(self):
"""
Reflect on the last choice made and decide if the agent should adjust its strategy.
The agent considers if the previous choice led to a poor outcome.
"""
if not self.previous_choices:
return "No choices made yet."
last_choice_strategy, last_choice = self.previous_choices[-1]
# समजा आपल्याकडे असे काही वापरकर्ता अभिप्राय आहेत जे सांगतात की मागील निवड चांगली होती की नाही
user_feedback = self.get_user_feedback(last_choice)
if user_feedback == "bad":
# मागील निवड असंतोषजनक असल्यास धोरण समायोजित करा
new_strategy = 'highest_quality' if last_choice_strategy == 'cheapest' else 'cheapest'
self.corrected_choices.append((new_strategy, last_choice))
return f"Reflecting on choice. Adjusting strategy to {new_strategy}."
else:
return "The choice was good. No need to adjust."
def get_user_feedback(self, hotel):
"""
Simulate user feedback based on hotel attributes.
For simplicity, assume if the hotel is too cheap, the feedback is "bad".
If the hotel has quality less than 7, feedback is "bad".
"""
if hotel['price'] < 100 or hotel['quality'] < 7:
return "bad"
return "good"
# हॉटेल्सची यादी अनुकरण करा (किंमत आणि गुणवत्ता)
hotels = [
{'name': 'Budget Inn', 'price': 80, 'quality': 6},
{'name': 'Comfort Suites', 'price': 120, 'quality': 8},
{'name': 'Luxury Stay', 'price': 200, 'quality': 9}
]
# एजंट तयार करा
agent = HotelRecommendationAgent()
# पाऊल 1: एजंट "सर्वात स्वस्त" धोरण वापरून हॉटेलची शिफारस करतो
recommended_hotel = agent.recommend_hotel(hotels, 'cheapest')
print(f"Recommended hotel (cheapest): {recommended_hotel['name']}")
# पाऊल 2: एजंट निवडीवर विचार करतो आणि आवश्यक असल्यास धोरण समायोजित करतो
reflection_result = agent.reflect_on_choice()
print(reflection_result)
# पाऊल 3: एजंट पुन्हा शिफारस करतो, या वेळी समायोजीत धोरण वापरून
adjusted_recommendation = agent.recommend_hotel(hotels, 'highest_quality')
print(f"Adjusted hotel recommendation (highest_quality): {adjusted_recommendation['name']}")
येथे मुख्य गोष्ट म्हणजे एजंटची क्षमता:
ही मेटाकोग्निशनची एक सोपी रूपरेषा आहे जिथे प्रणाली अंतर्गत अभिप्रायाच्या आधारे आपल्या तर्क प्रक्रियेत बदल करण्यास सक्षम असते.
मेटाकोग्निशन ही एक शक्तिशाली साधन आहे जी AI एजंट्सच्या क्षमतांमध्ये लक्षणीय वाढ करू शकते. मेटाकोग्निटिव्ह प्रक्रियांचा समावेश करून, तुम्ही अधिक बुद्धिमान, अनुकूल आणि कार्यक्षम एजंट्स डिझाइन करू शकता. AI एजंट्समधील मेटाकोग्निशनच्या आकर्षक जगाची पुढे शोधण्यासाठी अतिरिक्त संसाधनांचा वापर करा.
इतर शिकणाऱ्यांशी भेटण्यासाठी, ऑफिस तासांना उपस्थित राहण्यासाठी आणि आपल्या AI एजंट्स संदर्भातील प्रश्नांची उत्तरे मिळवण्यासाठी Microsoft Foundry Discord मध्ये सामील व्हा.
अस्वीकरण: हा दस्तऐवज AI अनुवाद सेवा Co-op Translator (https://github.com/Azure/co-op-translator) वापरून अनुवादित केला गेला आहे. आम्ही अचूकतेसाठी प्रयत्न करतो, परंतु कृपया लक्षात घ्या की स्वयंचलित अनुवादांमध्ये चुका किंवा अचूकतेच्या त्रुटी असू शकतात. मूळ भाषेतील दस्तऐवजाला अधिकृत स्रोत मानले पाहिजे. महत्त्वाच्या माहितीच्या बाबतीत व्यावसायिक मानवी अनुवाद शिफारस केली जाते. या अनुवादाच्या वापरामुळे उद्भवणाऱ्या कोणत्याही गैरसमजुती किंवा चुकीच्या अर्थलागी आम्ही जबाबदार नाही.