Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, mevcut bir veri temelli FastAPI CRUD uygulamasına aracılık özelliğinin nasıl ekleneceği gösterilmektedir. Bunu iki farklı yaklaşım kullanarak yapar: LangGraph ve Foundry Agent Service.
Web uygulamanızın alışveriş, otel rezervasyonu veya veri yönetimi gibi kullanışlı özellikleri zaten varsa, bu işlevleri bir eklentide (LangGraph için) veya openAPI uç noktası olarak (Foundry Agent Service için) sarmalayarak web uygulamanıza aracı işlevselliği eklemek oldukça kolaydır. Bu öğreticide basit bir to-do listesi uygulamasıyla başlayacaksınız. Sonunda, App Service uygulamasında bir aracıyla görev oluşturabilecek, güncelleştirebilecek ve yönetebileceksiniz.
Hem LangGraph hem de Foundry Agent Service, yapay zeka destekli özelliklerle aracı web uygulamaları oluşturmanıza olanak tanır. LangGraph, Microsoft Agent Framework'e benzer ve bir SDK'dır. Aşağıdaki tabloda dikkat edilmesi gereken bazı noktalar ve dengeler gösterilmektedir:
| Değerlendirme | LangGraph veya Microsoft Agent Framework | Döküm Acentası Hizmeti |
|---|---|---|
| Performance | Hızlı (yerel olarak çalışır) | Daha yavaş (yönetilen, uzak hizmet) |
| Gelişme | Tam kod, maksimum denetim | Düşük kod, hızlı tümleştirme |
| Testing | Kodda manuel/birim testleri | Hızlı test için yerleşik oyun alanı |
| Ölçeklenebilirlik | Uygulama ile yönetilen | Azure tarafından yönetilen, otomatik ölçeklendirilen |
| Güvenlik korumaları | Özel uygulama gerekiyor | Yerleşik içerik güvenliği ve moderasyonu |
| Kimlik | Özel uygulama gerekiyor | Yerleşik ajan kimliği ve kimlik doğrulaması |
| Enterprise | Özel tümleştirme gerekiyor | Dahili Microsoft 365/Teams dağıtımı ve Microsoft 365 entegre araç çağrıları. |
Bu eğitimde şunları öğreniyorsunuz:
- Mevcut uygulama işlevselliğini LangGraph eklentisine dönüştürün.
- Eklentiyi bir LangGraph aracısına ekleyin ve bir web uygulamasında kullanın.
- Mevcut uygulama işlevselliğini Foundry Agent Service için OpenAPI uç noktasına dönüştürün.
- Web uygulamasında bir Foundry aracısını çağırma.
- Yönetilen kimlik bağlantısı için gerekli izinleri atayın.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı - Ücretsiz bir hesap oluşturun.
- GitHub Codespaces kullanmak için GitHub hesabı - GitHub Codespaces hakkında daha fazla bilgi edinin.
Codespaces ile örneği açma
Başlamanın en kolay yolu, gerekli tüm araçların önceden yüklenmiş olduğu eksiksiz bir geliştirme ortamı sağlayan GitHub Codespaces'ı kullanmaktır.
konumundaki GitHub deposuna https://github.com/Azure-Samples/app-service-agentic-langgraph-foundry-pythongidin.
Kod düğmesini seçin, Codespaces sekmesini ve ardından Main üzerinde kod alanı oluştur'u seçin.
Codespace'ınızın başlatılması için birkaç dakika bekleyin. Hazır olduğunuzda, tarayıcınızda tam olarak yapılandırılmış bir geliştirme ortamı görürsünüz.
Uygulamayı yerel olarak çalıştırın:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt uvicorn src.app:app --host 0.0.0.0 --port 3000Uygulamanızın 3000 numaralı bağlantı noktasında çalıştığınıgördüğünüzde Tarayıcıda Aç'ı seçin ve birkaç görev ekleyin.
Aracılar tam olarak yapılandırılmadıkları için henüz çalışmıyor. Bunları daha sonra yapılandıracaksınız.
Aracı kodunu gözden geçirme
Her iki yaklaşım da, aracının uygulama başlangıcında başlatıldığı ve POST istekleriyle kullanıcı iletilerine yanıt verdiği aynı uygulama desenini kullanır.
LangGraphTaskAgent, src/agents/langgraph_task_agent.py içindeki yapıcıda başlatılır. Başlatma kodu aşağıdakileri yapar:
- Ortam değişkenlerini kullanarak AzureChatOpenAI istemcisini yapılandırılır.
- Önceden oluşturulmuş, bellek ve görev yönetimi için bir CRUD araç setiyle donatılmış ReAct aracını oluşturur (bkz. LangGraph başlangıç kılavuzu).
# Initialize Azure OpenAI client
credential = DefaultAzureCredential()
azure_ad_token_provider = get_bearer_token_provider(
credential, "https://cognitiveservices.azure.com/.default"
)
self.llm = AzureChatOpenAI(
azure_endpoint=endpoint,
azure_deployment=deployment_name,
azure_ad_token_provider=azure_ad_token_provider,
api_version="2024-10-21"
)
# Define tools
tools = [
self._create_task_tool(),
self._get_tasks_tool(),
self._get_task_tool(),
self._update_task_tool(),
self._delete_task_tool()
]
# Create the agent
self.agent = create_react_agent(self.llm, tools, checkpointer=self.memory)
print("LangGraph Task Agent initialized successfully")
Kullanıcı iletileri işlenirken, kullanıcının iletisi ve konuşma sürekliliği için iş parçacığı kimliği ile ainvoke() kullanılarak aracı çağrılır.
result = await self.agent.ainvoke(
{"messages": [("user", message)]},
config=config
)
Örnek uygulamayı dağıtma
Örnek depo, yönetilen kimlikli bir App Service uygulaması oluşturan ve örnek uygulamanızı dağıtan bir Azure Geliştirici CLI (AZD) şablonu içerir.
Terminalde Azure Geliştirici CLI'sini kullanarak Azure'da oturum açın:
azd auth loginKimlik doğrulama işlemini tamamlamak için yönergeleri izleyin.
Azure App Service uygulamasını AZD şablonuyla dağıtın:
azd upİstendiğinde aşağıdaki yanıtları verin:
Question Cevap Yeni bir ortam adı girin: Benzersiz bir ad yazın. Kullanılacak azure aboneliğini seçin: Aboneliği seçin. Kullanılacak kaynak grubunu seçin: Yeni kaynak grubu oluştur'u seçin. Kaynak grubunun oluşturulacağı konumu seçin: İsveç Orta seçin. Yeni kaynak grubu için bir ad girin: Enter yazın. AZD çıkışında uygulamanızın URL'sini bulun ve tarayıcıda bu URL'ye gidin. URL, AZD çıkışında şöyle görünür:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>
Belirtilen yolda otomatik olarak oluşturulan OpenAPI şemasını açın. Bu şemaya daha sonra ihtiyacınız olacak.
Artık sistem tarafından atanan yönetilen kimliğe sahip bir App Service uygulamanız var.
Microsoft Foundry kaynağını oluşturma ve yapılandırma
Dökümhane portalında, en üstteki Yeni Dökümhane radyo düğmesinin etkin olarak ayarlandığından emin olun ve bir proje oluşturun.
Seçtiğiniz bir modeli dağıtın (bkz. Microsoft Foundry Hızlı Başlangıcı: Kaynak oluşturma).
Model oyun alanının en üstünden model adını kopyalayın.
Azure OpenAI uç noktasını almanın en kolay yolu hala klasik portaldandır. Yeni Dökümhane radyo düğmesini, ardından Azure OpenAI'yi seçin ve daha sonra kullanmak üzere Azure OpenAI uç noktası URL'sini kopyalayın.
Gerekli izinleri atayın
Yeni Foundry portalının üst menüsünden İşlet'i ve ardından Yönetim'i seçin. Foundry projenizin satırında iki bağlantı görmeniz gerekir. Ad sütunundaki kaynak Foundry projesi kaynağı, Üst kaynak sütunundaki kaynak ise Foundry kaynağıdır.
Ana kaynakta Döküm Kaynağı'nı ve ardından Azure portalında bu kaynağı yönetin seçin. Azure portalından, dağıtılan web uygulamasına kaynak için rol tabanlı erişim atayabilirsiniz.
App Service uygulamasının yönetilen kimliği için aşağıdaki rolü ekleyin:
Hedef kaynak Gerekli rol Için gereklidir Döküm Bilişsel Hizmetler OpenAI Kullanıcısı Microsoft Agent Framework'teki sohbet tamamlama hizmeti. Yönergeler için bkz. Azure portalını kullanarak Azure rolleri atama.
Örnek uygulamanızda bağlantı değişkenlerini yapılandırma
.env dosyasını açın. Daha önce Foundry portalından kopyaladığınız değerleri kullanarak aşağıdaki değişkenleri yapılandırın:
Variable Description AZURE_OPENAI_ENDPOINTAzure OpenAI uç noktası (klasik Foundry portalından kopyalanır). AZURE_OPENAI_DEPLOYMENT_NAMEDağıtımdaki model adı (yeni Foundry portalındaki model oyun alanından kopyalanır). Uyarı
Öğreticiyi basit tutmak için bu değişkenleri App Service'teki uygulama ayarlarıyla üzerine yazmak yerine .env içinde kullanacaksınız.
Uyarı
Öğreticiyi basit tutmak için bu değişkenleri App Service'teki uygulama ayarlarıyla üzerine yazmak yerine .env içinde kullanacaksınız.
Azure CLI ile Azure'da oturum açın:
az loginBu, örnek koddaki Azure Identity istemci kitaplığının oturum açmış kullanıcı için bir kimlik doğrulama belirteci almasını sağlar. Bu kullanıcı için gerekli rolü daha önce eklediğinizi unutmayın.
Uygulamayı yerel olarak çalıştırın:
npm run build npm startUygulamanızın 3000 numaralı bağlantı noktasında çalıştığınıgördüğünüzde Tarayıcıda Aç'ı seçin.
Sohbet arabirimini denemek için LangGraph Aracısı bağlantısını ve Foundry Agent bağlantısını seçin. Bir yanıt alırsanız, uygulamanız Microsoft Foundry kaynağına başarıyla bağlanıyordur.
GitHub Codespace’inize geri dönün ve uygulama değişikliklerinizi dağıtıma alın.
azd upDağıtılan uygulamaya yeniden gidin ve sohbet aracılarını test edin.
Kaynakları temizle
Uygulamayla işiniz bittiğinde, daha fazla maliyet oluşmasını önlemek için App Service kaynaklarını silebilirsiniz:
azd down --purge
AZD şablonu Microsoft Foundry kaynaklarını içermediğinden, isterseniz bunları el ile silmeniz gerekir.