Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Agenci deklaratywne umożliwiają definiowanie konfiguracji agenta przy użyciu plików YAML lub JSON zamiast pisania kodu programowego. Takie podejście ułatwia agentom definiowanie, modyfikowanie i udostępnianie w zespołach.
W poniższym przykładzie pokazano, jak utworzyć agenta deklaratywnego na podstawie konfiguracji YAML:
using System;
using System.IO;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
// Load agent configuration from a YAML file
var yamlContent = File.ReadAllText("agent-config.yaml");
// Create the agent from the YAML definition
AIAgent agent = AgentFactory.CreateFromYaml(
yamlContent,
new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential()));
// Run the declarative agent
Console.WriteLine(await agent.RunAsync("Why is the sky blue?"));
Definiowanie agenta wbudowanego przy użyciu języka YAML
Pełną specyfikację YAML można zdefiniować jako ciąg bezpośrednio w kodzie:
import asyncio
from agent_framework.declarative import AgentFactory
from azure.identity.aio import AzureCliCredential
async def main():
"""Create an agent from an inline YAML definition and run it."""
yaml_definition = """kind: Prompt
name: DiagnosticAgent
displayName: Diagnostic Assistant
instructions: Specialized diagnostic and issue detection agent for systems with critical error protocol and automatic handoff capabilities
description: An agent that performs diagnostics on systems and can escalate issues when critical errors are detected.
model:
id: =Env.AZURE_OPENAI_MODEL
connection:
kind: remote
endpoint: =Env.AZURE_AI_PROJECT_ENDPOINT
"""
async with (
AzureCliCredential() as credential,
AgentFactory(client_kwargs={"credential": credential}).create_agent_from_yaml(yaml_definition) as agent,
):
response = await agent.run("What can you do for me?")
print("Agent response:", response.text)
if __name__ == "__main__":
asyncio.run(main())
Ładowanie agenta z pliku YAML
Możesz również załadować definicję YAML z pliku:
import asyncio
from pathlib import Path
from agent_framework.declarative import AgentFactory
from azure.identity import AzureCliCredential
async def main():
"""Create an agent from a declarative YAML file and run it."""
yaml_path = Path(__file__).parent / "agent-config.yaml"
with yaml_path.open("r") as f:
yaml_str = f.read()
agent = AgentFactory(client_kwargs={"credential": AzureCliCredential()}).create_agent_from_yaml(yaml_str)
response = await agent.run("Why is the sky blue?")
print("Agent response:", response.text)
if __name__ == "__main__":
asyncio.run(main())