(اس سبق ویڈیو کو دیکھنے کے لیے اوپر تصویر پر کلک کریں)
AI ایجنٹس میں میٹا کگنیشن
AI ایجنٹس میں میٹا کگنیشن کے سبق میں خوش آمدید! یہ باب ان مبتدیوں کے لیے تیار کیا گیا ہے جو یہ جاننا چاہتے ہیں کہ AI ایجنٹس کس طرح اپنے سوچنے کے عمل کے بارے میں سوچ سکتے ہیں۔ اس سبق کے آخر میں، آپ اہم تصورات کو سمجھیں گے اور میٹا کگنیشن کو AI ایجنٹ ڈیزائن میں استعمال کرنے کے لیے عملی مثالوں سے لیس ہوں گے۔
اس سبق کو مکمل کرنے کے بعد، آپ قابل ہو جائیں گے:
میٹا کگنیشن سے مراد وہ اعلیٰ ترتیبی علمی عمل ہے جس میں اپنی سوچ کے بارے میں سوچنا شامل ہوتا ہے۔ AI ایجنٹس کے لیے، اس کا مطلب ہے اپنے اعمال کا خود آگاہی اور گذشتہ تجربات کی بنیاد پر جائزہ لینا اور انہیں ایڈجسٹ کرنا۔ میٹا کگنیشن، یا “سوچ کے بارے میں سوچنا”، ایجنٹک AI سسٹمز کی ترقی میں ایک اہم تصور ہے۔ اس میں AI سسٹمز کا اپنے داخلی عمل سے آگاہ ہونا اور اپنے رویے کی نگرانی، ضابطہ بندی اور موافقت کرنے کی صلاحیت شامل ہے۔ جیسے ہم کمرہ پڑھتے ہیں یا مسئلے کو دیکھتے ہیں۔ یہ خود آگاہی AI سسٹمز کو بہتر فیصلے کرنے، غلطیاں شناخت کرنے، اور وقت کے ساتھ اپنی کارکردگی بہتر بنانے میں مدد دیتی ہے — جو کہ ٹورنگ ٹیسٹ اور یہ بحث بھی جوڑتی ہے کہ کیا AI قابض ہو جائے گا۔
ایجنٹک AI سسٹمز کے سیاق و سباق میں، میٹا کگنیشن کئی چیلنجز کو حل کرنے میں مدد کر سکتی ہے، جیسے کہ:
میٹا کگنیشن، یا “سوچ کے بارے میں سوچنا”، ایک اعلیٰ تر cognitive عمل ہے جو خود آگاہی اور اپنی علمی عمل کی خود ضابطہ بندی پر مشتمل ہوتا ہے۔ AI کی دنیا میں، میٹا کگنیشن ایجنٹس کو اپنی حکمت عملیوں اور اعمال کا جائزہ لینے اور انہیں ایڈجسٹ کرنے کی طاقت دیتی ہے، جو بہتر مسئلہ حل کرنے اور فیصلہ سازی کی صلاحیتوں کی طرف لے جاتی ہے۔ میٹا کگنیشن کو سمجھ کر، آپ ایسے AI ایجنٹس ڈیزائن کر سکتے ہیں جو نہ صرف زیادہ ذہین بلکہ زیادہ موافق اور مؤثر ہوں۔ حقیقی میٹا کگنیشن میں، آپ AI کو اپنے استدلال کے بارے میں واضح طور پر استدلال کرتے ہوئے دیکھیں گے۔
مثال: “میں نے سستی پروازوں کو ترجیح دی کیونکہ… ممکن ہے میں مستقیم پروازوں سے محروم ہوں، اس لیے میں دوبارہ چیک کرتا ہوں۔” یہ ٹریک رکھنا کہ اس نے کس طرح یا کیوں ایک مخصوص راستہ منتخب کیا۔
میٹا کگنیشن AI ایجنٹ ڈیزائن میں کئی وجوہات کی بنا پر اہم کردار ادا کرتا ہے:

میٹا کگنیشن کے عمل میں غوطہ لگانے سے قبل، AI ایجنٹ کے بنیادی اجزاء کو سمجھنا ضروری ہے۔ ایک AI ایجنٹ عام طور پر پر مشتمل ہوتا ہے:
یہ اجزاء مل کر ایک “مہارت یونٹ” بناتے ہیں جو مخصوص کام انجام دے سکتا ہے۔
مثال: سفر کے ایجنٹ کے بارے میں غور کریں، جو نہ صرف آپ کی تعطیلات کی منصوبہ بندی کرتا ہے بلکہ حقیقی وقت کے ڈیٹا اور گزرے ہوئے صارف کے سفر کے تجربات کی بنیاد پر اپنا راستہ ایڈجسٹ بھی کرتا ہے۔
تصور کریں کہ آپ ایک AI سے چلنے والی سفر ایجنٹ سروس ڈیزائن کر رہے ہیں۔ یہ ایجنٹ، “سفر ایجنٹ”، صارفین کی تعطیلات کی منصوبہ بندی میں مدد دیتا ہے۔ میٹا کگنیشن کو شامل کرنے کے لیے، سفر ایجنٹ کو اپنی کارروائیوں کا خود آگاہی اور گذشتہ تجربات کی بنیاد پر جائزہ لینے اور انہیں ایڈجسٹ کرنے کی ضرورت ہے۔ میٹا کگنیشن کی یہ اہمیت کچھ یوں ہو سکتی ہے:
موجودہ کام صارف کی پیرس کی یاترا کی منصوبہ بندی میں مدد کرنا ہے۔
سفر ایجنٹ میٹا کگنیشن کا استعمال اپنی کارکردگی کا جائزہ لینے اور ماضی کے تجربات سے سیکھنے کے لیے کرتا ہے۔ مثال کے طور پر:
یہاں ایک سادہ مثال ہے کہ سفر ایجنٹ کا کوڈ میٹا کگنیشن کو شامل کرتے وقت کیسا دکھ سکتا ہے:
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)
میٹا کگنیشن کو شامل کرکے، سفر ایجنٹ زیادہ ذاتی اور درست سفر کی سفارشات فراہم کر سکتا ہے، جس سے مجموعی صارف کے تجربے میں بہتری آتی ہے۔
منصوبہ بندی AI ایجنٹ کے رویے کا ایک اہم جزو ہے۔ اس میں مقصد حاصل کرنے کے لیے درکار اقدامات کی وضاحت شامل ہے، موجودہ حالت، وسائل، اور ممکنہ رکاوٹوں کو مدنظر رکھتے ہوئے۔
مثال: یہاں وہ اقدامات ہیں جو سفر ایجنٹ کو صارف کی مدد کے لیے اپنی یاترا کی منصوبہ بندی میں لینے چاہئیں:
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 طریقہ کار غلطیوں کو درست کرنے اور AI ایجنٹس کی درستگی کو بہتر بنانے کے لیے RAG تکنیکوں کے استعمال پر مرکوز ہوتا ہے۔ اس میں شامل ہے:
کسی سرچ ایجنٹ پر غور کریں جو ویب سے معلومات حاصل کرتا ہے تاکہ صارف کے سوالات کے جواب دے سکے۔ اصلاحی RAG طریقہ کار میں شامل ہو سکتا ہے:
اصلاحی RAG (ریٹریول آگمینٹڈ جنریشن) AI کی معلومات حاصل کرنے اور پیدا کرنے کی صلاحیت کو بہتر بناتا ہے جبکہ کسی بھی غلطی کو درست کرتا ہے۔ آئیے دیکھتے ہیں کہ سفر ایجنٹ کیسے اصلاحی 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 طریقہ کار شامل کرتی ہے:
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"))
ابتدائیہ (__init__ طریقہ): TravelAgent کلاس ایک لغت کو پری لوڈ کرتی ہے جس میں مشہور مقامات جیسے پیرس، ٹوکیو، نیو یارک، اور سڈنی کی معلومات ہوتی ہے۔ اس لغت میں ہر مقام کے ملک، کرنسی، زبان، اور اہم سیاحتی مقامات کی تفصیلات شامل ہیں۔
معلومات حاصل کرنا (get_destination_info طریقہ): جب صارف کسی مخصوص مقام کے بارے میں سوال کرتا ہے، تو get_destination_info طریقہ پری لوڈ شدہ کانٹیکسٹ لغت سے متعلقہ معلومات حاصل کرتا ہے۔
کانٹیکسٹ کو پری لوڈ کر کے، ٹریول ایجنٹ ایپلیکیشن صارف کی سوالات کا جلد اور موثر جواب دے سکتی ہے بغیر اس معلومات کو حقیقی وقت میں کسی بیرونی ذریعہ سے حاصل کیے۔ اس سے ایپلیکیشن زیادہ کارگر اور فوری بن جاتی ہے۔
ایک مقصد کے ساتھ پلان کو بوٹ اسٹریپ کرنا واضح ہدف یا مطلوبہ نتیجے کے ساتھ شروع کرنے کا عمل ہے۔ اس مقصد کو پہلے سے مقرر کر کے ماڈل اس کو رہنما اصول کے طور پر استعمال کر سکتا ہے پورے تکراری عمل کے دوران۔ اس سے یہ یقینی بنتا ہے کہ ہر تکرار مطلوبہ نتیجے کے قریب تر ہوتی ہے، جس سے عمل زیادہ موثر اور مرتکز ہو جاتا ہے۔
یہاں ایک مثال ہے کہ آپ کیسے ایک ٹریول ایجنٹ کے لیے Python میں تکرار سے پہلے مقصد کے ساتھ ایک سفری منصوبہ بوٹ اسٹریپ کر سکتے ہیں:
ایک ٹریول ایجنٹ کلائنٹ کے لیے ایک ذاتی نوعیت کی چھٹی کا منصوبہ بنانا چاہتا ہے۔ مقصد ایک ایسا سفری منصوبہ بنانا ہے جو کلائنٹ کی ترجیحات اور بجٹ کی بنیاد پر اس کی اطمینان کو زیادہ سے زیادہ کرے۔
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)
ابتدائیہ (__init__ طریقہ): TravelAgent کلاس ممکنہ مقامات کی فہرست کے ساتھ initialize ہوتی ہے، جن میں ہر ایک کے نام، قیمت، اور سرگرمی کی قسم جیسی خصوصیات شامل ہیں۔
پلان بوٹ اسٹریپ کرنا (bootstrap_plan طریقہ): یہ طریقہ کلائنٹ کی ترجیحات اور بجٹ کی بنیاد پر ابتدائی سفر منصوبہ بناتا ہے۔ یہ مقامات کی فہرست سے گزرتا ہے اور اگر وہ کلائنٹ کی ترجیحات کے مطابق ہوں اور بجٹ کے اندر آتے ہوں تو انہیں منصوبہ میں شامل کرتا ہے۔
ترجیحات کا ملاپ (match_preferences طریقہ): یہ طریقہ چیک کرتا ہے کہ آیا کوئی مقام کلائنٹ کی ترجیحات سے میل کھاتا ہے۔
منصوبہ کی تکرار (iterate_plan طریقہ): یہ طریقہ ابتدائی منصوبے کو بہتر بناتا ہے، کوشش کرتا ہے کہ ہر مقام کو بہتر میل کھانے والے سے بدل دے، کلائنٹ کی ترجیحات اور بجٹ کی حدود کو مدنظر رکھتے ہوئے۔
لاگت کا حساب (calculate_cost طریقہ): یہ طریقہ موجودہ منصوبے کی کل لاگت کا حساب لگاتا ہے، جس میں ممکنہ نیا مقام بھی شامل ہے۔
مقصد (مثلاً کلائنٹ کی اطمینان کو زیادہ سے زیادہ کرنا) کے ساتھ منصوبے کو بوٹ اسٹریپ کر کے اور اسے بار بار تکرار کر کے، ٹریول ایجنٹ کلائنٹ کے لیے ذاتی اور بہتر سفر کا منصوبہ بنا سکتا ہے۔ یہ طریقہ یقینی بناتا ہے کہ سفر کا منصوبہ شروع سے ہی کلائنٹ کی ترجیحات اور بجٹ کے مطابق ہو اور ہر تکرار کے ساتھ بہتر ہو جائے۔
بڑے زبان کے ماڈلز (LLMs) دوبارہ درجہ بندی اور سکورنگ میں استعمال کیے جا سکتے ہیں تاکہ بازیافت شدہ دستاویزات یا پیدا کردہ جوابات کی مطابقت اور معیار کا جائزہ لیا جا سکے۔ یہ طریقہ کار درج ذیل ہے:
حصول: ابتدائی حصول کا مرحلہ سوال کی بنیاد پر ممکنہ دستاویزات یا جوابات کا ایک مجموعہ لاتا ہے۔
دوبارہ درجہ بندی: LLM ان امیدواروں کا جائزہ لیتا ہے اور ان کی مطابقت اور معیار کی بنیاد پر دوبارہ درجہ بندی کرتا ہے۔ اس مرحلے سے یقینی بنتا ہے کہ سب سے زیادہ متعلقہ اور معیاری معلومات سب سے پہلے پیش کی جائیں۔
سکورنگ: LLM ہر امیدوار کو سکور دیتا ہے، جو ان کی مطابقت اور معیار کی عکاسی کرتا ہے۔ یہ بہترین جواب یا دستاویز منتخب کرنے میں مددگار ہوتا ہے۔
دوبارہ درجہ بندی اور سکورنگ کے لیے LLM کو استعمال کر کے، نظام زیادہ درست اور پس منظر کے لحاظ سے متعلقہ معلومات فراہم کر سکتا ہے، جس سے صارف کا مجموعی تجربہ بہتر ہوتا ہے۔
یہاں ایک مثال ہے کہ ایک ٹریول ایجنٹ کس طرح Python میں صارف کی ترجیحات کی بنیاد پر سفر کے مقامات کو دوبارہ درجہ بندی اور سکورنگ کے لیے ایک بڑے زبان کے ماڈل (LLM) کا استعمال کر سکتا ہے:
ایک ٹریول ایجنٹ کلائنٹ کی ترجیحات کی بنیاد پر بہترین سفر کے مقامات کی سفارش کرنا چاہتا ہے۔ LLM مدد کرے گا تاکہ مقامات کو دوبارہ درجہ بندی اور سکور دے کر سب سے متعلقہ اختیارات پیش کیے جا سکیں۔
یہاں آپ پچھلی مثال کو Azure OpenAI سروسز کے استعمال کے لیے کیسے اپ ڈیٹ کر سکتے ہیں:
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)
ابتدائیہ: TravelAgent کلاس ممکنہ سفری مقامات کی فہرست کے ساتھ initialize ہوتی ہے، جن میں ہر ایک کے نام اور تفصیل جیسی خصوصیات شامل ہیں۔
تجاویز حاصل کرنا (get_recommendations طریقہ): یہ طریقہ صارف کی ترجیحات کی بنیاد پر Azure OpenAI سروس کے لیے ایک پرامپٹ بناتا ہے اور Azure OpenAI API کو HTTP POST درخواست بھیجتا ہے تاکہ دوبارہ درجہ بندی اور سکور شدہ مقامات حاصل کرے۔
پرامپٹ بنانا (generate_prompt طریقہ): یہ طریقہ Azure OpenAI کے لیے پرامپٹ تیار کرتا ہے، جس میں صارف کی ترجیحات اور مقامات کی فہرست شامل ہوتی ہے۔ پرامپٹ ماڈل کو رہنمائی دیتا ہے کہ وہ فراہم کردہ ترجیحات کی بنیاد پر مقامات کو دوبارہ درجہ بندی اور سکور کرے۔
API کال: requests لائبریری کا استعمال کر کے Azure OpenAI API اینڈ پوائنٹ پر HTTP POST درخواست کی جاتی ہے۔ جواب میں دوبارہ درجہ بندی اور سکور شدہ مقامات آتے ہیں۔
مثال کے طور پر استعمال: ٹریول ایجنٹ صارف کی ترجیحات (مثلاً سیاحتی مقامات دیکھنے اور متنوع ثقافت میں دلچسپی) جمع کرتا ہے اور Azure OpenAI سروس کا استعمال کر کے سفر کے مقامات کی دوبارہ درجہ بندی اور سکور شدہ تجاویز حاصل کرتا ہے۔
یقینی بنائیں کہ your_azure_openai_api_key کو آپ کی اصل Azure OpenAI API کی کلید سے اور https://your-endpoint.com/... کو آپ کی Azure OpenAI تعیناتی کے اصل اینڈپوائنٹ URL سے تبدیل کریں۔
LLM کو دوبارہ درجہ بندی اور سکورنگ کے لیے استعمال کر کے، ٹریول ایجنٹ کلائنٹس کو مزید ذاتی اور متعلقہ سفر کی تجاویز دے سکتا ہے، جس سے ان کا مجموعی تجربہ بہتر ہوتا ہے۔
ریٹریول-آگمینٹڈ جنریشن (RAG) AI ایجنٹس کی ترقی میں ایک پرامپٹنگ تکنیک اور ایک آلہ دونوں ہو سکتی ہے۔ دونوں میں فرق کو سمجھنا آپ کو اپنے پروجیکٹس میں RAG کو مؤثر طریقے سے استعمال کرنے میں مدد دے سکتا ہے۔
یہ کیا ہے؟
یہ کیسے کام کرتا ہے:
ٹریول ایجنٹ میں مثال:
یہ کیا ہے؟
یہ کیسے کام کرتا ہے:
ٹریول ایجنٹ میں مثال:
| پہلو | پرامپٹنگ تکنیک | آلہ |
|---|---|---|
| دستی بمقابلہ خودکار | ہر سوال کے لیے پرامپٹس کی دستی تیاری۔ | بازیافت اور جنریشن کا خودکار عمل۔ |
| کنٹرول | بازیافت کے عمل پر زیادہ کنٹرول کی اجازت دیتا ہے۔ | بازیافت اور جنریشن کو آسان اور خودکار بناتا ہے۔ |
| لچکداری | مخصوص ضروریات کے مطابق حسب ضرورت پرامپٹس بنانے کی اجازت دیتا ہے۔ | بڑے اسکیل پر مؤثر۔ |
| پیچیدگی | پرامپٹس کی تیاری اور ترتیب میں مہارت درکار ہوتی ہے۔ | AI ایجنٹ کی ساخت میں آسان انضمام۔ |
پرامپٹنگ تکنیک کی مثال:
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)
آلہ کی مثال:
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)
کوڈ بنانے والے ایجنٹس AI ماڈلز کا استعمال کرتے ہیں تاکہ کوڈ لکھیں اور چلائیں، پیچیدہ مسائل کو حل کریں اور کاموں کو خودکار بنائیں۔
کوڈ بنانے والے ایجنٹس تخلیقی AI ماڈلز استعمال کرتے ہیں تاکہ کوڈ لکھیں اور چلائیں۔ یہ ایجنٹس مختلف پروگرامنگ زبانوں میں کوڈ بنانے اور چلانے کے ذریعے پیچیدہ مسائل حل کر سکتے ہیں، کاموں کو خودکار بنا سکتے ہیں، اور قیمتی بصیرت فراہم کر سکتے ہیں۔
فرض کریں کہ آپ کوڈ بنانے والا ایک ایجنٹ ڈیزائن کر رہے ہیں۔ یہ اس طرح کام کر سکتا ہے:
اس مثال میں، ہم ایک کوڈ بنانے والا ایجنٹ، سفر کا ایجنٹ، ڈیزائن کریں گے جو صارفین کو ان کے سفر کی منصوبہ بندی میں مدد دے گا، کوڈ بنا کر اور چلا کر۔ یہ ایجنٹ ایسے کام سنبھال سکتا ہے جیسے سفر کے اختیارات حاصل کرنا، نتائج کو فلٹر کرنا، اور جنریٹو AI کا استعمال کرتے ہوئے سفر نامہ مرتب کرنا۔
صارف کی ترجیحات جمع کرنا
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)
جدول کے اسکیمہ کی بنیاد پر واقعتاً کوئری جنریشن کے عمل کو ماحولیاتی آگاہی اور استدلال کے ذریعے بہتر بنایا جا سکتا ہے۔
یہاں ایک مثال ہے کہ یہ کیسے کیا جا سکتا ہے:
یہاں ایک اپ ڈیٹ شدہ پائتھون کوڈ کی مثال ہے جو ان تصورات کو شامل کرتا ہے:
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 لغت بتاتی ہے کہ ترجیحات کو رائے کی بنیاد پر کیسے ایڈجسٹ کیا جائے۔ اس میں favorites اور avoid جیسے فیلڈز شامل ہیں، اور ان کے مطابق ایڈجسٹمنٹ کی جاتی ہے۔adjust_based_on_feedback طریقہ): یہ طریقہ صارف کی رائے اور اسکیمہ کی بنیاد پر ترجیحات کو ایڈجسٹ کرتا ہے۔adjust_based_on_environment طریقہ): یہ طریقہ اسکیمہ اور رائے کی بنیاد پر تخصیص کرتا ہے۔نظام کو ماحولیاتی طور پر آگاہ بنا کر اور اسکیمہ کی بنیاد پر استدلال کر کے، یہ زیادہ درست اور متعلقہ کوئریز تیار کر سکتا ہے، جس سے بہتر سفر کی تجاویز اور زیادہ شخصی نوعیت کا صارف تجربہ حاصل ہوتا ہے۔
SQL (Structured Query Language) ڈیٹا بیسز کے ساتھ تعامل کرنے کا ایک طاقتور آلہ ہے۔ جب اسے Retrieval-Augmented Generation (RAG) کے حصے کے طور پر استعمال کیا جاتا ہے، تو SQL متعلقہ ڈیٹا کو ڈیٹا بیسز سے نکال کر AI ایجنٹس میں جوابات یا اقدامات کے لیے معلومات فراہم کر سکتا ہے۔ آئیے دیکھتے ہیں کہ سفر کے ایجنٹ کے سیاق میں SQL کو RAG تکنیک کے طور پر کیسے استعمال کیا جا سکتا ہے۔
مثال: ایک ڈیٹا تجزیہ کرنے والا ایجنٹ:
صارف کی ترجیحات جمع کرنا
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';
SQL کو Retrieval-Augmented Generation (RAG) تکنیک کے حصے کے طور پر استعمال کرتے ہوئے، 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 ایجنٹس میں میٹاكونگنيشن کی دلچسپ دنیا کو مزید دریافت کیا جا سکے۔
ملاقات کے لیے Microsoft Foundry Discord میں شامل ہوں، دیگر سیکھنے والوں سے ملیں، آفس آورز میں شرکت کریں اور اپنے AI ایجنٹس کے سوالات کے جواب حاصل کریں۔
ڈس کلیمر: یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔