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.
Monty är en Rust-baserad tolk för en begränsad Python delmängd.
MontyCodeActProvider ger en agent i Agent Framework ett execute_code-verktyg och låter genererad kod anropa leverantörsägda verktyg som typade asynkrona funktioner eller via call_tool(...).
Den här integreringen använder CodeAct-mönstret med en begränsad tolk i stället för en maskinvaruisolerad sandbox-miljö.
Använd Monty när du behöver en plattformsoberoende CodeAct-körning utan Hyperlights hypervisor- eller WASM-gästberoende.
Anmärkning
agent-framework-monty är ett betapaket. Monty begränsar operativsystem, underprocess och direkt nätverksåtkomst, men det är inte en maskinvaruisolerad virtuell dator.
Installera programvarupaketen
pip install agent-framework-monty agent-framework-foundry --pre
Lägg till MontyCodeActProvider
Registrera värdverktyg på providern i stället för direkt på agenten. Modellen ser execute_code och anropar dessa verktyg från genererad kod.
async def main() -> None:
"""Run the provider-owned Monty CodeAct sample."""
# 1. Create the Monty-backed provider and register sandbox tools on it.
codeact = MontyCodeActProvider(
tools=[compute, fetch_data],
approval_mode="never_require",
)
# 2. Create the client and the agent.
agent = Agent(
client=FoundryChatClient(
project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
model=os.environ["FOUNDRY_MODEL"],
credential=AzureCliCredential(),
),
name="MontyCodeActProviderAgent",
instructions="You are a helpful assistant.",
context_providers=[codeact],
middleware=[log_function_calls],
)
# 3. Run a request that should use execute_code plus provider-owned tools.
query = (
"Fetch all users, find admins, multiply 7*(3*2), and print the users, "
"admins, and multiplication result. Use a single execute_code call. "
"You may call the registered tools directly as typed async functions "
"(`await compute(operation='multiply', a=7, b=6)`) or via "
"`call_tool('compute', ...)`."
)
print(f"{_CYAN}{'=' * 60}")
print("Monty CodeAct provider sample")
print(f"{'=' * 60}{_RESET}")
print(f"{_CYAN}User: {query}{_RESET}")
result = await agent.run(query)
print(f"{_CYAN}Agent: {result.text}{_RESET}")
Konfigurera funktioner
MontyCodeActProvider- och MontyExecuteCodeTool-support:
- värdverktyg och körningsverktygshantering
-
never_requireelleralways_requiregodkännande förexecute_code - en rotkatalog för arbetsytan och uttryckliga filmonteringar
- Monty-resursgränser
- filer som returneras från läs- och skrivmonteringar som innehåll i Agent Framework
Monty tillhandahåller ingen lista över tillåtna utgående URL:er. Ge nätverksåtkomst via ett smalt värdverktyg som validerar mål och indata.
Välj Monty eller Hyperlight
| Runtime | Välj den när |
|---|---|
| Monty | Plattformsoberoende exekvering och en begränsad tolk räcker. |
| Hyperlight | Du behöver en förstärkt sandbox-miljö, filsystemkontroller eller listor över tillåtna utgående domäner. |