ORS SDK
Python SDK for the Open Reward Standard (ORS) — an HTTP-based protocol for connecting AI agents to reinforcement learning environments.
Installation
pip install ors-sdk
Quick Start
Server (hosting an environment)
from pydantic import BaseModel
from ors import Environment, Server, tool, ToolOutput, TextBlock, Split
class SubmitInput(BaseModel):
answer: str
class MathEnv(Environment):
@classmethod
def list_splits(cls):
return [Split(name="test", type="test")]
@classmethod
def list_tasks(cls, split: str):
return [{"question": "What is 2+2?", "answer": "4"}]
def get_prompt(self):
return [TextBlock(text=self.task_spec["question"])]
@tool
def submit(self, params: SubmitInput) -> ToolOutput:
correct = params.answer.strip() == self.task_spec["answer"]
return ToolOutput(
blocks=[TextBlock(text="Correct!" if correct else "Incorrect")],
reward=1.0 if correct else 0.0,
finished=True,
)
if __name__ == "__main__":
Server([MathEnv]).run(port=8080)
Client (connecting to an environment)
from ors.client import ORS
client = ORS(base_url="http://localhost:8080")
env = client.environment("mathenv")
tasks = env.list_tasks(split="test")
with env.session(task=tasks[0]) as session:
prompt = session.get_prompt()
print(f"Question: {prompt[0].text}")
result = session.call_tool("submit", {"answer": "4"})
print(f"Reward: {result.reward}, Finished: {result.finished}")
Links
License
Apache 2.0
Metadata
Release files for ors-sdk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ors_sdk-0.1.0.tar.gz | 30.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ors_sdk-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.7 kB
Release files / ors_sdk-0.1.0.tar.gz
| Download URL | ors_sdk-0.1.0.tar.gz |
|---|---|
| Size | 30.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2364c4569c772fdf24b57644a606875ff5900e3ba167b81e38616177784446b1
|
|
BLAKE2b-256 checksum How to use checksums |
988e2f052c8ea1b33b6299cf7d35deb62e1256c1c33d338215772635733367eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.4
|
Release files / ors_sdk-0.1.0-py3-none-any.whl
| Download URL | ors_sdk-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62fbf348f9875e975a2d961135cba140bc6f9f8c4c07955f69d9e97ec25acb66
|
|
BLAKE2b-256 checksum How to use checksums |
2ec71818ede0a134868cf2c29362f42a48376f37642641b78df75ca1678b7f4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.4
|