Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Microsoft.Agents.AI.LocalCodeAct spustí vygenerovaný Python v podřízeném procesu v prostředí agenta. Poskytuje vzor poskytovatele CodeAct, aniž by vyžadoval hostované běhové prostředí Hyperlight.
Tato integrace používá vzor CodeAct a spoléhá na hostitelské prostředí pro izolaci.
Warning
Local CodeAct není bezpečnostní sandbox. Spusťte ho jenom v případě, že externí kontejner, virtuální počítač nebo spravované hostitelské prostředí poskytují proces, systém souborů, síť a izolaci přihlašovacích údajů.
Nainstalujte balíček
dotnet add package Microsoft.Agents.AI.LocalCodeAct --prerelease
Balíček vyžaduje explicitně zadanou cestu ke spustitelnému souboru Pythonu.
Konfigurujte poskytovatele
Zaregistrujte nástroje hostitele prostřednictvím LocalCodeActProviderOptions. Vygenerovaný kód může volat pouze tyto nástroje prostřednictvím await call_tool(...). Použijte limity provádění k omezení doby běhu podprocesu a objemu zachyceného výstupu.
new Dictionary<string, object> { ["id"] = 3, ["name"] = "Charlie", ["role"] = "admin" },
],
["products"] =
[
new Dictionary<string, object> { ["id"] = 101, ["name"] = "Widget", ["price"] = 9.99 },
new Dictionary<string, object> { ["id"] = 102, ["name"] = "Gadget", ["price"] = 19.99 },
],
};
return data.TryGetValue(table, out var rows) ? rows : [];
}
// ── 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 ───────────────────────────────────────────────────
// WARNING: DefaultAzureCredential is convenient for development but requires careful
// consideration in production. Consider a specific credential (for example
// ManagedIdentityCredential) to avoid latency, unintended credential probing, and
// fallback security risks.
AIAgent agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
Hloubkové kontroly ochrany
Lokální CodeAct poskytuje:
- Validace AST s konfigurovatelným seznamem povolených a blokovaných importů a vestavěných funkcí.
- Přímé spuštění podprocesu v Pythonu bez vyvolání shellu
- Čas, výstup, výsledek a omezení velikosti zachycených souborů
- Explicitní registrace hostitelského nástroje
- Připojení souborů jen pro čtení a pro čtení i zápis.
- Konfigurovatelný pracovní adresář a prostředí podprocesu
Tyto kontroly snižují riziko, ale neposkytují omezení. Ponechte ověřování zapnuté, předejte omezený slovník proměnných prostředí, zpřístupněte jen omezenou sadu hostitelských nástrojů a spusťte proces v robustním externím sandboxu.
Vyberte běhové prostředí CodeAct
| Runtime | Zvolte ho, když |
|---|---|
| Hyperlight | Potřebujete izolovaný sandbox se systémem souborů a síťovými ovládacími prvky. |
| Local CodeAct | Váš .NET agent už běží v prostředí s externě izolovaným prostorem (sandbox). |
| Monty | Pro agenty Python potřebujete interpret s omezeným přístupem pro různé platformy. |