autogen_ext.code_executors.azure#
- class ACADynamicSessionsCodeExecutor(pool_management_endpoint: str, credential: TokenProvider, timeout: int = 60, work_dir: Path | str = PosixPath('.'), functions: Sequence[FunctionWithRequirements[Any, A] | Callable[[...], Any] | FunctionWithRequirementsStr] = [], functions_module: str = 'functions')[source]#
Bases:
CodeExecutor
(Experimental) A code executor class that executes code through a an Azure Container Apps Dynamic Sessions instance.
Note
This class requires the
azure
extra for theautogen-ext
package:pip install 'autogen-ext[azure]==0.4.0.dev11'
Caution
This will execute LLM generated code on an Azure dynamic code container.
The execution environment is similar to that of a jupyter notebook which allows for incremental code execution. The parameter functions are executed in order once at the beginning of each session. Each code block is then executed serially and in the order they are received. Each environment has a statically defined set of available packages which cannot be changed. Currently, attempting to use packages beyond what is available on the environment will result in an error. To get the list of supported packages, call the get_available_packages function. Currently the only supported language is Python. For Python code, use the language “python” for the code block.
- Parameters:
pool_management_endpoint (str) – The azure container apps dynamic sessions endpoint.
credential (TokenProvider) – An object that implements the get_token function.
timeout (int) – The timeout for the execution of any single code block. Default is 60.
work_dir (str) – The working directory for the code execution. If None, a default working directory will be used. The default working directory is the current directory “.”.
functions (List[Union[FunctionWithRequirements[Any, A], Callable[..., Any]]]) – A list of functions that are available to the code executor. Default is an empty list.
- FUNCTION_PROMPT_TEMPLATE: ClassVar[str] = 'You have access to the following user defined functions.\n\n$functions'#
- async download_files(files: List[Path | str], cancellation_token: CancellationToken) List[str] [source]#
- async execute_code_blocks(code_blocks: List[CodeBlock], cancellation_token: CancellationToken) CodeResult [source]#
(Experimental) Execute the code blocks and return the result.
- Parameters:
code_blocks (List[CodeBlock]) – The code blocks to execute.
cancellation_token (CancellationToken) – a token to cancel the operation
input_files (Optional[Union[Path, str]]) – Any files the code blocks will need to access
- Returns:
CodeResult – The result of the code execution.
- format_functions_for_prompt(prompt_template: str = 'You have access to the following user defined functions.\n\n$functions') str [source]#
(Experimental) Format the functions for a prompt.
The template includes one variable: - $functions: The functions formatted as stubs with two newlines between each function.
- Parameters:
prompt_template (str) – The prompt template. Default is the class default.
- Returns:
str – The formatted prompt.
- async get_available_packages(cancellation_token: CancellationToken) set[str] [source]#
- async get_file_list(cancellation_token: CancellationToken) List[str] [source]#