Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skapa en agent och få ett svar – med bara några rader kod.
dotnet add package Microsoft.Agents.AI.Foundry --prerelease
Skapa agenten:
using System;
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")
?? throw new InvalidOperationException("Set AZURE_OPENAI_ENDPOINT");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";
AIAgent agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
.AsAIAgent(
model: deploymentName,
instructions: "You are a friendly assistant. Keep your answers brief.",
name: "HelloAgent");
Varning
DefaultAzureCredential är praktiskt för utveckling men kräver noggrant övervägande i produktion. I produktion bör du överväga att använda en specifik autentiseringsuppgift (t.ex. ManagedIdentityCredential) för att undvika problem med svarstid, oavsiktlig avsökning av autentiseringsuppgifter och potentiella säkerhetsrisker från reservmekanismer.
Kör den:
Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));
Eller streama svaret:
await foreach (var update in agent.RunStreamingAsync("Tell me a one-sentence fun fact."))
{
Console.Write(update);
}
Tip
Här finns ett fullständigt körbart exempelprogram.
pip install agent-framework-foundry azure-identity
Paketet agent-framework-foundry installerar agent-framework-core med Microsoft Foundry-integreringen. Metapaketet agent-framework installerar också agent-framework-core, tillsammans med många andra valfria integreringar.
Logga in med Azure CLI genom att köra az login. I följande exempel ersätter du project_endpoint med slutpunkten för ditt Microsoft Foundry-projekt och model med namnet på din modelldistribution.
Spara det fullständiga exemplet som hello_agent.py:
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
async def main() -> None:
agent = Agent(
client=FoundryChatClient(
project_endpoint="https://your-project.services.ai.azure.com",
model="gpt-6-luna",
credential=AzureCliCredential(),
),
instructions="You are a friendly assistant. Keep your answers brief.",
)
print(await agent.run("What is the largest city of France?"))
if __name__ == "__main__":
asyncio.run(main())
Kör exemplet:
python hello_agent.py
Anmärkning
Agent Framework läser inte in .env filer automatiskt. Om du vill använda en .env fil för konfiguration anropar load_dotenv() du i början av skriptet:
from dotenv import load_dotenv
load_dotenv()
Du kan också ange miljövariabler direkt i gränssnittet eller IDE. Mer information finns i inställningsmigreringsanteckningen .
Tip
Se det fullständiga exemplet för den fullständiga körbara filen.
go get github.com/microsoft/agent-framework-go
Skapa agenten:
package main
import (
"context"
"fmt"
"os"
"github.com/microsoft/agent-framework-go/agent"
"github.com/microsoft/agent-framework-go/provider/foundryprovider"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint := os.Getenv("FOUNDRY_PROJECT_ENDPOINT")
model := os.Getenv("FOUNDRY_MODEL")
token, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
panic(err)
}
a := foundryprovider.NewAgent(
endpoint,
token,
foundryprovider.ModelDeployment(model),
foundryprovider.AgentConfig{
Instructions: "You are a friendly assistant. Keep your answers brief.",
Config: agent.Config{
Name: "HelloAgent",
},
},
)
Varning
azidentity.NewDefaultAzureCredential är praktiskt för utveckling men kräver noggrant övervägande i produktion. I produktion bör du överväga att använda en specifik autentiseringsuppgift, till exempel azidentity.NewManagedIdentityCredential, för att undvika problem med svarstid, oavsiktlig avsökning av autentiseringsuppgifter och potentiella säkerhetsrisker från reservmekanismer.
Kör den:
ctx := context.Background()
resp, err := a.RunText(ctx, "What is the largest city in France?").Collect()
fmt.Println(resp, err)
Eller streama svaret:
for update, err := range a.RunText(ctx, "Tell me a one-sentence fun fact.", agent.Stream(true)) {
if err != nil {
panic(err)
}
fmt.Print(update)
}
}
Tip
Se det fullständiga exemplet för den fullständiga körbara filen.
Nästa steg
Gå djupare:
- Agenter – förstå agentarkitektur
- Leverantörer – se alla leverantörer som stöds