(Bofya picha hapo juu kutazama video ya somo hili)
Metakujitambua kwa Mawakala wa AI
Karibu kwenye somo la metakujitambua kwa mawakala wa AI! Sura hii imeundwa kwa wanaoanza ambao wanavutiwa na jinsi mawakala wa AI wanavyoweza kufikiria kuhusu mchakato wao wa kufikiri. Mwishoni mwa somo hili, utaelewa dhana muhimu na utakuwa na mifano ya vitendo ya kutumia metakujitambua katika muundo wa mawakala wa AI.
Baada ya kukamilisha somo hili, utaweza:
Metakujitambua inahusu michakato ya juu ya kiakili inayohusisha kufikiria kuhusu fikra za mtu mwenyewe. Kwa mawakala wa AI, hii inamaanisha kuwa na uwezo wa kutathmini na kurekebisha vitendo vyao kulingana na kujitambua na uzoefu wa zamani. Metakujitambua, au “kufikiria kuhusu kufikiri,” ni dhana muhimu katika maendeleo ya mifumo ya AI yenye uwezo wa kujitambua. Inahusisha mifumo ya AI kuwa na ufahamu wa michakato yao ya ndani na kuwa na uwezo wa kufuatilia, kudhibiti, na kubadilisha tabia yao ipasavyo. Kama tunavyofanya tunaposoma hali au kuangalia tatizo. Kujitambua huku kunaweza kusaidia mifumo ya AI kufanya maamuzi bora, kutambua makosa, na kuboresha utendaji wao kwa muda—tena ikihusiana na mtihani wa Turing na mjadala kuhusu kama AI itachukua nafasi.
Katika muktadha wa mifumo ya AI yenye uwezo wa kujitambua, metakujitambua inaweza kusaidia kushughulikia changamoto kadhaa, kama vile:
Metakujitambua, au “kufikiria kuhusu kufikiri,” ni mchakato wa juu wa kiakili unaohusisha kujitambua na kujidhibiti kwa michakato ya kiakili ya mtu. Katika ulimwengu wa AI, metakujitambua huwapa mawakala uwezo wa kutathmini na kubadilisha mikakati na vitendo vyao, na hivyo kuboresha uwezo wa kutatua matatizo na kufanya maamuzi. Kwa kuelewa metakujitambua, unaweza kubuni mawakala wa AI ambao si tu wenye akili zaidi bali pia wanaoweza kubadilika na kuwa na ufanisi zaidi. Katika metakujitambua ya kweli, ungeona AI ikifikiri waziwazi kuhusu kufikiri kwake.
Mfano: “Nilipa kipaumbele ndege za bei nafuu kwa sababu… huenda nikakosa ndege za moja kwa moja, kwa hivyo acha niangalie tena.” Kufuatilia jinsi au kwa nini ilichagua njia fulani.
Metakujitambua ina jukumu muhimu katika muundo wa mawakala wa AI kwa sababu kadhaa:
Kabla ya kuingia katika michakato ya metakujitambua, ni muhimu kuelewa vipengele vya msingi vya wakala wa AI. Wakala wa AI kwa kawaida huwa na:
Vipengele hivi hufanya kazi pamoja kuunda “kitengo cha utaalamu” ambacho kinaweza kutekeleza majukumu maalum.
Mfano: Fikiria wakala wa kusafiri, huduma za wakala ambazo si tu zinapanga likizo yako bali pia zinarekebisha njia yake kulingana na data ya wakati halisi na uzoefu wa safari za wateja wa zamani.
Fikiria unaunda huduma ya wakala wa kusafiri inayotumia AI. Wakala huyu, “Wakala wa Kusafiri,” husaidia watumiaji kupanga likizo zao. Ili kuingiza metakujitambua, Wakala wa Kusafiri anahitaji kutathmini na kurekebisha vitendo vyake kulingana na kujitambua na uzoefu wa zamani. Hivi ndivyo metakujitambua inaweza kuchukua jukumu:
Kazi ya sasa ni kumsaidia mtumiaji kupanga safari ya kwenda Paris.
Wakala wa Kusafiri hutumia metakujitambua kutathmini utendaji wake na kujifunza kutoka kwa uzoefu wa zamani. Kwa mfano:
Hapa kuna mfano rahisi wa jinsi msimbo wa Wakala wa Kusafiri unaweza kuonekana wakati wa kuingiza metakujitambua:
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):
# Search for flights, hotels, and attractions based on preferences
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)
# Analyze feedback and adjust future recommendations
self.user_preferences = adjust_preferences(self.user_preferences, feedback)
# Example usage
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 metakujitambua, Wakala wa Kusafiri anaweza kutoa mapendekezo ya kusafiri yaliyo sahihi zaidi na ya kibinafsi, na hivyo kuboresha uzoefu wa mtumiaji kwa ujumla.
Upangaji ni sehemu muhimu ya tabia ya wakala wa AI. Inahusisha kuainisha hatua zinazohitajika kufanikisha lengo, kwa kuzingatia hali ya sasa, rasilimali, na vikwazo vinavyowezekana.
Mfano: Hizi ni hatua ambazo Wakala wa Kusafiri anahitaji kuchukua ili kumsaidia 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)
# Example usage within a booing request
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, hebu tuanze kwa kuelewa tofauti kati ya Zana ya RAG na Upakiaji wa Muktadha wa Kuzuia Mapema.
RAG huunganisha mfumo wa urejeshaji na mfano wa kizazi. Wakati swali linapoulizwa, mfumo wa urejeshaji hupata hati au data husika kutoka kwa chanzo cha nje, na taarifa hii iliyorejeshwa hutumika kuimarisha pembejeo kwa mfano wa kizazi. Hii husaidia mfano kutoa majibu sahihi zaidi na yanayofaa kwa muktadha.
Katika mfumo wa RAG, wakala hurejesha taarifa husika kutoka kwa hifadhidata ya maarifa na kuitumia kutoa majibu au vitendo vinavyofaa.
Njia ya Marekebisho ya RAG inalenga kutumia mbinu za RAG kurekebisha makosa na kuboresha usahihi wa mawakala wa AI. Hii inahusisha:
Fikiria wakala wa utafutaji anayerejesha taarifa kutoka mtandao ili kujibu maswali ya mtumiaji. Njia ya Marekebisho ya RAG inaweza kuhusisha:
Marekebisho ya RAG (Utoaji wa Taarifa Ulioimarishwa na Urejeshaji) huongeza uwezo wa AI wa kurejesha na kutoa taarifa huku ikirekebisha makosa yoyote. Hebu tuone jinsi Wakala wa Kusafiri anaweza kutumia njia ya Marekebisho ya RAG kutoa mapendekezo ya kusafiri yaliyo sahihi zaidi na yanayofaa.
Hii inahusisha:
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)
### Upakiaji wa Muktadha wa Awali
Upakiaji wa Muktadha wa Awali unahusisha kupakia muktadha au taarifa muhimu kwenye modeli kabla ya kushughulikia swali. Hii inamaanisha modeli inakuwa na ufikiaji wa taarifa hizi tangu mwanzo, jambo ambalo linaweza kusaidia kutoa majibu yenye taarifa zaidi bila hitaji la kupata data ya ziada wakati wa mchakato.
Hapa kuna mfano rahisi wa jinsi upakiaji wa muktadha wa awali unaweza kuonekana kwa programu ya wakala wa kusafiri katika Python:
```python
class TravelAgent:
def __init__(self):
# Pre-load popular destinations and their information
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):
# Fetch destination information from pre-loaded context
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}."
# Example usage
travel_agent = TravelAgent()
print(travel_agent.get_destination_info("Paris"))
print(travel_agent.get_destination_info("Tokyo"))
Uanzishaji (Njia ya __init__
): Darasa la TravelAgent
linapakia kamusi inayojumuisha taarifa kuhusu maeneo maarufu kama Paris, Tokyo, New York, na Sydney. Kamusi hii inajumuisha maelezo kama nchi, sarafu, lugha, na vivutio vikuu kwa kila eneo.
Kupata Taarifa (Njia ya get_destination_info
): Wakati mtumiaji anauliza kuhusu eneo fulani, njia ya get_destination_info
inachukua taarifa husika kutoka kwenye kamusi ya muktadha iliyopakiwa awali.
Kwa kupakia muktadha mapema, programu ya wakala wa kusafiri inaweza kujibu maswali ya watumiaji haraka bila hitaji la kupata taarifa hizi kutoka chanzo cha nje kwa wakati halisi. Hii inafanya programu kuwa bora zaidi na yenye mwitikio wa haraka.
Kuanzisha mpango na lengo kunahusisha kuanza na malengo au matokeo wazi yaliyokusudiwa. Kwa kufafanua lengo hili mapema, modeli inaweza kulitumia kama mwongozo katika mchakato wa kurudia. Hii husaidia kuhakikisha kila hatua inakaribia kufanikisha matokeo yaliyokusudiwa, na kufanya mchakato kuwa bora na wenye mwelekeo.
Hapa kuna mfano wa jinsi unavyoweza kuanzisha mpango wa kusafiri na lengo kabla ya kurudia kwa wakala wa kusafiri katika Python:
Wakala wa kusafiri anataka kupanga likizo maalum kwa mteja. Lengo ni kuunda ratiba ya safari inayoongeza kuridhika kwa 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']
# Example usage
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 (Njia ya __init__
): Darasa la TravelAgent
linaanzishwa na orodha ya maeneo yanayowezekana, kila moja likiwa na sifa kama jina, gharama, na aina ya shughuli.
Kuanzisha Mpango (Njia ya bootstrap_plan
): Njia hii huunda mpango wa awali wa safari kulingana na mapendeleo ya mteja na bajeti. Inapitia orodha ya maeneo na kuyaongeza kwenye mpango ikiwa yanalingana na mapendeleo ya mteja na yanaendana na bajeti.
Kulinganisha Mapendeleo (Njia ya match_preferences
): Njia hii hukagua ikiwa eneo linalingana na mapendeleo ya mteja.
Kurudia Mpango (Njia ya iterate_plan
): Njia hii inaboresha mpango wa awali kwa kujaribu kubadilisha kila eneo kwenye mpango na chaguo bora zaidi, ikizingatia mapendeleo ya mteja na vikwazo vya bajeti.
Kuhesabu Gharama (Njia ya calculate_cost
): Njia hii huhesabu gharama ya jumla ya mpango wa sasa, ikijumuisha eneo jipya linalowezekana.
Kwa kuanzisha mpango na lengo wazi (mfano, kuongeza kuridhika kwa mteja) na kurudia ili kuboresha mpango, wakala wa kusafiri anaweza kuunda ratiba ya safari iliyobinafsishwa na iliyoboreshwa kwa mteja. Njia hii inahakikisha kuwa mpango wa safari unalingana na mapendeleo na bajeti ya mteja tangu mwanzo na unaboreshwa kwa kila hatua.
Mifano Mikubwa ya Lugha (LLMs) inaweza kutumika kwa upangaji upya na uwekaji alama kwa kutathmini umuhimu na ubora wa nyaraka zilizopatikana au majibu yaliyotolewa. Hivi ndivyo inavyofanya kazi:
Upatikanaji: Hatua ya awali ya upatikanaji inachukua seti ya nyaraka au majibu yanayowezekana kulingana na swali.
Upangaji Upya: LLM inatathmini wagombea hawa na kuwapanga upya kulingana na umuhimu na ubora wao. Hatua hii inahakikisha kuwa taarifa muhimu na za ubora wa juu zinawasilishwa kwanza.
Uwekaji Alama: LLM inatoa alama kwa kila mgombea, ikionyesha umuhimu na ubora wao. Hii husaidia kuchagua jibu au nyaraka bora zaidi kwa mtumiaji.
Kwa kutumia LLMs kwa upangaji upya na uwekaji alama, mfumo unaweza kutoa taarifa sahihi zaidi na inayolingana na muktadha, kuboresha uzoefu wa mtumiaji kwa ujumla.
Hapa kuna mfano wa jinsi wakala wa kusafiri anaweza kutumia Mfano Mkubwa wa Lugha (LLM) kwa upangaji upya na uwekaji alama wa maeneo ya kusafiri kulingana na mapendeleo ya mtumiaji katika Python:
Wakala wa kusafiri anataka kupendekeza maeneo bora ya kusafiri kwa mteja kulingana na mapendeleo yao. LLM itasaidia kupanga upya na kuweka alama maeneo ili kuhakikisha chaguo muhimu zaidi yanawasilishwa.
Hivi ndivyo unavyoweza kusasisha mfano wa awali ili kutumia Huduma za Azure OpenAI:
import requests
import json
class TravelAgent:
def __init__(self, destinations):
self.destinations = destinations
def get_recommendations(self, preferences, api_key, endpoint):
# Generate a prompt for the Azure OpenAI
prompt = self.generate_prompt(preferences)
# Define headers and payload for the request
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
payload = {
"prompt": prompt,
"max_tokens": 150,
"temperature": 0.7
}
# Call the Azure OpenAI API to get the re-ranked and scored destinations
response = requests.post(endpoint, headers=headers, json=payload)
response_data = response.json()
# Extract and return the recommendations
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
# Example usage
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 ya kusafiri yanayowezekana, kila moja likiwa na sifa kama jina na maelezo.
Kupata Mapendekezo (Njia ya get_recommendations
): Njia hii huunda maelezo kwa huduma ya Azure OpenAI kulingana na mapendeleo ya mtumiaji na hufanya ombi la HTTP POST kwa API ya Azure OpenAI ili kupata maeneo yaliyopangwa upya na kuwekwa alama.
Kuunda Maelezo (Njia ya generate_prompt
): Njia hii huunda maelezo kwa Azure OpenAI, ikijumuisha mapendeleo ya mtumiaji na orodha ya maeneo. Maelezo haya yanaongoza modeli kupanga upya na kuweka alama maeneo kulingana na mapendeleo yaliyotolewa.
Ombi la API: Maktaba ya requests
inatumika kufanya ombi la HTTP POST kwa sehemu ya mwisho ya API ya Azure OpenAI. Jibu linajumuisha maeneo yaliyopangwa upya na kuwekwa alama.
Matumizi ya Mfano: Wakala wa kusafiri anakusanya mapendeleo ya mtumiaji (mfano, kupendezwa na vivutio na tamaduni tofauti) na kutumia huduma ya Azure OpenAI kupata mapendekezo yaliyopangwa upya na kuwekwa alama kwa maeneo ya kusafiri.
Hakikisha unabadilisha your_azure_openai_api_key
na funguo yako halisi ya API ya Azure OpenAI na https://your-endpoint.com/...
na URL halisi ya sehemu ya mwisho ya Azure OpenAI.
Kwa kutumia LLM kwa upangaji upya na uwekaji alama, wakala wa kusafiri anaweza kutoa mapendekezo ya kusafiri yaliyobinafsishwa na yanayofaa zaidi kwa wateja, kuboresha uzoefu wao kwa ujumla.
Hebu tuchukue Wakala wa Usafiri kama mfano wa 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):
# Combine current query with user history to understand context
context = {
"current_query": query,
"user_history": user_history
}
return context
Kutafuta na Kubinafsisha 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):
# Example search logic for informational intent
results = search_web(f"best {preferences['interests']} in {preferences['destination']}")
return results
def search_navigation(query):
# Example search logic for navigational intent
results = search_web(query)
return results
def search_transaction(query, preferences):
# Example search logic for transactional intent
results = search_web(f"book {query} to {preferences['destination']}")
return results
def personalize_results(results, user_history):
# Example personalization logic
personalized = [result for result in results if result not in user_history]
return personalized[:10] # Return top 10 personalized results
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)
Wakala wa kuzalisha msimbo hutumia mifano ya AI kuandika na kutekeleza msimbo, kutatua matatizo magumu na kuendesha kazi kiotomatiki.
Wakala wa kuzalisha msimbo hutumia mifano ya AI ya kizazi kuandika na kutekeleza msimbo. Wakala hawa wanaweza kutatua matatizo magumu, kuendesha kazi kiotomatiki, na kutoa maarifa muhimu kwa kuzalisha na kutekeleza msimbo katika lugha mbalimbali za programu.
Fikiria unaunda wakala wa kuzalisha msimbo. Hivi ndivyo unavyoweza kufanya kazi:
Katika mfano huu, tutaunda wakala wa kuzalisha msimbo, Wakala wa Usafiri, kusaidia watumiaji kupanga safari zao kwa kuzalisha na kutekeleza msimbo. Wakala huyu anaweza kushughulikia kazi kama vile kupata chaguo za usafiri, 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
Kuzalisha Msimbo wa Kupata Data
def generate_code_to_fetch_data(preferences):
# Example: Generate code to search for flights based on user 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):
# Example: Generate code to search for hotels
code = f"""
def search_hotels():
import requests
response = requests.get('https://api.example.com/hotels', params={preferences})
return response.json()
"""
return code
Kutekeleza Msimbo Uliogenezwa
def execute_code(code):
# Execute the generated code using 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)
Kuandaa 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):
# Adjust preferences based on user feedback
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)
# Regenerate and execute code with updated 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)
Kulingana na mpangilio wa jedwali, mfumo unaweza kuboresha mchakato wa kizazi cha maswali kwa kutumia uelewa wa mazingira na utoaji sababu.
Hapa kuna mfano wa jinsi hii inaweza kufanyika:
Hapa kuna mfano wa msimbo wa Python uliosasishwa unaojumuisha dhana hizi:
def adjust_based_on_feedback(feedback, preferences, schema):
# Adjust preferences based on user feedback
if "liked" in feedback:
preferences["favorites"] = feedback["liked"]
if "disliked" in feedback:
preferences["avoid"] = feedback["disliked"]
# Reasoning based on schema to adjust other related preferences
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):
# Custom logic to adjust preferences based on schema and feedback
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):
# Generate code to fetch flight data based on updated preferences
return f"fetch_flights(preferences={preferences})"
def generate_code_to_fetch_hotels(preferences):
# Generate code to fetch hotel data based on updated preferences
return f"fetch_hotels(preferences={preferences})"
def execute_code(code):
# Simulate execution of code and return mock data
return {"data": f"Executed: {code}"}
def generate_itinerary(flights, hotels, attractions):
# Generate itinerary based on flights, hotels, and attractions
return {"flights": flights, "hotels": hotels, "attractions": attractions}
# Example schema
schema = {
"favorites": {"positive_adjustment": "increase", "negative_adjustment": "decrease", "default": "neutral"},
"avoid": {"positive_adjustment": "decrease", "negative_adjustment": "increase", "default": "neutral"}
}
# Example usage
preferences = {"favorites": "sightseeing", "avoid": "crowded places"}
feedback = {"liked": ["Louvre Museum"], "disliked": ["Eiffel Tower (too crowded)"]}
updated_preferences = adjust_based_on_feedback(feedback, preferences, schema)
# Regenerate and execute code with updated 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, feedback["liked"])
print("Updated Itinerary:", updated_itinerary)
schema
inafafanua jinsi mapendeleo yanavyopaswa kurekebishwa kulingana na maoni. Inajumuisha sehemu kama favorites
na avoid
, pamoja na marekebisho yanayolingana.adjust_based_on_feedback
method): Njia hii inarekebisha mapendeleo kulingana na maoni ya mtumiaji na mpangilio.adjust_based_on_environment
method): Njia hii inabinafsisha marekebisho kulingana na mpangilio na maoni.Kwa kufanya mfumo uwe na uelewa wa mazingira na utoaji sababu kulingana na mpangilio, unaweza kuzalisha maswali sahihi zaidi na muhimu, na hivyo kutoa mapendekezo bora ya usafiri na uzoefu wa mtumiaji uliobinafsishwa.
SQL (Structured Query Language) ni zana yenye nguvu ya kuingiliana na hifadhidata. Inapotumika kama sehemu ya mbinu ya Retrieval-Augmented Generation (RAG), SQL inaweza kupata data muhimu kutoka kwa hifadhidata ili kuarifu na kuzalisha majibu au vitendo katika mawakala wa AI. Hebu tuchunguze jinsi SQL inavyoweza kutumika kama mbinu ya RAG katika muktadha wa Wakala wa Usafiri.
Mfano:
Wakala 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
Kuzalisha 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
Kutekeleza 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
Kuzalisha 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 Retrieval-Augmented Generation (RAG), mawakala wa AI kama Wakala wa Usafiri wanaweza kupata na kutumia data muhimu kwa njia dinamiki ili kutoa mapendekezo sahihi na yaliyobinafsishwa.
Ili kuonyesha utekelezaji wa metakujitambua, hebu tuunde wakala rahisi anayefikiria juu ya mchakato wake wa kufanya maamuzi wakati wa kutatua tatizo. Katika mfano huu, tutaunda mfumo ambapo wakala anajaribu kuboresha chaguo la hoteli, lakini kisha anapitia mchakato wake wa kufikiri na kurekebisha mkakati wake anapofanya makosa au chaguo duni.
Tutatumia mfano rahisi ambapo wakala huchagua hoteli kulingana na mchanganyiko wa bei na ubora, lakini “anafikiria” juu ya maamuzi yake na kurekebisha ipasavyo.
Hapa kuna mfano:
class HotelRecommendationAgent:
def __init__(self):
self.previous_choices = [] # Stores the hotels chosen previously
self.corrected_choices = [] # Stores the corrected choices
self.recommendation_strategies = ['cheapest', 'highest_quality'] # Available strategies
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]
# Let's assume we have some user feedback that tells us whether the last choice was good or not
user_feedback = self.get_user_feedback(last_choice)
if user_feedback == "bad":
# Adjust strategy if the previous choice was unsatisfactory
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"
# Simulate a list of hotels (price and quality)
hotels = [
{'name': 'Budget Inn', 'price': 80, 'quality': 6},
{'name': 'Comfort Suites', 'price': 120, 'quality': 8},
{'name': 'Luxury Stay', 'price': 200, 'quality': 9}
]
# Create an agent
agent = HotelRecommendationAgent()
# Step 1: The agent recommends a hotel using the "cheapest" strategy
recommended_hotel = agent.recommend_hotel(hotels, 'cheapest')
print(f"Recommended hotel (cheapest): {recommended_hotel['name']}")
# Step 2: The agent reflects on the choice and adjusts strategy if necessary
reflection_result = agent.reflect_on_choice()
print(reflection_result)
# Step 3: The agent recommends again, this time using the adjusted strategy
adjusted_recommendation = agent.recommend_hotel(hotels, 'highest_quality')
print(f"Adjusted hotel recommendation (highest_quality): {adjusted_recommendation['name']}")
Jambo kuu hapa ni uwezo wa wakala wa:
Hii ni aina rahisi ya metakujitambua ambapo mfumo una uwezo wa kurekebisha mchakato wake wa kufikiri kulingana na maoni ya ndani.
Metakujitambua ni zana yenye nguvu inayoweza kuboresha kwa kiasi kikubwa uwezo wa mawakala wa AI. Kwa kujumuisha michakato ya metakujitambua, unaweza kubuni mawakala ambao ni werevu zaidi, wanaoweza kubadilika, na wenye ufanisi. Tumia rasilimali za ziada kuchunguza zaidi ulimwengu wa kuvutia wa metakujitambua katika mawakala wa AI.
Jiunge na Azure AI Foundry Discord kukutana na wanafunzi wengine, kuhudhuria saa za ofisi, na kupata majibu ya maswali yako kuhusu Mawakala wa AI.
Mawakala wa AI katika Uzalishaji
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.