You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1adc910
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,17 +35,27 @@ This repository provides an extensible inference engine for using RLMs around st
35
35
> [!NOTE]
36
36
> This repository contains inference code for RLMs with support for various sandbox environments. Open-source contributions are welcome. This repository is maintained by the authors of the paper from the MIT OASYS lab.
The default RLM client uses a REPL environment that runs on the host process through Python `exec` calls. It uses the same virtual environment as the host process (i.e. it will have access to the same dependencies), but with some limitations in its available global modules. As an example, we can call RLM completions using GPT-5-nano:
44
+
```python
45
+
from rlm importRLM
46
+
47
+
rlm = RLM(
48
+
backend="openai",
49
+
backend_kwargs={"model_name": "gpt-5-nano"},
50
+
verbose=True, # For printing to console with rich, disabled by default.
51
+
)
52
+
53
+
print(rlm.completion("Print me the first 100 powers of two, each on a newline.").response)
45
54
```
46
-
``` -->
47
55
48
-
## Quick Setup
56
+
<details>
57
+
<summary>Manual Setup</summary>
58
+
49
59
Set up the dependencies with `uv` (or your virtual environment of choice):
50
60
```bash
51
61
curl -LsSf https://astral.sh/uv/install.sh | sh
@@ -63,18 +73,7 @@ To run a quick test, the following will run an RLM query with the OpenAI client
63
73
make quickstart
64
74
```
65
75
66
-
The default RLM client uses a REPL environment that runs on the host process through Python `exec` calls. It uses the same virtual environment as the host process (i.e. it will have access to the same dependencies), but with some limitations in its available global modules. As an example, we can call RLM completions using GPT-5-nano:
67
-
```python
68
-
from rlm importRLM
69
-
70
-
rlm = RLM(
71
-
backend="openai",
72
-
backend_kwargs={"model_name": "gpt-5-nano"},
73
-
verbose=True, # For printing to console with rich, disabled by default.
74
-
)
75
-
76
-
print(rlm.completion("Print me the first 100 powers of two, each on a newline.").response)
77
-
```
76
+
</details>
78
77
79
78
## REPL Environments
80
79
We support two types of REPL environments -- isolated, and non-isolated. Non-isolated environments (default) run code execution on the same machine as the RLM (e.g. through `exec`), which is pretty reasonable for some local low-risk tasks, like simple benchmarking, but can be problematic if the prompts or tool calls can interact with malicious users. Fully isolated environments used Cloud-based sandboxes (e.g. Prime Sandboxes, [Modal Sandboxes](https://modal.com/docs/guide/sandboxes)) to run code generated by the RLM, ensuring completely isolation from the host process. Environments can be added, but we natively support the following: `local` (default), `modal`, `prime`.
0 commit comments