preference-lab / client.py
Sibam
PreferenceLab OpenEnv environment for RLHF preference simulation
cdf485e
Raw
History Blame Contribute Delete
1.38 kB
"""
PreferenceLab Environment Client.
Connects to a running PreferenceLab server via WebSocket/HTTP.
Example (async):
>>> from preference_lab import PreferenceLabEnv, PairwiseAction
>>> async with PreferenceLabEnv(base_url="https://your-space.hf.space") as env:
... obs = await env.reset()
... result = await env.step(PairwiseAction(choice="A"))
Example (sync):
>>> with PreferenceLabEnv(base_url="https://your-space.hf.space").sync() as env:
... obs = env.reset()
... result = env.step(PairwiseAction(choice="A"))
"""
from openenv.core.mcp_client import MCPToolClient
class PreferenceLabEnv(MCPToolClient):
"""
Client for the PreferenceLab Environment.
Provides tool-calling style interactions with the RLHF preference
simulation environment. Inherits all functionality from MCPToolClient.
Available tools (discovered via list_tools()):
- rank_responses: Task 1 — choose A or B
- score_response: Task 2 — rate on 4 axes
- order_responses: Task 3 — rank 4 responses
Example:
>>> with PreferenceLabEnv(base_url="http://localhost:8000").sync() as env:
... env.reset()
... tools = env.list_tools()
... result = env.call_tool("rank_responses", choice="A")
"""
pass # MCPToolClient provides all needed functionality