(Bofya picha hapo juu kutazama video ya somo hili)
Metakognisheni katika Wakala wa AI
Karibu kwenye somo kuhusu metakognisheni katika wakala wa AI! Sura hii imebuniwa kwa wanaoanza ambao wanavutiwa na jinsi wakala wa AI wanavyoweza kufikiria kuhusu michakato yao ya kufikiri. Mwisho wa somo hili, utaelewa dhana muhimu na kuwa na mifano ya vitendo ya kutumia metakognisheni katika muundo wa wakala wa AI.
Baada ya kukamilisha somo hili, utaweza:
Metakognisheni inahusu michakato ya juu ya kifikra inayohusisha kufikiria kuhusu fikra za mtu binafsi. Kwa wakala wa AI, hii inamaanisha kuwa na uwezo wa kutathmini na kurekebisha matendo yao kulingana na uelewa wa nafsi na uzoefu wa zamani. Metakognisheni, 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 kuwa na uwezo wa kufuatilia, kudhibiti, na kubadilisha tabia zao ipasavyo. Kama tunavyofanya tunapojua hali ya mtu au tunapoangalia tatizo. Uelewa huu wa nafsi unaweza kusaidia mifumo ya AI kufanya maamuzi bora, kugundua makosa, na kuboresha utendaji wao kwa muda- tena ikihusiana na jaribio la Turing na mjadala kuhusu kama AI itachukua nafasi.
Katika muktadha wa mifumo ya wakala wa AI, metakognisheni inaweza kusaidia kushughulikia changamoto kadhaa, kama vile:
Metakognisheni, au “kufikiria kuhusu kufikiria,” ni mchakato wa juu wa kifikra unaojumuisha uelewa wa nafsi na udhibiti wa michakato ya kifikra ya mtu binafsi. Katika ulimwengu wa AI, metakognisheni inawawezesha wakala kutathmini na kubadilisha mikakati na matendo yao, na kusababisha uboreshaji wa utatuzi wa matatizo na uwezo wa kufanya maamuzi. Kwa kuelewa metakognisheni, unaweza kubuni wakala wa AI ambao si tu akili zaidi bali pia wenye uwezo wa kuendana na ufanisi zaidi. Katika metakognisheni ya kweli, utaona AI ikitoa hoja wazi kuhusu hoja yake mwenyewe.
Mfano: “Nilipendelea ndege za bei nafuu kwa sababu… Inawezekana napoteza ndege za moja kwa moja, hivyo acheni nirejee tena.”. Kufuata jinsi au kwa nini ilichagua njia fulani.
Metakognisheni ina jukumu muhimu katika muundo wa wakala wa AI kwa sababu kadhaa:

Kabla ya kuingia kwenye michakato ya metakognisheni, ni muhimu kuelewa sehemu za msingi za wakala wa AI. Wakala wa AI kawaida huwa na:
Sehemu hizi hufanya kazi pamoja kuunda “kikundi cha utaalamu” ambacho kinaweza kutekeleza kazi maalum.
Mfano: Fikiria wakala wa usafiri, huduma za wakala ambao si tu kupanga likizo yako bali pia kubadilisha njia yake kulingana na data za moja kwa moja na uzoefu wa safari za wateja wa zamani.
Fikiria unabuni huduma ya wakala wa usafiri inayotumia AI. Wakala huyu, “Wakala wa Usafiri,” husaidia watumiaji kupanga likizo zao. Ili kuingiza metakognisheni, Wakala wa Usafiri unahitaji kutathmini na kurekebisha matendo yake kulingana na uelewa wa nafsi na uzoefu wa zamani. Hapa ni jinsi metakognisheni inaweza kucheza sehemu:
Kazi ya sasa ni kusaidia mtumiaji kupanga safari kwenda Paris.
Wakala wa Usafiri hutumia metakognisheni kutathmini utendaji wake na kujifunza kutoka kwa uzoefu wa zamani. Kwa mfano:
Hapa kuna mfano rahisi wa msimbo wa Travel Agent unapoingiza metakognisheni:
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 kuingiza metakognisheni, Wakala wa Usafiri anaweza kutoa mapendekezo ya usafiri ambayo ni binafsi zaidi na sahihi, na kuboresha uzoefu wa mtumiaji kwa ujumla.
Upangaji ni sehemu muhimu ya tabia ya wakala wa AI. Inahusisha kufafanua hatua zinazohitajika kufikia lengo, kuzingatia hali ya sasa, rasilimali, na vizingiti vinavyoweza kutokea.
Mfano: Hapa ni hatua ambazo Wakala wa Usafiri anahitaji kuchukua kusaidia mtumiaji kupanga safari yake 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 booing
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 anza kwa kuelewa tofauti kati ya Kifaa cha RAG na Upakuaji wa Muktadha wa kabla

RAG huunganisha mfumo wa upataji na mfano wa kizazi. Wakati swali linaulizwa, mfumo wa upataji huchukua hati muhimu au data kutoka chanzo cha nje, na taarifa hii inayotolewa hutumika kuongeza pembejeo kwa mfano wa kizazi. Hii inasaidia mfano kutoa majibu sahihi zaidi na yanayofaa muktadha.
Katika mfumo wa RAG, wakala hutafuta taarifa muhimu kutoka kwenye hifadhidata ya maarifa na kuitumia kuzalisha majibu au matendo yanayofaa.
Mbinu ya RAG ya Marekebisho inalenga kutumia mbinu za RAG kurekebisha makosa na kuboresha usahihi wa wakala wa AI. Hii inajumuisha:
Fikiria wakala wa utafutaji anayepata taarifa kutoka intaneti kujibu maswali ya mtumiaji. Mbinu ya RAG ya Marekebisho inaweza kujumuisha:
RAG ya Marekebisho (Uzalishaji Ukioungwa Mkono na Upataji) huongeza uwezo wa AI kupata na kutoa taarifa wakati ikirekebisha usahihi wake. Turejee jinsi Wakala wa Usafiri anavyoweza kutumia Mbinu ya RAG ya Marekebisho kutoa mapendekezo ya usafiri sahihi zaidi na yenye uhusiano.
Hii inajumuisha:
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 kuna mfano rahisi wa msimbo wa Python unaoingiza mbinu ya RAG ya Marekebisho katika Wakala 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)
Kupakia Muktadha Kabla Haja kunahusisha kupakia muktadha unaofaa au taarifa za msingi kwenye modeli kabla ya kuchakata swali. Hii ina maana modeli ina ufikiaji wa taarifa hii tangu mwanzo, ambayo inaweza kusaidia kutoa majibu yenye taarifa zaidi bila hitaji la kupata data za ziada wakati wa mchakato.
Hapa kuna mfano rahisi wa jinsi kupakia muktadha kabla ya haja kunavyoweza kuonekana kwa programu ya wakala wa usafiri katika Python:
class TravelAgent:
def __init__(self):
# Chukua maeneo maarufu na taarifa zao kabla
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 mahali kutoka kwenye muktadha uliosababishwa 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 kina 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 anapouliza kuhusu eneo maalum, njia ya get_destination_info huchukua taarifa zinazohitajika kutoka kwenye kamusi iliyopakiwa kabla.
Kwa kupakia muktadha mapema, programu ya wakala wa usafiri inaweza kujibu haraka maswali ya mtumiaji bila hitaji la kupata taarifa hizi kutoka chanzo kingine kwa wakati halisi. Hii hufanya programu kuwa bora zaidi na yenye majibu ya haraka.
Kuanzisha mpango kwa lengo kunahusisha kuanza na malengo wazi au matokeo yanayotarajiwa akilini. Kwa kufafanua lengo hili mapema, modeli inaweza kulitumia kama kanuni huduma wakati wote wa mchakato wa kurudia mzunguko. Hii husaidia kuhakikisha kila mzunguko unakaribia kufikia matokeo yanayotakiwa, na kufanya mchakato kuwa mzuri na ulio na lengo wazi.
Hapa kuna mfano wa jinsi unavyoweza kuanzisha mpango wa safari kwa lengo kabla ya kurudia kwa wakala wa usafiri katika Python:
Mwakala 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 kutembelewa, kila kikiwa 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. Huirudia kwenye orodha ya maeneo na kuiweka kwenye mpango ikiwa inalingana na mapendeleo na inahakikisha haizidi bajeti.
Kulinganisha Mapendeleo (match_preferences method): Njia hii huangalia kama eneo linalolingana na mapendeleo ya mteja.
Kurudia Mpango (iterate_plan method): Njia hii huboresha mpango wa awali kwa kujaribu kubadilisha kila eneo kwenye mpango na linganifu bora zaidi, zikizingatiwa mapendeleo ya mteja na vizingiti vya bajeti.
Kuhesabu Gharama (calculate_cost method): Njia hii huhesabu jumla ya gharama za mpango wa sasa, ikijumuisha eneo jipya linalowezekana.
Kwa kuanzisha mpango kwa lengo wazi (mfano, kuongeza furaha ya mteja) na kurudia kuboresha mpango, wakala wa usafiri anaweza kuunda ratiba ya safari iliyobinafsishwa na iliyoboreshwa kwa mteja. Njia hii huhakikisha kwamba mpango wa safari unaendana na mapendeleo na bajeti ya mteja tangu mwanzo na kuboreshwa kila wakati wa mzunguko.
Mifano Mikubwa ya Lugha (LLMs) inaweza kutumika kwa kupanga upya na kufungasha alama kwa kutathmini umuhimu na ubora wa nyaraka zilizopatikana au majibu yaliyotengenezwa. Hapa kuna jinsi inavyofanya kazi:
Kukusanya: Hatua ya awali ya ukusanyaji huleta seti ya nyaraka au majibu yanayowezekana kulingana na swali.
Upangaji Upya: LLM inatathmini wagombea hawa na kuwapangia upya kulingana na umuhimu na ubora wao. Hatua hii huhakikisha taarifa zinazofaa na bora zipo mbele kabisa.
Kufungasha Alama: LLM hutumia alama kwa kila mgombea, zikionyesha umuhimu na ubora wao. Hii husaidia kuchagua jibu bora au hati bora kwa mtumiaji.
Kwa kutumia LLM kwa kupanga upya na kufungasha alama, mfumo unaweza kutoa taarifa sahihi na zinazofaa kiuktadha zaidi, kuboresha uzoefu wa mtumiaji kwa ujumla.
Hapa kuna mfano wa jinsi wakala wa usafiri anavyoweza kutumia Mfano Mkubwa wa Lugha (LLM) kwa kupanga upya na kufungasha alama maeneo ya kusafiria kulingana na mapendeleo ya mtumiaji katika Python:
Mwakala wa usafiri anataka kupendekeza maeneo bora ya kusafiria kwa mteja kulingana na mapendeleo yao. LLM itasaidia kupanga upya na kufungasha alama maeneo kuhakikisha chaguzi zinazofaa zaidi zinaonyeshwa.
Hivi ndivyo unavyoweza kusasisha mfano wa awali ili 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 ajili ya 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 marudio 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 kusafiria, kila kikiwa na sifa kama jina na maelezo.
Kupata Mapendekezo (get_recommendations method): Njia hii hutengeneza kauli kwa huduma ya Azure OpenAI kulingana na mapendeleo ya mtumiaji na hufanya maombi ya HTTP POST kwenye API ya Azure OpenAI kupata maeneo yaliyopangiliwa upya na kufungashwa alama.
Kutengeneza Kauli (generate_prompt method): Njia hii huunda kauli kwa Azure OpenAI, ikijumuisha mapendeleo ya mtumiaji na orodha ya maeneo. Kauli hii inaelekeza modeli kupanga upya na kufungasha alama maeneo kulingana na mapendeleo yaliyotolewa.
Upigaji API: Maktaba ya requests inatumika kufanya maombi ya HTTP POST kwa endpoint ya API ya Azure OpenAI. Jibu linaorodhesha maeneo yaliyopangiliwa upya na kufungashwa alama.
Mfano wa Matumizi: Mwakala wa usafiri anakusanya mapendeleo ya mtumiaji (mfano, msisitizo wa kutembelea vivutio vya kisanii na tamaduni mbalimbali) na kutumia huduma ya Azure OpenAI kupata mapendekezo yaliyopangiliwa upya na kufungashwa alama ya maeneo ya kusafiria.
Hakikisha kubadili your_azure_openai_api_key na ufunguo wako halisi wa Azure OpenAI API na https://your-endpoint.com/... na URL halisi ya endpoint ya usambazaji wako wa Azure OpenAI.
Kwa kutumia LLM kwa kupanga upya na kufungasha alama, wakala wa usafiri anaweza kutoa mapendekezo ya kusafiri yanayobinafsishwa na yanayofaa zaidi kwa wateja, kuboresha uzoefu wao kwa jumla.
Uzalishaji wa Kupanuliwa kwa Kupata Taarifa (RAG) unaweza kuwa mbinu ya kuandika maswali na pia chombo katika maendeleo ya mawakala wa AI. Kuuelewa tofauti kati ya hizi mbili kunaweza kusaidia kutumia RAG kwa ufanisi zaidi katika miradi yako.
Ni nini?
Jinsi inavyofanya kazi:
Mfano kwa Wakala wa Usafiri:
Ni nini?
Jinsi inavyofanya kazi:
Mfano kwa Wakala wa Usafiri:
| Kipengele | Mbinu ya Kuandika Maswali | Chombo |
|---|---|---|
| Maandalizi au Kiotomatiki | Maandamano ya mikono ya maagizo kwa kila swali. | Mchakato wa kiotomatiki wa upatikanaji na uzalishaji. |
| Udhibiti | Hutoa udhibiti zaidi juu ya mchakato wa upatikanaji. | Huwekzesha na kuendesha mchakato wa upatikanaji na uzalishaji. |
| Uwezo wa Kubadilika | Inaruhusu maagizo yaliyobinafsishwa kulingana na mahitaji. | Inafaa zaidi kwa utekelezaji mkubwa. |
| Ugumu | Inahitaji kutengeneza na kurekebisha maagizo. | Rahisi kuingiza ndani ya usanifu wa wakala wa AI. |
Mfano wa Mbinu ya Kuandika Maswali:
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 Chombo:
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 umuhimu ni kipengele muhimu katika utendaji wa wakala wa AI. Inahakikisha taarifa zilizopatikana na majibu yaliyotengenezwa na wakala ni sahihi, za kweli, na zenye manufaa kwa mtumiaji. Tuchunguze jinsi ya kutathmini umuhimu katika 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 vinavyofaa zaidi
Mfano:
def process_query(query):
# Tumia NLP kutoa taarifa muhimu 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 anavyotathmini umuhimu wa mapendekezo ya kusafiri:
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 madhumuni kunahusisha kuelewa na kufasiri kusudi la msingi au lengo nyuma ya swali la mtumiaji ili kupata na kutoa taarifa inayofaa na yenye manufaa zaidi. Njia hii inapita zaidi ya kulinganisha maneno na inalenga kuelewa mahitaji halisi ya mtumiaji na muktadha.
Tuchukue Wakala wa Usafiri kama mfano kuona jinsi kutafuta kwa madhumuni 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 Madhumuni 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"
def analyze_context(query, user_history):
# Changanisha uchunguzi wa sasa na historia ya mtumiaji 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 urambazaji
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 bora yaliyo binafsi
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)
Wakili wa kutengeneza msimbo hutumia mifano ya AI kuandika na kutekeleza msimbo, kutatua matatizo magumu na kuendesha kazi kwa moja kwa moja.
Wakala wa kutengeneza msimbo hutumia mifano ya AI ya kizazi kuandika na kutekeleza msimbo. Wakala hawa wanaweza kutatua matatizo magumu, kuendesha kazi kwa moja kwa moja, na kutoa ufahamu muhimu kwa kutengeneza na kuendesha msimbo katika lugha mbalimbali za programu.
Fikiria unatengeneza wakala wa kutengeneza msimbo. Hapa ni jinsi inaweza kufanya kazi:
Katika mfano huu, tutatengeneza wakala wa kutengeneza msimbo, Wakala wa Usafiri, kusaidia watumiaji kupanga safari zao kwa kutengeneza na kuendesha msimbo. Wakili huyu anaweza kushughulikia kazi kama vile kupata chaguzi za safari, kuchuja matokeo, na kuandaa ratiba kwa kutumia AI ya kizazi.
Kukusanya Mapendeleo ya Mtumiaji
class Travel_Agent:
def __init__(self):
self.user_preferences = {}
def gather_preferences(self, preferences):
self.user_preferences = preferences
Kutengeneza Msimbo wa 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
Kutekeleza Msimbo Uliotengenezwa
def execute_code(code):
# Tekeleza nambari iliyotengenezwa 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 tekeleza 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 kuboresha mchakato wa kuunda maswali kwa kutumia uelewa wa mazingira na ufafanuzi.
Hapa kuna mfano wa jinsi hiki kinavyoweza 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 schema 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 kurekebisha mapendeleo kulingana na schema 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):
# iga utendaji 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 schema
schema = {
"favorites": {"positive_adjustment": "increase", "negative_adjustment": "decrease", "default": "neutral"},
"avoid": {"positive_adjustment": "decrease", "negative_adjustment": "increase", "default": "neutral"}
}
# Matumizi ya mfano
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, huku ikieleza marekebisho yanayohitajika.adjust_based_on_feedback): Mbinu hii inarekebisha mapendeleo kulingana na maoni ya mtumiaji na muundo.adjust_based_on_environment): Mbinu hii inabinafsisha marekebisho kulingana na muundo na maoni.Kwa kufanya mfumo uwe mwenye uelewa wa mazingira na kuwatathmini kulingana na muundo, unaweza kutoa maswali sahihi na yenye maana zaidi, na hivyo kupata mapendekezo bora ya safari na uzoefu wa mtumiaji wa kibinafsi.
SQL (Lugha ya Maswali ya Muundo) ni chombo chenye nguvu cha kuingiliana na hifadhidata. Inapotumika kama sehemu ya mbinu ya Uzalishaji wa Data Zilizochaguliwa (RAG), SQL inaweza kuchukua data inayofaa kutoka kwa hifadhidata ili kutoa majibu au hatua katika maajenti wa AI. Tuchambue jinsi SQL inavyotumika kama mbinu ya RAG katika muktadha wa Wakala wa Usafiri.
Mfano: Mwakili 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 wa Data Zilizochaguliwa (RAG), mawakala wa AI kama Wakala wa Usafiri wanaweza kuchukua na kutumia data inayofaa kwa wakati halisi ili kutoa mapendekezo sahihi na ya kibinafsi.
Ili kuonyesha utekelezaji wa metakognition, hebu tujenge wakili rahisi anayefikiria juu ya mchakato wake wa kufanya maamuzi anapounga mkono tatizo. Kwa mfano huu, tutaunda mfumo ambapo wakili anajaribu kuboresha uchaguzi wa hoteli, kisha kutathmini sababu zake na kurekebisha mbinu yake pale anapofanya makosa au uchaguzi usiofaa.
Tutaiga hili kwa kutumia mfano rahisi ambapo wakili huchagua hoteli kulingana na mchanganyiko wa bei na ubora, lakini atafikiria juu ya maamuzi yake na kurekebisha ipasavyo.
Hapa kuna mfano:
class HotelRecommendationAgent:
def __init__(self):
self.previous_choices = [] # Hifadhi hoteli zilizochaguliwa hapo awali
self.corrected_choices = [] # Hifadhi chaguzi zilizorekebishwa
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]
# Tuseme tuna maoni ya mtumiaji yanayotueleza kama uchaguzi wa mwisho ulikuwa mzuri au si mzuri
user_feedback = self.get_user_feedback(last_choice)
if user_feedback == "bad":
# Rekebisha mkakati ikiwa uchaguzi uliopita 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"
# Simuliza 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}
]
# Unda wakala
agent = HotelRecommendationAgent()
# Hatua 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 2: Wakala anafikiria juu ya uchaguzi na kurekebisha mkakati ikiwa ni lazima
reflection_result = agent.reflect_on_choice()
print(reflection_result)
# Hatua 3: Wakala anapendekeza tena, mara hii kwa kutumia mkakati uliorekebishwa
adjusted_recommendation = agent.recommend_hotel(hotels, 'highest_quality')
print(f"Adjusted hotel recommendation (highest_quality): {adjusted_recommendation['name']}")
Kiini hapa ni uwezo wa wakili wa:
Hii ni aina rahisi ya metakognition ambapo mfumo unaweza kurekebisha mchakato wake wa kufikiri kulingana na maoni ya ndani.
Metakognition ni chombo chenye nguvu kinachoweza kuboresha kwa kiasi kikubwa uwezo wa maajenti wa AI. Kwa kujumuisha michakato ya metakognitive, unaweza kubuni maajenti wenye akili zaidi, yanayoweza kubadilika, na yenye ufanisi. Tumia rasilimali za ziada kuchunguza zaidi ulimwengu wa kuvutia wa metakognition katika maajenti wa AI.
Jiunge na Microsoft Foundry Discord kukutana na wanafunzi wengine, kuhudhuria saa za ofisi na kupata majibu kwa maswali yako kuhusu Maajenti wa AI.
Maajenti wa AI Katika Uzalishaji
Kiaruhusi: Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za moja kwa moja zinaweza kuwa na makosa au upotoshaji. Nyaraka ya asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu na ya binadamu inapendekezwa. Hatuna dhima kwa maelewano mabaya au tafsiri potofu zitokanazo na matumizi ya tafsiri hii.