Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Monty jest interpreterem opartym na rust dla ograniczonego podzestawu Python.
MontyCodeActProvider udostępnia agentowi programu Agent Framework jedno execute_code narzędzie i umożliwia generowanie narzędzi należących do dostawcy wywołań kodu jako funkcji asynchronicznych lub za pomocą polecenia call_tool(...).
Ta integracja używa wzorca CodeAct z ograniczonym interpreterem, a nie piaskownicą izolowanej sprzętowo.
Użyj narzędzia Monty, jeśli potrzebujesz międzyplatformowego środowiska uruchomieniowego CodeAct bez funkcji hypervisor funkcji Hyperlight lub zależności gościa WASM.
Note
agent-framework-monty jest pakietem beta. Monty ogranicza system operacyjny, podproces i bezpośredni dostęp do sieci, ale nie jest to maszyna wirtualna izolowana sprzętowo.
Instalowanie pakietów
pip install agent-framework-monty agent-framework-foundry --pre
Dodaj MontyCodeActProvider
Zarejestruj narzędzia hosta u dostawcy, a nie bezpośrednio na agencie. Model widzi execute_code i wywołuje te narzędzia z wygenerowanego kodu.
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}")
Konfigurowanie możliwości
MontyCodeActProvider i MontyExecuteCodeTool pomoc techniczna:
- narzędzia hosta i zarządzanie narzędziami środowiska uruchomieniowego
-
never_requirelubalways_requirezatwierdzenie dlaexecute_code - instalacja pliku głównego i jawnego obszaru roboczego
- Limity zasobów Monty
- pliki zwrócone z instalacji odczytu i zapisu jako zawartość programu Agent Framework
Monty nie udostępnia listy dozwolonych adresów URL ruchu wychodzącego. Zapewnianie dostępu do sieci za pośrednictwem wąskiego narzędzia hosta, które weryfikuje lokalizacje docelowe i dane wejściowe.
Wybierz pozycję Monty lub Hyperlight
| Runtime | Wybierz ją, gdy |
|---|---|
| Monty | Wykonywanie międzyplatformowe i interpreter ograniczony są wystarczające. |
| Hyperlight | Potrzebna jest piaskownica ze wzmocnionym zabezpieczeniami, kontrolki systemu plików lub listy dozwolonych domen ruchu wychodzącego. |