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.
Microsoft.Agents.AI.LocalCodeActkörningar som genererats Python i en underordnad process i agentens miljö. Den tillhandahåller CodeAct-providermönstret utan att en Hyperlight-gästkörning krävs.
Den här integreringen använder CodeAct-mönstret och förlitar sig på värdmiljön för isolering.
Varning
Lokal CodeAct är inte en säkerhetssandlåda. Kör den bara där en extern container, virtuell dator eller hanterad värdmiljö tillhandahåller isolering av processer, filsystem, nätverk och autentiseringsuppgifter.
Installera paketet
dotnet add package Microsoft.Agents.AI.LocalCodeAct --prerelease
Paketet kräver en explicit Python körbar sökväg.
Konfigurera leverantören
Registrera värdverktyg via LocalCodeActProviderOptions. Genererad kod kan bara anropa dessa verktyg via await call_tool(...). Tillämpa körningsgränser för bunden underprocesskörning och insamlade utdata.
// ── LocalCodeAct provider with sandbox-only host tools ───────────────────────
var codeActOptions = new LocalCodeActProviderOptions
{
Tools =
[
AIFunctionFactory.Create(Compute, name: "compute"),
AIFunctionFactory.Create(FetchData, name: "fetch_data"),
],
ExecutionLimits = new ProcessExecutionLimits { TimeoutSeconds = 5 },
};
var codeAct = new LocalCodeActProvider(pythonExecutable, codeActOptions);
// ── Build the hosted agent ───────────────────────────────────────────────────
AIAgent agent = new AIProjectClient(new Uri(endpoint), credential)
.AsAIAgent(new ChatClientAgentOptions
{
Name = Environment.GetEnvironmentVariable("AGENT_NAME") ?? "hosted-local-codeact",
Description = "Hosted CodeAct agent with sandbox-only compute and fetch_data tools.",
ChatOptions = new ChatOptions
{
ModelId = deploymentName,
Instructions =
"""
You are a helpful assistant. Keep your answers brief. Prefer orchestrating your work
in a single `execute_code` block using `await call_tool(...)` over issuing many
direct tool calls. The sandbox exposes `compute` and `fetch_data` via `call_tool`.
""",
},
AIContextProviders = [codeAct],
});
Djupskyddskontroller
Local CodeAct tillhandahåller:
- AST-validering med konfigurerbar tillåten och blockerad import och inbyggda importer.
- Direkt Python underprocesskörning utan att anropa ett gränssnitt.
- Storleksgränser för tid, utdata, resultat och insamlade filer.
- Explicit registrering av värdverktyg.
- Skrivskyddade och skrivskyddade filmonteringar.
- Konfigurerbar arbetskatalog och underprocessmiljö.
Dessa kontroller minskar risken men tillhandahåller inte inneslutning. Håll valideringen aktiverad, skicka en begränsad miljöordlista, exponera smala värdverktyg och kör processen i en stark extern sandbox-miljö.
Välj en CodeAct-körning
| Runtime | Välj den när |
|---|---|
| Hyperlight | Du behöver en isolerad sandbox-miljö med filsystem- och nätverkskontroller. |
| Lokal codeact | Din .NET agent körs redan i en externt sandbox-miljö. |
| Monty | Du behöver en plattformsoberoende begränsad tolk för Python agenter. |