autogen_ext.code_executors.azure#
- class ACADynamicSessionsCodeExecutor(pool_management_endpoint: str, credential: TokenProvider, timeout: int = 60, work_dir: Path | str | None = None, functions: Sequence[FunctionWithRequirements[Any, A] | Callable[[...], Any] | FunctionWithRequirementsStr] = [], functions_module: str = 'functions', suppress_result_output: bool = False, session_id: str | None = None)[Quelle]#
Bases:
CodeExecutor(Experimentell) Eine Code-Executor-Klasse, die Code über eine Azure Container Apps Dynamic Sessions-Instanz ausführt.
Hinweis
Diese Klasse erfordert die
azure-Erweiterung für dasautogen-ext-Paketpip install "autogen-ext[azure]"
Vorsicht
Dies führt LLM-generierten Code in einem Azure Dynamic Code Container aus.
Die Ausführungsumgebung ähnelt der einer Jupyter-Notebook-Umgebung, die eine inkrementelle Codeausführung ermöglicht. Die Parameterfunktionen werden einmal zu Beginn jeder Sitzung in der Reihenfolge ausgeführt. Jeder Codeblock wird dann seriell und in der Reihenfolge, in der er empfangen wird, ausgeführt. Jede Umgebung verfügt über eine statisch definierte Reihe von verfügbaren Paketen, die nicht geändert werden kann. Derzeit führt der Versuch, Pakete zu verwenden, die über die in der Umgebung verfügbaren hinausgehen, zu einem Fehler. Um die Liste der unterstützten Pakete abzurufen, rufen Sie die Funktion get_available_packages auf. Derzeit ist die einzige unterstützte Sprache Python. Für Python-Code verwenden Sie die Sprache „python“ für den Codeblock.
- Parameter:
pool_management_endpoint (str) – Der Endpunkt für Azure Container Apps Dynamic Sessions.
credential (TokenProvider) – Ein Objekt, das die get_token-Funktion implementiert.
timeout (int) – Das Timeout für die Ausführung eines einzelnen Codeblocks. Standard ist 60.
work_dir (str) – Das Arbeitsverzeichnis für die Codeausführung. Wenn None, wird ein Standardarbeitsverzeichnis verwendet. Das Standardarbeitsverzeichnis ist ein temporäres Verzeichnis.
functions (List[Union[FunctionWithRequirements[Any, A], Callable[..., Any]]]) – Eine Liste von Funktionen, die dem Code-Executor zur Verfügung stehen. Standardmäßig eine leere Liste.
bool (suppress_result_output) – Standardmäßig fügt der Executor alle Ergebnisinformationen in die Ausführungsantwort an die Ausgabedaten an. Setzen Sie dies auf True, um dies zu verhindern.
session_id (str) – Die Sitzungs-ID für die Codeausführung (wird an Dynamic Sessions übergeben). Wenn None, wird eine neue Sitzungs-ID generiert. Standard ist None. Beachten Sie, dass dieser Wert beim Aufruf von restart zurückgesetzt wird.
Hinweis
Die Verwendung des aktuellen Verzeichnisses („.“) als Arbeitsverzeichnis ist veraltet. Bei Verwendung wird eine Veraltungswarnung ausgelöst.
- FUNCTION_PROMPT_TEMPLATE: ClassVar[str] = 'You have access to the following user defined functions.\n\n$functions'#
- format_functions_for_prompt(prompt_template: str = FUNCTION_PROMPT_TEMPLATE) str[Quelle]#
(Experimentell) Formatiert die Funktionen für eine Eingabeaufforderung.
Die Vorlage enthält eine Variable: - $functions: Die Funktionen, formatiert als Stubs mit zwei Leerzeilen zwischen jeder Funktion.
- Parameter:
prompt_template (str) – Die Eingabeaufforderungsvorlage. Standard ist die Klassenstandardeinstellung.
- Gibt zurück:
str – Die formatierte Eingabeaufforderung.
- async get_available_packages(cancellation_token: CancellationToken) set[str][Quelle]#
- async get_file_list(cancellation_token: CancellationToken) List[str][Quelle]#
- async download_files(files: List[Path | str], cancellation_token: CancellationToken) List[str][Quelle]#
- async execute_code_blocks(code_blocks: List[CodeBlock], cancellation_token: CancellationToken) CodeResult[Quelle]#
(Experimentell) Führt die Codeblöcke aus und gibt das Ergebnis zurück.
- Parameter:
code_blocks (List[CodeBlock]) – Die auszuführenden Codeblöcke.
cancellation_token (CancellationToken) – Ein Token zum Abbrechen des Vorgangs
input_files (Optional[Union[Path, str]]) – Alle Dateien, auf die die Codeblöcke zugreifen müssen
- Gibt zurück:
CodeResult – Das Ergebnis der Codeausführung.
- async restart() None[Quelle]#
(Experimentell) Startet den Code-Executor neu.
Setzt den internen Zustand des Executors zurück, indem eine neue Sitzungs-ID generiert und die Setup-Variablen zurückgesetzt werden. Dies führt dazu, dass die nächste Codeausführung die Umgebung neu initialisiert und jeglichen Setup-Code neu ausführt.