(Klik imej di atas untuk menonton video bagi pelajaran ini)
Rangka kerja ejen AI adalah platform perisian yang direka untuk mempermudah penciptaan, penyebaran, dan pengurusan ejen AI. Rangka kerja ini menyediakan komponen siap pakai, abstraksi, dan alat yang memudahkan pembangunan sistem AI yang kompleks.
Rangka kerja ini membantu pembangun memberi tumpuan kepada aspek unik aplikasi mereka dengan menyediakan pendekatan standard terhadap cabaran biasa dalam pembangunan ejen AI. Ia meningkatkan skala, kebolehcapaian, dan kecekapan dalam membina sistem AI.
Pelajaran ini akan merangkumi:
Matlamat pelajaran ini adalah untuk membantu anda memahami:
Rangka Kerja AI tradisional boleh membantu anda mengintegrasikan AI ke dalam aplikasi anda dan menjadikan aplikasi ini lebih baik dengan cara berikut:
Rangka kerja Ejen AI mewakili sesuatu yang lebih daripada hanya rangka kerja AI. Ia direka untuk membolehkan penciptaan ejen pintar yang boleh berinteraksi dengan pengguna, ejen lain, dan persekitaran untuk mencapai matlamat khusus. Ejen ini boleh menunjukkan tingkah laku autonomi, membuat keputusan, dan menyesuaikan diri dengan keadaan yang berubah. Mari kita lihat beberapa keupayaan utama yang dibolehkan oleh Rangka Kerja Ejen AI:
Jadi kesimpulannya, ejen membolehkan anda melakukan lebih banyak, membawa automasi ke tahap seterusnya, dan mencipta sistem yang lebih pintar yang boleh menyesuaikan diri dan belajar dari persekitaran mereka.
Ini adalah landskap yang bergerak pantas, tetapi terdapat beberapa perkara yang biasa dalam kebanyakan Rangka Kerja Ejen AI yang boleh membantu anda prototaip dan iterasi dengan pantas iaitu komponen modul, alat kolaboratif, dan pembelajaran masa nyata. Mari kita selami ini:
SDK seperti Rangka Kerja Ejen Microsoft menawarkan komponen siap pakai seperti penyambung AI, definisi alat, dan pengurusan ejen.
Bagaimana pasukan boleh menggunakan ini: Pasukan boleh menggabungkan komponen ini dengan cepat untuk mencipta prototaip berfungsi tanpa perlu bermula dari awal, membolehkan eksperimen dan iterasi yang pantas.
Bagaimana ia berfungsi dalam praktik: Anda boleh menggunakan parser siap pakai untuk mengekstrak maklumat daripada input pengguna, modul memori untuk menyimpan dan mendapatkan data, dan penjana prompt untuk berinteraksi dengan pengguna, semuanya tanpa perlu membina komponen ini dari awal.
Contoh kod. Mari lihat contoh bagaimana anda boleh menggunakan Rangka Kerja Ejen Microsoft dengan AzureAIProjectAgentProvider untuk membuat model memberi respons kepada input pengguna dengan pemanggilan alat:
# Contoh Microsoft Agent Framework Python
import asyncio
import os
from typing import Annotated
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
# Definisikan fungsi alat contoh untuk menempah perjalanan
def book_flight(date: str, location: str) -> str:
"""Book travel given location and date."""
return f"Travel was booked to {location} on {date}"
async def main():
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="travel_agent",
instructions="Help the user book travel. Use the book_flight tool when ready.",
tools=[book_flight],
)
response = await agent.run("I'd like to go to New York on January 1, 2025")
print(response)
# Contoh keluaran: Penerbangan anda ke New York pada 1 Januari 2025 telah berjaya ditempah. Selamat melancong! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Apa yang anda lihat dari contoh ini adalah bagaimana anda boleh memanfaatkan parser siap pakai untuk mengekstrak maklumat utama daripada input pengguna, seperti asal, destinasi, dan tarikh permintaan tempahan penerbangan. Pendekatan modular ini membolehkan anda memberi tumpuan kepada logik aras tinggi.
Rangka kerja seperti Rangka Kerja Ejen Microsoft memudahkan penciptaan pelbagai ejen yang boleh bekerjasama.
Bagaimana pasukan boleh menggunakan ini: Pasukan boleh mereka ejen dengan peranan dan tugasan tertentu, membolehkan mereka menguji dan memperbaiki aliran kerja kolaboratif serta meningkatkan kecekapan sistem keseluruhan.
Bagaimana ia berfungsi dalam praktik: Anda boleh mencipta satu pasukan ejen di mana setiap ejen mempunyai fungsi khusus, seperti pengambilan data, analisis, atau membuat keputusan. Ejen ini boleh berkomunikasi dan berkongsi maklumat untuk mencapai matlamat bersama, seperti menjawab pertanyaan pengguna atau menyelesaikan tugasan.
Contoh kod (Rangka Kerja Ejen Microsoft):
# Mewujudkan pelbagai ejen yang bekerjasama menggunakan Rangka Kerja Ejen Microsoft
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
# Ejen Pengambilan Data
agent_retrieve = await provider.create_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Ejen Analisis Data
agent_analyze = await provider.create_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Jalankan ejen secara berurutan pada tugas
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)
Apa yang anda lihat dalam kod sebelumnya adalah bagaimana anda boleh mencipta tugasan yang melibatkan pelbagai ejen yang bekerjasama untuk menganalisis data. Setiap ejen melaksanakan fungsi khusus, dan tugasan dijalankan dengan menyelaraskan ejen untuk mencapai hasil yang dikehendaki. Dengan mencipta ejen khas dengan peranan khusus, anda boleh meningkatkan kecekapan dan prestasi tugasan.
Rangka kerja canggih menyediakan keupayaan untuk memahami dan menyesuaikan konteks masa nyata.
Bagaimana pasukan boleh menggunakan ini: Pasukan boleh melaksanakan gelung maklum balas di mana ejen belajar daripada interaksi dan melaraskan tingkah laku mereka secara dinamik, membawa kepada peningkatan berterusan dan penyempurnaan keupayaan.
Bagaimana ia berfungsi dalam praktik: Ejen boleh menganalisis maklum balas pengguna, data persekitaran, dan hasil tugasan untuk mengemas kini asas pengetahuan mereka, melaraskan algoritma membuat keputusan, dan meningkatkan prestasi dari masa ke masa. Proses pembelajaran iteratif ini membolehkan ejen menyesuaikan diri dengan keadaan dan keutamaan pengguna yang berubah, meningkatkan keberkesanan sistem secara keseluruhan.
Terdapat banyak cara untuk membandingkan pendekatan ini, tetapi mari kita lihat beberapa perbezaan utama dari segi reka bentuk, keupayaan, dan kes penggunaan sasaran:
Rangka Kerja Ejen Microsoft menyediakan SDK yang dipermudahkan untuk membina ejen AI menggunakan AzureAIProjectAgentProvider. Ia membolehkan pembangun mencipta ejen yang memanfaatkan model Azure OpenAI dengan pemanggilan alat terbina dalam, pengurusan perbualan, dan keselamatan setaraf perusahaan melalui identiti Azure.
Kes Penggunaan: Membina ejen AI sedia untuk pengeluaran dengan penggunaan alat, aliran kerja berbilang langkah, dan senario integrasi perusahaan.
Berikut adalah beberapa konsep teras penting dalam Rangka Kerja Ejen Microsoft:
AzureAIProjectAgentProvider dan dikonfigurasikan dengan nama, arahan, dan alat. Ejen boleh:
Berikut adalah petikan kod yang menunjukkan cara mencipta ejen:
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Alat. Rangka kerja menyokong definisi alat sebagai fungsi Python yang boleh dipanggil ejen secara automatik. Alat didaftarkan semasa mencipta ejen:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = await provider.create_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Penyelarasan Pelbagai Ejen. Anda boleh mencipta pelbagai ejen dengan kepakaran berbeza dan menyelaras kerja mereka:
planner = await provider.create_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = await provider.create_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (atau DefaultAzureCredential) untuk pengesahan selamat tanpa kunci, menghapuskan keperluan mengurus kunci API secara langsung.Perkhidmatan Ejen AI Azure adalah tambahan yang lebih baharu, diperkenalkan di Microsoft Ignite 2024. Ia membolehkan pembangunan dan penyebaran ejen AI dengan model yang lebih fleksibel, seperti memanggil terus LLM sumber terbuka seperti Llama 3, Mistral, dan Cohere.
Perkhidmatan Ejen AI Azure menyediakan mekanisme keselamatan perusahaan yang lebih kukuh dan kaedah penyimpanan data, menjadikannya sesuai untuk aplikasi perusahaan.
Ia berfungsi terus dengan Rangka Kerja Ejen Microsoft untuk membina dan menyebarkan ejen.
Perkhidmatan ini kini berada dalam Pratonton Awam dan menyokong Python serta C# untuk membina ejen.
Menggunakan SDK Python Perkhidmatan Ejen AI Azure, kita boleh mencipta ejen dengan alat yang ditakrifkan pengguna:
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Definisikan fungsi alat
def get_specials() -> str:
"""Provides a list of specials from the menu."""
return """
Special Soup: Clam Chowder
Special Salad: Cobb Salad
Special Drink: Chai Tea
"""
def get_item_price(menu_item: str) -> str:
"""Provides the price of the requested menu item."""
return "$9.99"
async def main() -> None:
credential = DefaultAzureCredential()
project_client = AIProjectClient.from_connection_string(
credential=credential,
conn_str="your-connection-string",
)
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="Host",
instructions="Answer questions about the menu.",
tools=[get_specials, get_item_price],
)
thread = project_client.agents.create_thread()
user_inputs = [
"Hello",
"What is the special soup?",
"How much does that cost?",
"Thank you",
]
for user_input in user_inputs:
print(f"# User: '{user_input}'")
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content=user_input,
)
run = project_client.agents.create_and_process_run(
thread_id=thread.id, agent_id=agent.id
)
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"# Agent: {messages.data[0].content[0].text.value}")
if __name__ == "__main__":
asyncio.run(main())
Perkhidmatan Ejen AI Azure mempunyai konsep teras berikut:
Ejen. Perkhidmatan Ejen AI Azure berintegrasi dengan Microsoft Foundry. Dalam AI Foundry, Ejen AI bertindak sebagai “mikroservis pintar” yang boleh digunakan untuk menjawab soalan (RAG), melaksanakan tindakan, atau mengautomasikan aliran kerja sepenuhnya. Ia mencapai ini dengan menggabungkan kuasa model AI generatif dengan alat yang membolehkannya mengakses dan berinteraksi dengan sumber data dunia nyata. Berikut adalah contoh ejen:
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
Dalam contoh ini, ejen dicipta dengan model gpt-4o-mini, nama my-agent, dan arahan You are helpful agent. Ejen dilengkapi dengan alat dan sumber untuk melaksanakan tugas interpretasi kod.
Benang dan mesej. Benang adalah konsep penting lain. Ia mewakili perbualan atau interaksi antara ejen dan pengguna. Benang boleh digunakan untuk menjejak kemajuan perbualan, menyimpan maklumat konteks, dan mengurus keadaan interaksi. Berikut adalah contoh benang:
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
Dalam kod sebelumnya, benang dicipta. Selepas itu, mesej dihantar ke benang. Dengan memanggil create_and_process_run, ejen diminta melaksanakan kerja pada benang tersebut. Akhir sekali, mesej diambil dan dicatat untuk melihat respons ejen. Mesej menunjukkan kemajuan perbualan antara pengguna dan ejen. Penting juga untuk difahami bahawa mesej boleh mempunyai jenis berbeza seperti teks, imej, atau fail, iaitu kerja ejen telah menghasilkan contohnya imej atau respons teks. Sebagai pembangun, anda kemudian boleh menggunakan maklumat ini untuk memproses respons lebih lanjut atau menyampaikannya kepada pengguna.
Berintegrasi dengan Rangka Kerja Ejen Microsoft. Perkhidmatan Ejen AI Azure berfungsi lancar dengan Rangka Kerja Ejen Microsoft, bermakna anda boleh membina ejen menggunakan AzureAIProjectAgentProvider dan menyebarkannya melalui Perkhidmatan Ejen untuk senario pengeluaran.
Kes Penggunaan: Perkhidmatan Ejen AI Azure direka untuk aplikasi perusahaan yang memerlukan penyebaran ejen AI yang selamat, berskala, dan fleksibel.
Nampak macam ada persilangan, tetapi terdapat beberapa perbezaan utama dari segi reka bentuk, keupayaan, dan kes penggunaan sasaran:
Masih tak pasti mana satu hendak pilih?
Mari kita lihat jika kami boleh membantu anda dengan melalui beberapa kes penggunaan biasa:
S: Saya membina aplikasi ejen AI pengeluaran dan mahu bermula dengan cepat
J: Rangka Kerja Ejen Microsoft adalah pilihan terbaik. Ia menyediakan API yang ringkas dan Pythonic melalui
AzureAIProjectAgentProvideryang membolehkan anda mentakrifkan ejen dengan alat dan arahan dalam beberapa baris kod sahaja.
S: Saya perlukan penyebaran setaraf perusahaan dengan integrasi Azure seperti Search dan pelaksanaan kod
J: Perkhidmatan Ejen AI Azure adalah pilihan terbaik. Ia adalah perkhidmatan platform yang menyediakan keupayaan terbina untuk pelbagai model, Azure AI Search, Bing Search dan Fungsi Azure. Ia memudahkan pembinaan ejen dalam Portal Foundry dan penyebaran mereka secara berskala.
S: Saya masih keliru, beri saya satu pilihan sahaja
J: Mulakan dengan Rangka Kerja Ejen Microsoft untuk membina ejen anda, dan kemudian gunakan Perkhidmatan Ejen AI Azure apabila anda perlu menyebar dan menskala mereka dalam pengeluaran. Pendekatan ini membolehkan anda iterasi dengan cepat pada logik ejen sambil mempunyai laluan jelas ke penyebaran perusahaan.
Mari ringkaskan perbezaan utama dalam jadual:
| Rangka Kerja | Tumpuan | Konsep Teras | Kes Penggunaan |
|---|---|---|---|
| Rangka Kerja Ejen Microsoft | SDK ejen yang dipermudahkan dengan pemanggilan alat | Ejen, Alat, Identiti Azure | Membina ejen AI, penggunaan alat, aliran kerja berbilang langkah |
| Perkhidmatan Ejen AI Azure | Model fleksibel, keselamatan perusahaan, Penjanaan Kod, Pemanggilan Alat | Modulariti, Kolaborasi, Orkestrasi Proses | Penyebaran ejen AI yang selamat, berskala, dan fleksibel |
Jawapannya ialah ya, anda boleh mengintegrasikan alat ekosistem Azure sedia ada anda terus dengan Perkhidmatan Ejen AI Azure terutamanya, kerana ia telah dibina untuk berfungsi dengan lancar bersama perkhidmatan Azure yang lain. Anda boleh contohnya mengintegrasikan Bing, Azure AI Search, dan Azure Functions. Terdapat juga integrasi mendalam dengan Microsoft Foundry.
Rangka Kerja Ejen Microsoft juga mengintegrasikan dengan perkhidmatan Azure melalui AzureAIProjectAgentProvider dan identiti Azure, membolehkan anda memanggil perkhidmatan Azure terus dari alat ejen anda.
Sertai Microsoft Foundry Discord untuk berjumpa dengan pelajar lain, menghadiri waktu pejabat dan dapatkan jawapan bagi soalan Ejen AI anda.
Pengantar kepada Ejen AI dan Kes Penggunaan Ejen
Memahami Corak Reka Bentuk Ejen
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sah dan utama. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau tafsiran yang salah yang timbul daripada penggunaan terjemahan ini.