Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Monty is een op Rust gebaseerde interpreter voor een beperkte Python subset.
MontyCodeActProvider geeft een Agent Framework-agent één execute_code tool en laat gegenereerde code tools van de provider aanroepen als getypeerde asynchrone functies of via call_tool(...).
Deze integratie maakt gebruik van het CodeAct-patroon met een beperkte interpreter in plaats van een hardware-geïsoleerde sandbox.
Gebruik Monty wanneer u een platformoverschrijdende CodeAct-runtime nodig hebt zonder hypervisor of WASM-gastafhankelijkheid van Hyperlight.
Opmerking
agent-framework-monty is een bètapakket. Monty beperkt het besturingssysteem, subprocessen en directe netwerktoegang, maar het is geen hardware-geïsoleerde virtuele machine.
De pakketten installeren
pip install agent-framework-monty agent-framework-foundry --pre
MontyCodeActProvider toevoegen
Registreer hosthulpprogramma's bij de provider in plaats van rechtstreeks op de agent. Het model ziet execute_code en roept deze hulpprogramma's aan op basis van gegenereerde code.
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}")
Mogelijkheden configureren
ondersteuning voor MontyCodeActProvider en MontyExecuteCodeTool:
- beheer van hosthulpprogramma's en runtimehulpprogramma's
-
never_requireofalways_requiregoedkeuring voorexecute_code - een hoofdmap van een werkruimte en expliciete bestandsaankoppelingen
- Monty-resourcelimieten
- bestanden die vanuit mounts met lees- en schrijftoegang worden geretourneerd als inhoud van het Agent Framework
Monty biedt geen lijst met toegestane uitgaande URL's. Netwerktoegang bieden via een smal hosthulpprogramma waarmee bestemmingen en invoer worden gevalideerd.
Kies Monty of Hyperlight
| Runtime | Kies deze wanneer |
|---|---|
| Monty | Platformoverschrijdende uitvoering en een beperkte interpreter zijn voldoende. |
| Hyperlight | U hebt een beperkte sandbox, besturingselementen voor bestandssysteem of acceptatielijsten voor uitgaand domein nodig. |