(Bonyeza picha hapo juu kutazama video ya somo hili)
Metacognition katika Wakala wa AI
Karibu kwenye somo kuhusu metacognition katika wakala wa AI! Sura hii imeundwa kwa ajili ya wanaoanza ambao wana shauku ya kujua jinsi wakala wa AI wanavyoweza kufikiria kuhusu michakato yao ya kufikiria wenyewe. Mwisho wa somo hili, utaelewa dhana muhimu na utakuwa na mifano ya vitendo ya kutumia metacognition katika muundo wa wakala wa AI.
Baada ya kumaliza somo hili, utaweza:
Metacognition inahusu michakato ya daraja la juu ya kifikra inayohusisha kufikiria kuhusu ufikiriaji wa mtu mwenyewe. Kwa wakala wa AI, hii inamaanisha kuwa na uwezo wa kutathmini na kurekebisha hatua zao kulingana na ufahamu wa nafsi na uzoefu wa zamani. Metacognition, au “kufikiria kuhusu kufikiria,” ni dhana muhimu katika maendeleo ya mifumo ya wakala wa AI. Inahusisha mifumo ya AI kuwa na ufahamu wa michakato yao ya ndani na uwezo wa kufuatilia, kudhibiti, na kubadilisha tabia zao ipasavyo. Kama tunavyofanya sisi tunaposoma mazingira au kuangalia tatizo. Ufahamu huu wa nafsi unaweza kusaidia mifumo ya AI kufanya maamuzi bora, kubaini makosa, na kuboresha utendaji wao kwa muda - tena likirudi kwenye mtihani wa Turing na mjadala juu ya kama AI itaangamiza.
Katika muktadha wa mifumo ya wakala wa AI, metacognition inaweza kusaidia kushughulikia changamoto kadhaa, kama vile:
Metacognition, au “kufikiria kuhusu kufikiria,” ni mchakato wa juu wa kifikra unaojumuisha ufahamu wa nafsi na udhibiti wa michakato ya kifikra ya mtu. Katika ulimwengu wa AI, metacognition huwapa wakala uwezo wa kutathmini na kubadilisha mikakati yao na hatua, jambo linalosababisha uboreshaji wa utatuzi wa matatizo na uamuzi. Kwa kuelewa metacognition, unaweza kubuni wakala wa AI ambao sio tu werevu zaidi lakini pia wana uwezo wa kubadilika na ufanisi zaidi. Katika metacognition halisi, utaona AI ikitoa hoja wazi kuhusu hoja zake mwenyewe.
Mfano: “Nilipa kipaumbele ndege za bei nafuu kwa sababu… Labda ninakosa ndege za moja kwa moja, hivyo nieleze tena.” Kufuatilia jinsi au kwanini ilichagua njia fulani.
Metacognition inachukua nafasi muhimu katika muundo wa wakala wa AI kwa sababu kadhaa:

Kabla ya kuingia katika michakato ya metacognition, ni muhimu kuelewa sehemu za msingi za wakala wa AI. Wakala wa AI kwa kawaida hujumuisha:
Sehemu hizi hufanya kazi pamoja kuunda “kitengo cha utaalam” ambacho kinaweza kutekeleza majukumu maalum.
Mfano: Fikiria wakala wa usafiri, huduma za wakala zisizopanga tu likizo yako bali pia kubadilisha njia yake kulingana na data ya wakati halisi na uzoefu wa safari za wateja wa zamani.
Fikiria unabuni huduma ya wakala wa usafiri inayotumia AI. Wakala huyu, “Mwakala wa Usafiri,” husaidia watumiaji kupanga likizo zao. Ili kujumuisha metacognition, Mwakala wa Usafiri inahitaji kutathmini na kurekebisha hatua zake kulingana na ufahamu wa nafsi na uzoefu wa zamani. Hapa ni jinsi metacognition inaweza kuchukua nafasi:
Kazi ya sasa ni kusaidia mtumiaji kupanga safari kwenda Paris.
Mwakala wa Usafiri hutumia metacognition kutathmini utendaji wake na kujifunza kutoka kwa uzoefu wa zamani. Kwa mfano:
Hapa ni mfano rahisi wa jinsi msimbo wa Mwakala wa Usafiri unavyoweza kuonekana unapojumuisha metacognition:
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):
# Tafuta ndege, hoteli, na vivutio kulingana na mapendeleo
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)
# Changanua maoni na rekebisha mapendekezo ya baadaye
self.user_preferences = adjust_preferences(self.user_preferences, feedback)
# Mfano wa matumizi
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)
Kwa kujumuisha metacognition, Mwakala wa Usafiri anaweza kutoa mapendekezo ya kusafiri yaliyobinafsishwa zaidi na sahihi zaidi, kuimarisha uzoefu wa mtumiaji kwa ujumla.
Upangaji ni sehemu muhimu ya tabia ya wakala wa AI. Unahusisha kufafanua hatua zinazohitajika kufikia lengo, kwa kuzingatia hali ya sasa, rasilimali, na vikwazo vinavyoweza kuwepo.
Mfano: Hapa ni hatua ambazo Mwakala wa Usafiri anahitaji kuchukua kusaidia mtumiaji kupanga safari yao kwa ufanisi:
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)
# Mfano wa matumizi ndani ya ombi la kutukanwa
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)
Kwanza, tuanze kwa kuelewa tofauti kati ya Zana ya RAG na Upakiaji wa Muktadha wa Awali

RAG huunganisha mfumo wa upatikanaji na modeli ya kizazi. Wakati swali linapoombwa, mfumo wa upatikanaji huchukua nyaraka au data zinazohusiana kutoka chanzo cha nje, na taarifa hii inayopatikana hutumika kuongeza taarifa kwenye modeli ya kizazi. Hii husaidia modeli kutoa majibu sahihi na yanayolingana na muktadha.
Katika mfumo wa RAG, wakala huchukua taarifa muhimu kutoka kwenye hifadhidata ya maarifa na kuitumia kutoa majibu au hatua zinazofaa.
Mbinu ya RAG ya Marekebisho inalenga kutumia mbinu za RAG kurekebisha makosa na kuboresha usahihi wa wakala wa AI. Hii inahusisha:
Fikiria wakala wa utafutaji ambao huchukua taarifa kutoka mtandao kujibu maswali ya mtumiaji. Mbinu ya RAG ya Marekebisho inaweza kujumuisha:
RAG ya Marekebisho (Uzalishaji Ulioboreshwa kwa Kupata Taarifa) inaboresha uwezo wa AI kupata na kuzalisha taarifa huku ikirekebisha upotovu wowote. Tuchukulie kama Mwakala wa Usafiri anaweza kutumia mbinu ya RAG ya Marekebisho kutoa mapendekezo ya usafiri yaliyo sahihi zaidi na yanayofaa.
Hii inahusisha:
Mfano:
preferences = {
"destination": "Paris",
"dates": "2025-04-01 to 2025-04-10",
"budget": "moderate",
"interests": ["museums", "cuisine"]
}
Mfano:
flights = search_flights(preferences)
hotels = search_hotels(preferences)
attractions = search_attractions(preferences)
Mfano:
itinerary = create_itinerary(flights, hotels, attractions)
print("Suggested Itinerary:", itinerary)
Mfano:
feedback = {
"liked": ["Louvre Museum"],
"disliked": ["Eiffel Tower (too crowded)"]
}
Mfano:
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
Mfano:
new_attractions = search_attractions(preferences)
new_itinerary = create_itinerary(flights, hotels, new_attractions)
print("Updated Itinerary:", new_itinerary)
Mfano:
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)
Hapa ni mfano rahisi wa msimbo wa Python unaojumuisha mbinu ya RAG ya Marekebisho katika Mwakala wa Usafiri:
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
# Mfano wa matumizi
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)
Kuongeza Muktadha Kabla ya Muda kunahusisha kupakia muktadha unaofaa au taarifa za awali ndani ya mfano kabla ya kushughulikia swali. Hii inamaanisha mfano unakuwa na upatikanaji wa taarifa hizi tangu mwanzo, ambayo inaweza kusaidia kutoa majibu yaliyo na taarifa zaidi bila haja ya kupata data za ziada wakati wa mchakato.
Hapa kuna mfano uliorahisishwa wa jinsi kuongeza muktadha kabla ya muda ungeweza kuonekana kwa programu ya wakala wa usafiri kwa Python:
class TravelAgent:
def __init__(self):
# Pakia awali maeneo maarufu na taarifa zao
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):
# Pata taarifa za maeneo kutoka kwa muktadha uliopakiwa awali
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}."
# Mfano wa matumizi
travel_agent = TravelAgent()
print(travel_agent.get_destination_info("Paris"))
print(travel_agent.get_destination_info("Tokyo"))
Uanzishaji (__init__ method): Darasa la TravelAgent linapakia kamusi yenye taarifa kuhusu maeneo maarufu kama Paris, Tokyo, New York, na Sydney. Kamusi hii ina maelezo kama nchi, sarafu, lugha, na vivutio vikuu kwa kila eneo.
Kupata Taarifa (get_destination_info method): Wakati mtumiaji anauliza kuhusu eneo fulani, njia ya get_destination_info hupata taarifa zinazohitajika kutoka kwenye kamusi iliyopakiwa awali.
Kwa kupakia muktadha kabla, programu ya wakala wa usafiri inaweza kujibu maswali ya watumiaji haraka bila kufungua taarifa hizi kutoka chanzo cha nje kwa wakati halisi. Hii inafanya programu kuwa na ufanisi zaidi na kujibu kwa haraka.
Kuanzisha mpango kwa lengo kunahusisha kuanza na lengo wazi au matokeo yanayotarajiwa akilini. Kwa kufafanua lengo hili mapema, mfano unaweza kulitumia kama kanuni ya mwongozo katika mchakato wa kurudia. Hii husaidia kuhakikisha kila mrudia unakaribia kufanikisha matokeo yaliyotarajiwa, na kufanya mchakato kuwa na ufanisi zaidi na mkazo.
Hapa kuna mfano wa jinsi unavyoweza kuanzisha mpango wa safari na lengo kabla ya kurudia kwa wakala wa usafiri kwa Python:
Wakala wa usafiri anataka kupanga likizo iliyobinafsishwa kwa mteja. Lengo ni kuunda ratiba ya safari inayoongeza furaha ya mteja kulingana na mapendeleo yao na bajeti.
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']
# Mfano wa matumizi
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)
Uanzishaji (__init__ method): Darasa la TravelAgent linaanzishwa na orodha ya maeneo yanayoweza kwenda, kila moja likiwa na sifa kama jina, gharama, na aina ya shughuli.
Kuanzisha Mpango (bootstrap_plan method): Njia hii huunda mpango wa awali wa safari kulingana na mapendeleo na bajeti ya mteja. Hupitia orodha ya maeneo na kuyaongeza kwenye mpango ikiwa yanakidhi mapendeleo ya mteja na yanalingana na bajeti.
Kulinganisha Mapendeleo (match_preferences method): Njia hii inakagua kama eneo linaendana na mapendeleo ya mteja.
Kurudia Mpango (iterate_plan method): Njia hii huboresha mpango wa awali kwa kujaribu kubadilisha kila eneo kwenye mpango kwa chaguo bora zaidi, ikizingatia mapendeleo na vizingiti vya bajeti vya mteja.
Kuhesabu Gharama (calculate_cost method): Njia hii huhesabu gharama jumla ya mpango wa sasa, ikiwa ni pamoja na eneo jipya linalowezekana.
Kwa kuanzisha mpango na lengo wazi (mfano, kuongeza furaha ya mteja) na kurudia kuboresha mpango, wakala wa usafiri anaweza kuunda ratiba ya safari iliyobinafsishwa na iliyoboreshwa kwa mteja. Mbinu hii inahakikisha mpango wa safari unalingana na mapendeleo na bajeti ya mteja tangu mwanzo na kuboresha kwa kila kurudia.
Mifumo Mikubwa ya Lugha (LLMs) inaweza kutumika kwa urejeshaji upya wa nafasi na kuweka alama kwa kutathmini uhusiano na ubora wa nyaraka zilizopatikana au majibu yaliyotengenezwa. Hivi ndivyo inavyofanya kazi:
Uchukuzi: Hatua ya awali ya kuchukua huleta seti ya nyaraka au majibu yanayowezekana kulingana na swali.
Urejeshaji Upya wa Nafasi: LLM huathithi wagombea hawa na kurejesha nafasi zao upya kulingana na uhusiano na ubora wao. Hatua hii huhakikisha taarifa yenye umuhimu zaidi na yenye ubora wa juu ndiyo inaonyeshwa kwanza.
Kuweka Alama: LLM inaweka alama kwa kila mgombea, ikionyesha uhusiano na ubora wake. Hii husaidia kuchagua jibu au hati bora kwa mtumiaji.
Kwa kutumia LLM kwa urejeshaji upya na kuweka alama, mfumo unaweza kutoa taarifa sahihi zaidi na zinazofaa kihistoria, kuboresha uzoefu wa mtumiaji kwa ujumla.
Hapa kuna mfano wa jinsi wakala wa usafiri anavyoweza kutumia Mfano Mkubwa wa Lugha (LLM) kwa kurejesha nafasi na kuweka alama ya maeneo ya safari kulingana na mapendeleo ya mtumiaji kwa Python:
Wakala wa usafiri anataka kupendekeza maeneo bora ya safari kwa mteja kulingana na mapendeleo yao. LLM itasaidia kurejeshaji nafasi na kuweka alama maeneo kuhakikisha chaguo zenye uhusiano zaidi zinaonyeshwa.
Hivi ndivyo unavyoweza kuboresha mfano wa awali kutumia Azure OpenAI Services:
import requests
import json
class TravelAgent:
def __init__(self, destinations):
self.destinations = destinations
def get_recommendations(self, preferences, api_key, endpoint):
# Tengeneza ombi kwa Azure OpenAI
prompt = self.generate_prompt(preferences)
# Eleza vichwa na maudhui ya ombi
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
payload = {
"prompt": prompt,
"max_tokens": 150,
"temperature": 0.7
}
# Piga API ya Azure OpenAI kupata maeneo yaliyopangwa upya na yenye alama
response = requests.post(endpoint, headers=headers, json=payload)
response_data = response.json()
# Chuja na rudisha mapendekezo
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
# Mfano wa matumizi
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)
Uanzishaji: Darasa la TravelAgent linaanzishwa na orodha ya maeneo yanayowezekana ya safari, kila moja likiwa na sifa kama jina na maelezo.
Kupata Mapendekezo (get_recommendations method): Njia hii hutengeneza maelekezo kwa huduma ya Azure OpenAI kulingana na mapendeleo ya mtumiaji na kufanya ombi la HTTP POST kwa API ya Azure OpenAI kupata maeneo yaliyorekebishwa upya na kuwekwa alama.
Kutengeneza Maelekezo (generate_prompt method): Njia hii huandaa maelekezo kwa Azure OpenAI, ikiwa ni pamoja na mapendeleo ya mtumiaji na orodha ya maeneo. Maelekezo yanaongoza mfano kurejesha nafasi na kuweka alama maeneo kulingana na mapendeleo yaliyotolewa.
Ombi la API: Maktaba ya requests inatumika kutuma ombi la HTTP POST kwa eneo la API la Azure OpenAI. Jibu lina maeneo yaliyoorejeshwa upya na kuwekwa alama.
Mfano wa Matumizi: Wakala wa usafiri anakusanya mapendeleo ya mtumiaji (mfano, shauku ya kutembelea vivutio na tamaduni mbalimbali) na kutumia huduma ya Azure OpenAI kupata mapendekezo yaliyorekebishwa na kuwekwa alama.
Hakikisha kubadilisha your_azure_openai_api_key na ufunguo halisi wa API wa Azure OpenAI na https://your-endpoint.com/... na URL halisi ya eneo la usambazaji wa Azure OpenAI.
Kwa kutumia LLM kwa kurejesha nafasi na kuweka alama, wakala wa usafiri anaweza kutoa mapendekezo ya safari yaliyobinafsishwa zaidi na yanayofaa kwa wateja, kuboresha uzoefu wao kwa ujumla.
Uzalishaji ulioboreshwa kwa Urejeshaji (RAG) unaweza kuwa mbinu ya kuanzisha maelekezo na zana katika maendeleo ya mawakala wa AI. Kuelewa tofauti kati ya hizi mbili kunaweza kusaidia kutumia RAG kwa ufanisi zaidi katika miradi yako.
Nini Hiki?
Jinsi inavyofanya kazi:
Mfano kwa Wakala wa Usafiri:
Nini Hiki?
Jinsi inavyofanya kazi:
Mfano kwa Wakala wa Usafiri:
| Kipengele | Mbinu ya Kuanzisha Maelekezo | Zana |
|---|---|---|
| Manual vs Automatic | Kuandaa maelekezo kwa kila swali kwa mkono. | Mchakato wa otomatiki wa urejeshaji na uzalishaji. |
| Udhibiti | Hutoa udhibiti zaidi juu ya mchakato wa urejeshaji. | Huongeza ufanisi na otomatiki wa urejeshaji na uzalishaji. |
| Uwekaji wa Kawaida | Huruhusu maelekezo ya kibinafsi kulingana na mahitaji. | Inafaa zaidi kwa utekelezaji mkubwa. |
| Ugumu | Inahitaji utayarishaji na marekebisho ya maelekezo. | Rahisi kuingiza ndani ya usanifu wa wakala wa AI. |
Mfano wa Mbinu ya Kuanzisha Maelekezo:
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)
Mfano wa Zana:
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)
Kutathmini uhusiano wa taarifa ni kipengele muhimu cha utendaji wa wakala wa AI. Inahakikisha taarifa zilizopatikana na zinazotengenezwa na wakala ni sahihi, za muhimu, na zinatumika kwa mtumiaji. Tuchunguze jinsi ya kutathmini uhusiano wa taarifa kwa mawakala wa AI, ikiwa ni pamoja na mifano ya vitendo na mbinu.
Mfano:
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
Mfano:
def filter_and_rank(items, query):
ranked_items = sorted(items, key=lambda item: relevance_score(item, query), reverse=True)
return ranked_items[:10] # Rudisha vitu 10 vinavyohusiana zaidi
Mfano:
def process_query(query):
# Tumia NLP kutoa taarifa kuu kutoka kwa swali la mtumiaji
processed_query = nlp(query)
return processed_query
Mfano:
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
Hapa kuna mfano wa vitendo wa jinsi Wakala wa Usafiri anaweza kutathmini uhusiano wa mapendekezo ya safari:
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] # Rudisha vitu 10 vinavyohusiana zaidi
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
# Mfano wa matumizi
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)
Kutafuta kwa nia kunahusisha kuelewa na kutafsiri kusudi au lengo nyuma ya swali la mtumiaji ili kupata na kutoa taarifa zinazofaa na za muhimu zaidi. Mbinu hii haijalishi tu maneno kufanana bali inalenga kuelewa mahitaji halisi na muktadha wa mtumiaji.
Tuchukue Wakala wa Usafiri kama mfano kuona jinsi kutafuta kwa nia kunavyoweza kutekelezwa.
Kukusanya Mapendeleo ya Mtumiaji
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
Kuelewa Nia ya Mtumiaji
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"
Uelewa wa Muktadha
def analyze_context(query, user_history):
# Changanya ombi la sasa na historia ya mtumiaji ili kuelewa muktadha
context = {
"current_query": query,
"user_history": user_history
}
return context
Tafuta na Binafsisha Matokeo
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):
# Mfano wa mantiki ya utafutaji kwa nia ya taarifa
results = search_web(f"best {preferences['interests']} in {preferences['destination']}")
return results
def search_navigation(query):
# Mfano wa mantiki ya utafutaji kwa nia ya kuvinjari
results = search_web(query)
return results
def search_transaction(query, preferences):
# Mfano wa mantiki ya utafutaji kwa nia ya muamala
results = search_web(f"book {query} to {preferences['destination']}")
return results
def personalize_results(results, user_history):
# Mfano wa mantiki ya ubinafsishaji
personalized = [result for result in results if result not in user_history]
return personalized[:10] # Rudisha matokeo 10 ya juu yaliyo binafsishwa
Mfano wa Matumizi
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)
Maajenti wa kutengeneza msimbo hutumia mifano ya AI kuandika na kutekeleza msimbo, kutatua matatizo magumu na kuendesha kazi kiotomatiki.
Maajenti wa kutengeneza msimbo hutumia mifano ya AI inayozalisha kuandika na kutekeleza msimbo. Maajenti haya yanaweza kutatua matatizo magumu, kuendesha kazi kiotomatiki, na kutoa ufahamu muhimu kwa kutengeneza na kuendesha msimbo katika lugha mbalimbali za programu.
Fikiria unayo muundo wa mwakilishi wa kutengeneza msimbo. Hapa ni jinsi unavyoweza kufanya kazi:
Katika mfano huu, tutaunda mwakilishi wa kutengeneza msimbo, Wakala wa Usafiri, kusaidia watumiaji kupanga safari zao kwa kutengeneza na kutekeleza msimbo. Mwakilishi huyu anaweza kushughulikia kazi kama vile kupata chaguo za usafiri, kuchuja matokeo, na kuandaa ratiba kwa kutumia AI inayozalisha.
Kukusanya Mapendeleo ya Mtumiaji
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
Kutengeneza Msimbo kwa Kupata Data
def generate_code_to_fetch_data(preferences):
# Mfano: Tengeneza msimbo wa kutafuta ndege kulingana na mapendeleo ya mtumiaji
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):
# Mfano: Tengeneza msimbo wa kutafuta hoteli
code = f"""
def search_hotels():
import requests
response = requests.get('https://api.example.com/hotels', params={preferences})
return response.json()
"""
return code
Kuendesha Msimbo Uliotengenezwa
def execute_code(code):
# Tekeleza msimbo uliotengenezwa kwa kutumia 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)
Kutengeneza Ratiba
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)
Kurekebisha Kulingana na Maoni
def adjust_based_on_feedback(feedback, preferences):
# Rekebisha mapendeleo kulingana na maoni ya mtumiaji
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)
# Tengeneza upya na endesha msimbo kwa mapendeleo yaliyosasishwa
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)
Kulingana na muundo wa jedwali kunaweza kuongeza mchakato wa kutengeneza maswali kwa kutumia uelewa wa mazingira na akili.
Hapa kuna mfano wa jinsi hili linavyoweza kufanywa:
Hapa kuna mfano wa msimbo wa Python uliosasishwa unaojumuisha dhana hizi:
def adjust_based_on_feedback(feedback, preferences, schema):
# Rekebisha mapendeleo kulingana na maoni ya mtumiaji
if "liked" in feedback:
preferences["favorites"] = feedback["liked"]
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
# Hoja kulingana na skimu kurekebisha mapendeleo mengine yanayohusiana
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):
# Mantiki maalum ya kurekebisha mapendeleo kulingana na skimu na maoni
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):
# Tengeneza msimbo wa kupata data za ndege kulingana na mapendeleo yaliyosasishwa
return f"fetch_flights(preferences={preferences})"
def generate_code_to_fetch_hotels(preferences):
# Tengeneza msimbo wa kupata data za hoteli kulingana na mapendeleo yaliyosasishwa
return f"fetch_hotels(preferences={preferences})"
def execute_code(code):
# Fanya onyesho la utekelezaji wa msimbo na rudisha data bandia
return {"data": f"Executed: {code}"}
def generate_itinerary(flights, hotels, attractions):
# Tengeneza ratiba kulingana na ndege, hoteli, na vivutio
return {"flights": flights, "hotels": hotels, "attractions": attractions}
# Mfano wa skimu
schema = {
"favorites": {"positive_adjustment": "increase", "negative_adjustment": "decrease", "default": "neutral"},
"avoid": {"positive_adjustment": "decrease", "negative_adjustment": "increase", "default": "neutral"}
}
# Mfano wa matumizi
preferences = {"favorites": "sightseeing", "avoid": "crowded places"}
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_preferences = adjust_based_on_feedback(feedback, preferences, schema)
# Tengeneza upya na utekeleze msimbo na mapendeleo yaliyosasishwa
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 inaeleza jinsi mapendeleo yanavyopaswa kurekebishwa kulingana na maoni. Inajumuisha sehemu kama favorites na avoid, pamoja na marekebisho yanayolingana.adjust_based_on_feedback): Mbinu hii inarekebisha mapendeleo kulingana na maoni ya mtumiaji na muundo.adjust_based_on_environment): Mbinu hii inabinafsisha marekebisho kwa msingi wa muundo na maoni.Kwa kufanya mfumo uwe na uelewa wa mazingira na kufikiri kulingana na muundo, unaweza kutengeneza maswali sahihi na yenye umuhimu zaidi, ambayo hupelekea mapendekezo bora ya safari na uzoefu wa mtumiaji ulio binafsi zaidi.
SQL (Lugha ya Maswali Iliyopangwa) ni chombo chenye nguvu cha kuingiliana na benki za data. Inapotumika kama sehemu ya mbinu ya Uzalishaji-iliyoongezwa kwa Upataji (RAG), SQL inaweza kupata data muhimu kutoka kwa benki za data ili kuarifu na kuunda majibu au hatua katika maajenti wa AI. Tuchunguze jinsi SQL inaweza kutumika kama mbinu ya RAG katika muktadha wa Wakala wa Usafiri.
Mfano: Mwakilishi wa uchambuzi wa data:
Kukusanya Mapendeleo ya Mtumiaji
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
Kutengeneza Maswali ya 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
Kuendesha Maswali ya 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
Kutengeneza Mapendekezo
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)
Swali la Ndege
SELECT * FROM flights WHERE destination='Paris' AND dates='2025-04-01 to 2025-04-10' AND budget='moderate';
Swali la Hoteli
SELECT * FROM hotels WHERE destination='Paris' AND budget='moderate';
Swali la Vivutio
SELECT * FROM attractions WHERE destination='Paris' AND interests='museums, cuisine';
Kwa kutumia SQL kama sehemu ya Mbinu ya Uzalishaji-iliyoongezwa kwa Upataji (RAG), maajenti wa AI kama Wakala wa Usafiri wanaweza kupata na kutumia data muhimu kwa kuwawezesha kutoa mapendekezo sahihi na binafsi.
Ili kuonesha utekelezaji wa metakognition, hebu tuunde wakala rahisi anayezungumzia mchakato wake wa kufanya maamuzi wakati anapotatua tatizo. Kwa mfano huu, tutaunda mfumo ambapo wakala anajitahidi kuboresha uchaguzi wa hoteli, lakini kisha atakagua akili yake na kurekebisha mkakati wake anapofanya makosa au uchaguzi usio mzuri.
Tutafanya mfano huu kwa kutumia mfano rahisi ambapo wakala huchagua hoteli kulingana na mchanganyiko wa bei na ubora, lakini atafanya “kutafakari” juu ya maamuzi yake na kurekebisha ipasavyo.
Hapa ni mfano:
class HotelRecommendationAgent:
def __init__(self):
self.previous_choices = [] # Hifadhi hoteli zilizochaguliwa awali
self.corrected_choices = [] # Hifadhi uchaguzi uliosahihishwa
self.recommendation_strategies = ['cheapest', 'highest_quality'] # Mikakati inayopatikana
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]
# Tuchukulie tuna maoni ya mtumiaji yanayotueleza kama uchaguzi wa mwisho ulikuwa mzuri au la
user_feedback = self.get_user_feedback(last_choice)
if user_feedback == "bad":
# Rekebisha mkakati ikiwa uchaguzi wa awali haukuridhisha
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"
# Tengeneza orodha ya hoteli (bei na ubora)
hotels = [
{'name': 'Budget Inn', 'price': 80, 'quality': 6},
{'name': 'Comfort Suites', 'price': 120, 'quality': 8},
{'name': 'Luxury Stay', 'price': 200, 'quality': 9}
]
# Tengeneza wakala
agent = HotelRecommendationAgent()
# Hatua ya 1: Wakala anapendekeza hoteli kwa kutumia mkakati wa "bei nafuu zaidi"
recommended_hotel = agent.recommend_hotel(hotels, 'cheapest')
print(f"Recommended hotel (cheapest): {recommended_hotel['name']}")
# Hatua ya 2: Wakala anafikiria juu ya uchaguzi na kurekebisha mkakati inapobidi
reflection_result = agent.reflect_on_choice()
print(reflection_result)
# Hatua ya 3: Wakala anapendekeza tena, wakati huu akitumia mkakati uliorekebishwa
adjusted_recommendation = agent.recommend_hotel(hotels, 'highest_quality')
print(f"Adjusted hotel recommendation (highest_quality): {adjusted_recommendation['name']}")
Muhimu hapa ni uwezo wa wakala wa:
Hii ni aina rahisi ya metakognition ambapo mfumo una uwezo wa kurekebisha mchakato wake wa fikra kulingana na maoni ya ndani.
Metakognition ni chombo chenye nguvu kinachoweza kuboresha uwezo wa maajenti wa AI kwa kiasi kikubwa. Kwa kuingiza mchakato wa metakognitivi, unaweza kubuni maajenti wenye akili zaidi, wanaobadilika, na wenye ufanisi. Tumia rasilimali za ziada kuchunguza zaidi ulimwengu wa kustaajabisha wa metakognition katika maajenti wa AI.
Jiunge na Microsoft Foundry Discord ili kukutana na wengine wanaojifunza, kuhudhuria saa za ofisi na kupata majibu kwa maswali yako kuhusu Maajenti wa AI.
Mfano wa Ubunifu wa Maajenti Wengi
Maajenti wa AI katika Uzalishaji
Kionyozo: Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kupata usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Hati ya asili katika lugha yake halisi inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na binadamu inapendekezwa. Hatutojibu kwa kuelewa vibaya au tafsiri potofu zinazotokea kutokana na matumizi ya tafsiri hii.