Skip to content

Commit 013f387

Browse files
docs: update README.md (#20)
1 parent fcd425f commit 013f387

File tree

1 file changed

+40
-27
lines changed

1 file changed

+40
-27
lines changed

README.md

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,51 @@
1-
<p align="center">
2-
<picture>
3-
<source media="(prefers-color-scheme: dark)" srcset="/docs/assets/Bee_logo_white.svg">
4-
<source media="(prefers-color-scheme: light)" srcset="/docs/assets/Bee_logo_black.svg">
5-
<img alt="Bee Framework logo" height="90">
6-
</picture>
7-
</p>
8-
9-
<h1 align="center">bee-code-interpreter</h1>
1+
<h1 align="left">BeeAI Code Interpreter</h1>
102

11-
<p align="center">
3+
<p align="left">
124
<a aria-label="Join the community on GitHub" href="https://github.com/i-am-bee/bee-code-interpreter/discussions">
13-
<img alt="" src="https://img.shields.io/badge/Join%20the%20community-blueviolet.svg?style=for-the-badge&labelColor=000000&label=Bee">
5+
<img alt="" src="https://img.shields.io/badge/Join%20the%20community-blueviolet.svg?style=for-the-badge&labelColor=000000&label=BeeAI">
146
</a>
157
</p>
168

17-
A HTTP service intended as a backend for an LLM that can run arbitrary pieces of Python code.
18-
19-
Built from the ground up to be safe and reproducible.
9+
<p align="left">
10+
BeeAI Code Interpreter is a powerful HTTP service built to enable LLMs to execute arbitrary Python code. Engineered with safety and reproducibility at the core, this service is designed to seamlessly integrate with your applications.
11+
</p>
2012

2113
> [!NOTE]
22-
> This project contains submodules. Be sure to clone it with `git clone --recurse-submodules`, or initialize the submodules later with `git submodule update --init`.
14+
> This project includes submodules. Clone it using:
15+
> `git clone --recurse-submodules`.
16+
>
17+
> If you've already cloned it, initialize submodules with:
18+
> `git submodule update --init`.
19+
20+
You can quickly set up BeeAI Code Interpreter locally without needing to install Python or Poetry, as everything runs inside Docker.
2321

2422
---
2523

26-
## 🪑 Local set-up
24+
## ⚡ Quick start
25+
26+
### 👉 **Recommended: [BeeAI Framework Python Starter](https://github.com/i-am-bee/beeai-framework-py-starter)**
27+
28+
BeeAI Framework Python Starter helps you set up everything, including BeeAI Code Interpreter. The starter template is also available in [TypeScript](https://github.com/i-am-bee/beeai-framework-ts-starter).
2729

28-
It is possible to quickly spin up Bee Code Interpreter locally. It is not necessary to have Python or Poetry set up for this, since all is done using Docker.
30+
## Installation
2931

30-
1. Consider using [Bee Stack](https://github.com/i-am-bee/bee-stack), which sets up everything (including Bee Code Interpreter) for you. Alternatively, to develop using Bee Agent Framework, you may use [Bee Framework Starter](https://github.com/i-am-bee/bee-agent-framework-starter). Only follow the rest of this guide if you don't want to run the full stack, or need to make some modifications to Bee Code Interpreter (like modifying the executor image).
31-
2. Install [Rancher Desktop](https://rancherdesktop.io/) -- a local Docker and Kubernetes distribution.
32+
If you wish to make modifications to BeeAI Code Interpreter (like modifying the executor image), continue with the following:
33+
34+
1. **Install Rancher Desktop:** Download and install [Rancher Desktop](https://rancherdesktop.io/), a local Docker and Kubernetes distribution.
3235
> [!WARNING]
3336
> If you use a different local Docker / Kubernetes environment than Rancher Desktop, you may have a harder time.
3437
> Most of the other options (like Podman Desktop) require an additional step to make locally built images available in Kubernetes.
3538
> In that case, you might want to check `scripts/run-pull.sh` and modify it accordingly.
36-
3. If you already use `kubectl` to manage Kubernetes clusters, ensure that you have the correct context selected in `kubectl`.
37-
4. Run one of the following commands to spin up Bee Code Interpreter in the active `kubectl` context:
39+
40+
2. **Verify kubectl Context:** If you're using `kubectl` to manage Kubernetes clusters, make sure the correct context is context.
41+
42+
3. **Run BeeAI Code Interpreter:** Run one of the following commands to spin up BeeAI Code Interpreter in the active `kubectl` context:
3843
- **Use a pre-built image** (recommended if you made no changes): `bash scripts/run-pull.sh`
3944
- **Build image locally**: `bash scripts/run-build.sh`
4045
> [!WARNING]
4146
> Building the image locally make take a long time -- up to a few hours on slower machines.
42-
5. Once the service is running, you can interact with it using the HTTP API described below.
47+
48+
4. **Interacting with the Service:** Once the service is running, you can interact with it using the HTTP API described below.
4349

4450
---
4551

@@ -49,7 +55,12 @@ The service exposes the following HTTP endpoints:
4955

5056
### Execute Code
5157

52-
Executes arbitrary Python code in a sandboxed environment. All `import`s are checked and missing libraries are installed on-the-fly. `file_hash` refers to the hash-based filename as used in the storage folder.
58+
This endpoint executes arbitrary Python code in a sandboxed environment, with on-the-fly installation of any missing libraries.
59+
60+
> [!NOTE]
61+
> All `import`s are checked and missing libraries are installed on-the-fly.
62+
>
63+
> `file_hash` refers to the hash-based filename as used in the storage folder.
5364
5465
**Endpoint:** `POST /v1/execute`
5566

@@ -80,7 +91,7 @@ Executes arbitrary Python code in a sandboxed environment. All `import`s are che
8091

8192
### Parse Custom Tool
8293

83-
Parses a custom tool definition and returns its metadata.
94+
This endpoint parses a custom tool definition and returns its metadata.
8495

8596
**Endpoint:** `POST /v1/parse-custom-tool`
8697

@@ -102,7 +113,7 @@ Parses a custom tool definition and returns its metadata.
102113

103114
### Execute Custom Tool
104115

105-
Executes a custom tool with provided input.
116+
This endpoint executes a custom tool with the provided input.
106117

107118
**Endpoint:** `POST /v1/execute-custom-tool`
108119

@@ -143,9 +154,11 @@ curl -X POST http://localhost:50081/v1/execute \
143154

144155
## 🧳 Production setup
145156

146-
All configuration options are defined and described in `src/code_interpreter/config.py`. You can override them using environment variables with `APP_` prefix, e.g. `APP_EXECUTOR_IMAGE` to override `executor_image`.
157+
To configure BeeAI Code Interpreter for production:
158+
159+
1. All configuration options are located in `src/code_interpreter/config.py`. Override them using environment variables with `APP_` prefix, e.g. `APP_EXECUTOR_IMAGE` to override `executor_image`.
147160

148-
For a production setup, ensure that you have the following:
161+
2. For production deployment, ensure the following:
149162
- A Kubernetes cluster with a secure container runtime (gVisor, Kata Containers, Firecracker, etc.)
150163
> ⚠️ Docker containers are not fully sandboxed by default. To protect from malicious attackers, do not skip this step.
151164
- A service account, bound to the pod where `bee-code-interpreter` is running, with permissions to manage pods in the namespace it is configured to use.

0 commit comments

Comments
 (0)