From 9a773d285bb843d6ae3007cd87521dce7317ae9e Mon Sep 17 00:00:00 2001 From: Zhichao Date: Thu, 12 Sep 2024 14:56:34 +0800 Subject: [PATCH] feat: add OPENAI_API_KEY to e2b env (#235) * add OPENAI_API_KEY to e2b env * add anthropic key * fix type --- vision_agent/utils/execute.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/vision_agent/utils/execute.py b/vision_agent/utils/execute.py index c2e0e652..65e9fea9 100644 --- a/vision_agent/utils/execute.py +++ b/vision_agent/utils/execute.py @@ -691,8 +691,9 @@ def new_instance( if not code_sandbox_runtime: code_sandbox_runtime = os.getenv("CODE_SANDBOX_RUNTIME", "local") if code_sandbox_runtime == "e2b": + envs = _get_e2b_env() instance: CodeInterpreter = E2BCodeInterpreter( - timeout=_SESSION_TIMEOUT, remote_path=remote_path + timeout=_SESSION_TIMEOUT, remote_path=remote_path, envs=envs ) elif code_sandbox_runtime == "local": instance = LocalCodeInterpreter( @@ -705,6 +706,20 @@ def new_instance( return instance +def _get_e2b_env() -> Union[Dict[str, str], None]: + openai_api_key = os.getenv("OPENAI_API_KEY", "") + anthropic_api_key = os.getenv("ANTHROPIC_API_KEY", "") + if openai_api_key or anthropic_api_key: + envs = {} + if openai_api_key: + envs["OPENAI_API_KEY"] = openai_api_key + if anthropic_api_key: + envs["ANTHROPIC_API_KEY"] = anthropic_api_key + else: + envs = None + return envs + + def _parse_local_code_interpreter_outputs(outputs: List[Dict[str, Any]]) -> Execution: """Parse notebook cell outputs to Execution object. Output types: https://nbformat.readthedocs.io/en/latest/format_description.html#code-cell-outputs