synth-ai 0.2.4.dev8__py3-none-any.whl → 0.2.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of synth-ai might be problematic. Click here for more details.
- synth_ai/__init__.py +1 -1
- synth_ai/cli/__init__.py +6 -0
- synth_ai/cli/demo.py +68 -9
- synth_ai/cli/rl_demo.py +137 -0
- synth_ai/cli/root.py +65 -0
- synth_ai/demos/core/__init__.py +1 -0
- synth_ai/demos/core/cli.py +685 -0
- synth_ai/demos/demo_task_apps/__init__.py +1 -0
- synth_ai/demos/demo_task_apps/core.py +374 -0
- synth_ai/demos/demo_task_apps/math/__init__.py +1 -0
- synth_ai/demos/demo_task_apps/math/app.py +37 -0
- synth_ai/demos/demo_task_apps/math/config.toml +44 -0
- synth_ai/demos/demo_task_apps/math/deploy_modal.py +60 -0
- synth_ai/demos/demo_task_apps/math/deploy_task_app.sh +22 -0
- synth_ai/environments/examples/bandit/__init__.py +33 -0
- synth_ai/environments/examples/bandit/engine.py +294 -0
- synth_ai/environments/examples/bandit/environment.py +194 -0
- synth_ai/environments/examples/bandit/taskset.py +200 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/analyze_semantic_words_markdown.py +250 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py +59 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py +152 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_config.toml +24 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py +1194 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/crafter_synth_config.toml +56 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_config_modal.toml +32 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_turso.py +724 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/kick_off_ft_modal.py +384 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_action_results.py +53 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_agent_actions.py +178 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_latest_run.py +222 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_lm_traces.py +183 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_no_rewards.py +210 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_trace_issue.py +206 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_db_schema.py +49 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_latest_results.py +64 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/debug_agent_responses.py +88 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/quick_trace_check.py +77 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/compare_experiments.py +324 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_turso.py +580 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/kick_off_ft_oai.py +362 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/multi_model_config.toml +49 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_enhanced_hooks.py +332 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_events.py +97 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_results.py +217 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_hook_storage.py +87 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_seeds.py +88 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/compare_seed_performance.py +195 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/custom_eval_pipelines.py +400 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/plot_hook_frequency.py +195 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/seed_analysis_summary.py +56 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v3.py +858 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py +52 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py +874 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py +1412 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/example_v3_usage.py +216 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/compare_traces.py +296 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_comprehensive_evaluation.py +58 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_env_serialization.py +464 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_evaluation_browser.py +152 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_quick_evaluation.py +51 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_trace_evaluation.py +1412 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/debug_player_loss.py +112 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_service.py +203 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_slowness.py +305 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_by_difficulty.py +126 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_example.py +94 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/explore_saved_states.py +142 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft.py +26 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft_OLD.py +984 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_gemini.py +724 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_modal.py +386 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_metadata.py +205 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_gemini.py +150 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_modal.py +283 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/prepare_vertex_ft.py +280 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/profile_env_slowness.py +456 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/replicate_issue.py +166 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/run_and_eval.py +102 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/run_comparison.py +128 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/run_qwen_rollouts.py +655 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/trace_eval_OLD.py +202 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/old/validate_openai_format.py +166 -0
- synth_ai/environments/examples/crafter_classic/environment.py +41 -2
- synth_ai/environments/examples/crafter_custom/agent_demos/__init__.py +1 -0
- synth_ai/environments/examples/crafter_custom/agent_demos/trace_eval.py +202 -0
- synth_ai/environments/examples/crafter_custom/old/analyze_diamond_issue.py +159 -0
- synth_ai/environments/examples/crafter_custom/old/analyze_diamond_spawning.py +158 -0
- synth_ai/environments/examples/crafter_custom/old/compare_worlds.py +71 -0
- synth_ai/environments/examples/crafter_custom/old/dataset_stats.py +105 -0
- synth_ai/environments/examples/crafter_custom/old/diamond_spawning_summary.py +119 -0
- synth_ai/environments/examples/crafter_custom/old/example_dataset_usage.py +52 -0
- synth_ai/environments/examples/enron/units/keyword_stats.py +112 -0
- synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py +1188 -0
- synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py +48 -0
- synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py +562 -0
- synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py +221 -0
- synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py +981 -0
- synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py +74 -0
- synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py +831 -0
- synth_ai/environments/examples/red/agent_demos/__init__.py +1 -0
- synth_ai/environments/examples/red/units/__init__.py +1 -0
- synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py +899 -0
- synth_ai/environments/examples/sokoban/units/astar_common.py +95 -0
- synth_ai/environments/service/app.py +8 -0
- synth_ai/install_sqld.sh +40 -0
- synth_ai-0.2.5.dist-info/METADATA +106 -0
- {synth_ai-0.2.4.dev8.dist-info → synth_ai-0.2.5.dist-info}/RECORD +111 -12
- {synth_ai-0.2.4.dev8.dist-info → synth_ai-0.2.5.dist-info}/entry_points.txt +1 -0
- synth_ai-0.2.4.dev8.dist-info/METADATA +0 -635
- {synth_ai-0.2.4.dev8.dist-info → synth_ai-0.2.5.dist-info}/WHEEL +0 -0
- {synth_ai-0.2.4.dev8.dist-info → synth_ai-0.2.5.dist-info}/licenses/LICENSE +0 -0
- {synth_ai-0.2.4.dev8.dist-info → synth_ai-0.2.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"""
|
|
2
|
+
astar_common.py – one A* routine usable by both engine-level and
|
|
3
|
+
environment-level unit tests.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import heapq
|
|
7
|
+
import itertools
|
|
8
|
+
import json
|
|
9
|
+
from typing import Any, Awaitable, Callable, List, Tuple
|
|
10
|
+
|
|
11
|
+
import numpy as np
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# ---------- generic utilities ------------------------------------ #
|
|
15
|
+
def _boxes_left(env_pkg) -> int:
|
|
16
|
+
"""#targets – #boxes-on-targets (uses raw grids, never the counter)."""
|
|
17
|
+
return int(np.sum(env_pkg.room_fixed == 2) - np.sum(env_pkg.room_state == 3))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def solved(obj: Any) -> bool:
|
|
21
|
+
"""Expects obj to have a .package_sokoban_env attribute."""
|
|
22
|
+
return _boxes_left(obj.package_sokoban_env) == 0
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def heuristic(obj: Any) -> int:
|
|
26
|
+
"""Expects obj to have a .package_sokoban_env attribute."""
|
|
27
|
+
return _boxes_left(obj.package_sokoban_env)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# ---------- single reusable A* ----------------------------------- #
|
|
31
|
+
async def astar(
|
|
32
|
+
root_obj: Any,
|
|
33
|
+
step_fn: Callable[[Any, int], Awaitable[None]],
|
|
34
|
+
deserialize_fn: Callable[[Any], Awaitable[Any]],
|
|
35
|
+
max_nodes: int = 1000,
|
|
36
|
+
) -> List[int]:
|
|
37
|
+
"""
|
|
38
|
+
Generic A* over Sokoban snapshots.
|
|
39
|
+
|
|
40
|
+
• `root_obj` - current engine *or* environment
|
|
41
|
+
• `step_fn(obj, action)` - async: apply one move to *obj*
|
|
42
|
+
• `deserialize_fn(snapshot)` - async: new obj from snapshot
|
|
43
|
+
"""
|
|
44
|
+
start_snap = await root_obj._serialize_engine()
|
|
45
|
+
|
|
46
|
+
frontier: List[Tuple[int, int, Any, List[int]]] = []
|
|
47
|
+
counter = itertools.count()
|
|
48
|
+
frontier.append((heuristic(root_obj), next(counter), start_snap, []))
|
|
49
|
+
seen: set[str] = set()
|
|
50
|
+
|
|
51
|
+
nodes = 0
|
|
52
|
+
while frontier and nodes < max_nodes:
|
|
53
|
+
f, _, snap, path = heapq.heappop(frontier)
|
|
54
|
+
cur = await deserialize_fn(snap)
|
|
55
|
+
key = json.dumps(snap.engine_snapshot, sort_keys=True)
|
|
56
|
+
if key in seen:
|
|
57
|
+
continue
|
|
58
|
+
seen.add(key)
|
|
59
|
+
if solved(cur):
|
|
60
|
+
return path
|
|
61
|
+
|
|
62
|
+
nodes += 1
|
|
63
|
+
for action in range(cur.package_sokoban_env.action_space.n):
|
|
64
|
+
child = await deserialize_fn(snap) # fresh copy
|
|
65
|
+
try:
|
|
66
|
+
await step_fn(child, action)
|
|
67
|
+
except Exception: # illegal/off-board
|
|
68
|
+
continue
|
|
69
|
+
|
|
70
|
+
child_snap = await child._serialize_engine()
|
|
71
|
+
g = len(path) + 1
|
|
72
|
+
heapq.heappush(
|
|
73
|
+
frontier,
|
|
74
|
+
(g + heuristic(child), next(counter), child_snap, path + [action]),
|
|
75
|
+
)
|
|
76
|
+
return []
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
# convenience lambdas for the two concrete APIs
|
|
80
|
+
async def _engine_step(e, a): # `SokobanEngine`
|
|
81
|
+
await e._step_engine(a)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
async def _env_step(env, a): # `SokobanEnvironment` (expects Move wrapper)
|
|
85
|
+
from synth_ai.environments.examples.sokoban.units.test_sokoban_environment import Move
|
|
86
|
+
|
|
87
|
+
await env.step([[Move(a)]])
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
ENGINE_ASTAR = lambda eng, **kw: astar(eng, _engine_step, eng.__class__._deserialize_engine, **kw)
|
|
91
|
+
ENV_ASTAR = lambda env, **kw: astar(
|
|
92
|
+
env.engine, _env_step, env.engine.__class__._deserialize_engine, **kw
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
# ----------------------------------------------------------------- #
|
|
@@ -47,6 +47,14 @@ except Exception as _e:
|
|
|
47
47
|
# Keep service robust even if example env import fails
|
|
48
48
|
logging.getLogger(__name__).warning(f"Wordle env not registered: {_e}")
|
|
49
49
|
|
|
50
|
+
# Register Bandit example environment
|
|
51
|
+
try:
|
|
52
|
+
import synth_ai.environments.examples.bandit.environment as bandit_mod
|
|
53
|
+
|
|
54
|
+
register_environment("Bandit", bandit_mod.BanditEnvironment)
|
|
55
|
+
except Exception as _e:
|
|
56
|
+
logging.getLogger(__name__).warning(f"Bandit env not registered: {_e}")
|
|
57
|
+
|
|
50
58
|
app = FastAPI(title="Environment Service")
|
|
51
59
|
|
|
52
60
|
|
synth_ai/install_sqld.sh
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Install sqld binary for Synth AI
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
SQLD_VERSION="v0.26.2"
|
|
7
|
+
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
8
|
+
ARCH=$(uname -m)
|
|
9
|
+
|
|
10
|
+
# Map architecture names
|
|
11
|
+
case "$ARCH" in
|
|
12
|
+
x86_64) ARCH="x86_64" ;;
|
|
13
|
+
aarch64|arm64) ARCH="aarch64" ;;
|
|
14
|
+
*) echo "Unsupported architecture: $ARCH"; exit 1 ;;
|
|
15
|
+
esac
|
|
16
|
+
|
|
17
|
+
# Construct download URL
|
|
18
|
+
URL="https://github.com/tursodatabase/libsql/releases/download/libsql-server-${SQLD_VERSION}/sqld-${OS}-${ARCH}.tar.xz"
|
|
19
|
+
|
|
20
|
+
echo "📥 Downloading sqld ${SQLD_VERSION} for ${OS}-${ARCH}..."
|
|
21
|
+
|
|
22
|
+
# Download and extract
|
|
23
|
+
TMP_DIR=$(mktemp -d)
|
|
24
|
+
cd "$TMP_DIR"
|
|
25
|
+
curl -L -o sqld.tar.xz "$URL"
|
|
26
|
+
tar -xf sqld.tar.xz
|
|
27
|
+
|
|
28
|
+
# Install to user's local bin
|
|
29
|
+
mkdir -p ~/.local/bin
|
|
30
|
+
mv sqld ~/.local/bin/
|
|
31
|
+
chmod +x ~/.local/bin/sqld
|
|
32
|
+
|
|
33
|
+
# Clean up
|
|
34
|
+
cd -
|
|
35
|
+
rm -rf "$TMP_DIR"
|
|
36
|
+
|
|
37
|
+
echo "✅ sqld installed to ~/.local/bin/sqld"
|
|
38
|
+
echo ""
|
|
39
|
+
echo "🔧 Add ~/.local/bin to your PATH if needed:"
|
|
40
|
+
echo " export PATH=\"\$HOME/.local/bin:\$PATH\""
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: synth-ai
|
|
3
|
+
Version: 0.2.5
|
|
4
|
+
Summary: Software for aiding the best and multiplying the will - Core AI functionality and tracing
|
|
5
|
+
Author-email: Synth AI <josh@usesynth.ai>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/synth-laboratories/synth-ai
|
|
8
|
+
Project-URL: Repository, https://github.com/synth-laboratories/synth-ai
|
|
9
|
+
Project-URL: Issues, https://github.com/synth-laboratories/synth-ai/issues
|
|
10
|
+
Requires-Python: >=3.11
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: pydantic>=2.0.0
|
|
14
|
+
Requires-Dist: python-dotenv>=1.0.1
|
|
15
|
+
Requires-Dist: requests>=2.32.3
|
|
16
|
+
Requires-Dist: urllib3>=2.3.0
|
|
17
|
+
Requires-Dist: tqdm>=4.66.4
|
|
18
|
+
Requires-Dist: jsonschema>=4.23.0
|
|
19
|
+
Requires-Dist: backoff>=2.0.0
|
|
20
|
+
Requires-Dist: typing_extensions>=4.0.0
|
|
21
|
+
Requires-Dist: openai>=1.99.0
|
|
22
|
+
Requires-Dist: anthropic>=0.42.0
|
|
23
|
+
Requires-Dist: langfuse<3.0.0,>=2.53.9
|
|
24
|
+
Requires-Dist: opentelemetry-api<1.27.0,>=1.26.0
|
|
25
|
+
Requires-Dist: opentelemetry-sdk<1.27.0,>=1.26.0
|
|
26
|
+
Requires-Dist: diskcache>=5.6.3
|
|
27
|
+
Requires-Dist: groq>=0.30.0
|
|
28
|
+
Requires-Dist: google-genai>=1.26.0
|
|
29
|
+
Requires-Dist: together>=1.5.21
|
|
30
|
+
Requires-Dist: mistralai>=1.9.2
|
|
31
|
+
Requires-Dist: fastapi>=0.115.12
|
|
32
|
+
Requires-Dist: uvicorn>=0.34.2
|
|
33
|
+
Requires-Dist: numpy>=2.2.3
|
|
34
|
+
Requires-Dist: networkx>=3.4.2
|
|
35
|
+
Requires-Dist: redis>=6.2.0
|
|
36
|
+
Requires-Dist: duckdb>=1.0.0
|
|
37
|
+
Requires-Dist: pandas>=2.2.3
|
|
38
|
+
Requires-Dist: ty>=0.0.1a5
|
|
39
|
+
Requires-Dist: toml>=0.10.2
|
|
40
|
+
Requires-Dist: sqlalchemy>=2.0.42
|
|
41
|
+
Requires-Dist: aiosqlite>=0.21.0
|
|
42
|
+
Requires-Dist: greenlet>=3.2.3
|
|
43
|
+
Requires-Dist: libsql>=0.1.8
|
|
44
|
+
Requires-Dist: pynacl>=1.5.0
|
|
45
|
+
Requires-Dist: google-api-core>=2.25.1
|
|
46
|
+
Requires-Dist: google-generativeai>=0.8.5
|
|
47
|
+
Requires-Dist: crafter>=1.8.3
|
|
48
|
+
Requires-Dist: click>=8.1.0
|
|
49
|
+
Requires-Dist: textual>=1.1.0
|
|
50
|
+
Requires-Dist: openai-harmony>=0.0.1
|
|
51
|
+
Requires-Dist: asyncpg>=0.30.0
|
|
52
|
+
Requires-Dist: aiohttp>=3.8.0
|
|
53
|
+
Requires-Dist: datasets>=4.0.0
|
|
54
|
+
Requires-Dist: transformers>=4.56.1
|
|
55
|
+
Requires-Dist: modal>=1.1.4
|
|
56
|
+
Provides-Extra: dev
|
|
57
|
+
Requires-Dist: build>=1.2.2.post1; extra == "dev"
|
|
58
|
+
Requires-Dist: twine>=4.0.0; extra == "dev"
|
|
59
|
+
Requires-Dist: keyring>=24.0.0; extra == "dev"
|
|
60
|
+
Requires-Dist: pytest>=8.3.3; extra == "dev"
|
|
61
|
+
Requires-Dist: pytest-asyncio>=0.24.0; extra == "dev"
|
|
62
|
+
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
63
|
+
Requires-Dist: pyright>=1.1.350; extra == "dev"
|
|
64
|
+
Requires-Dist: coverage[toml]>=7.3.0; extra == "dev"
|
|
65
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
66
|
+
Provides-Extra: research
|
|
67
|
+
Requires-Dist: crafter>=1.8.3; extra == "research"
|
|
68
|
+
Requires-Dist: datasets>=4.0.0; extra == "research"
|
|
69
|
+
Provides-Extra: all
|
|
70
|
+
Requires-Dist: crafter>=1.8.3; extra == "all"
|
|
71
|
+
Requires-Dist: datasets>=4.0.0; extra == "all"
|
|
72
|
+
Dynamic: license-file
|
|
73
|
+
|
|
74
|
+
# Synth-AI
|
|
75
|
+
|
|
76
|
+
[](https://www.python.org/)
|
|
77
|
+
[](LICENSE)
|
|
78
|
+
[](https://pypi.org/project/synth-ai/)
|
|
79
|
+

|
|
80
|
+

|
|
81
|
+
|
|
82
|
+
Docs: [Synth‑AI Documentation](https://docs.usesynth.ai/synth-ai/introduction)
|
|
83
|
+
|
|
84
|
+
Fast and effective reinforcement learning for agents, via an API
|
|
85
|
+
|
|
86
|
+
## Highlights
|
|
87
|
+
|
|
88
|
+
- Easily scale gpu topologies - train on 3 a10gs or 8 H100s (multi-node available upon request)
|
|
89
|
+
- Requires only a thin fastapi wrapper to integrate with existing agent software.
|
|
90
|
+
- Supports the best OSS models like Qwen3. (gpt-oss available upon request, GA soon)
|
|
91
|
+
- Own your trained models
|
|
92
|
+
|
|
93
|
+
## Getting Started
|
|
94
|
+
|
|
95
|
+
synth-ai comes with a built-in RL example tailored for training Qwen/Qwen3-0.6B to succeed at Math.
|
|
96
|
+
|
|
97
|
+
Please create an account at [Synth](https://usesynth.ai) and [Modal](https://modal.com) for the Math hello‑world test run. Then run:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
uvx synth-ai rl_demo check
|
|
101
|
+
uvx synth-ai rl_demo deploy
|
|
102
|
+
uvx synth-ai rl_demo configure
|
|
103
|
+
uvx synth-ai rl_demo run
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
To walk through kicking off your first RL run, see the [Synth‑AI Documentation](https://docs.usesynth.ai/synth-ai/introduction).
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
synth_ai/__init__.py,sha256=
|
|
1
|
+
synth_ai/__init__.py,sha256=7l4obY2aQlcZEIxfKJqXCMOhfgdRzoWsG4f5KxJcbSs,1349
|
|
2
2
|
synth_ai/__main__.py,sha256=Kh1xBKkTE5Vs2qNMtDuuOXerHUptMcOiF3YziOpC6DA,146
|
|
3
3
|
synth_ai/http.py,sha256=aKIGsGwMBi7S0Tg57Q1Nxdoxjh2sn9xzNziLYhfSA3c,4427
|
|
4
|
-
synth_ai/
|
|
4
|
+
synth_ai/install_sqld.sh,sha256=AMBhlfq661PxeTTc6D4K_Nei_qwMvA84ei4NhQzmUUk,928
|
|
5
|
+
synth_ai/cli/__init__.py,sha256=ThBK5FykxAqX8Mz0E4gj94_PX9EwMEtXcmm-A8krv7E,1559
|
|
5
6
|
synth_ai/cli/balance.py,sha256=dlxGKCZ2kDeuHMZ5m8n5SHRWW-2CIWs3JcY5xpnWRVA,7798
|
|
6
7
|
synth_ai/cli/calc.py,sha256=RJyQJ41e02xn-V0vRRCAVkL59UHDqyz8XpYGsenfdm4,2085
|
|
7
|
-
synth_ai/cli/demo.py,sha256=
|
|
8
|
+
synth_ai/cli/demo.py,sha256=GNVBxVtscxfAITFObyTOK8XPP2WGb-pv9LL4CiV_g6Q,4843
|
|
8
9
|
synth_ai/cli/legacy_root_backup.py,sha256=KSMADyJ2g5OVpsq_CeBzqIeDC2Um-9GyINzsJH-75uw,15872
|
|
9
10
|
synth_ai/cli/man.py,sha256=JQDon73ZkuKP9xr1_vRh5fjV9_b5xiUb7zNjny7ArB8,3765
|
|
10
11
|
synth_ai/cli/recent.py,sha256=mHhM-QrR_MfjfKSzBvvPUEC-lkXTWUZrQwqYTmb2x0Y,4173
|
|
11
|
-
synth_ai/cli/
|
|
12
|
+
synth_ai/cli/rl_demo.py,sha256=78GRff4kwi2RImwI5KjSMGXIfgoKR3Ckfc_EU0GZI8k,5349
|
|
13
|
+
synth_ai/cli/root.py,sha256=YAr7H2WYfnRt6_yxLix9O01-UnSy7OtYBVyNy4l5xIo,9614
|
|
12
14
|
synth_ai/cli/status.py,sha256=M_bt7U58Ubi-q-ZlrIpgCASKq9_k6uMjpx926f6kLLA,4591
|
|
13
15
|
synth_ai/cli/traces.py,sha256=_QBdCR92u0Gv51U4DH0Ws1d5yCrbJRpaYKe7pmcHrHs,6484
|
|
14
16
|
synth_ai/cli/watch.py,sha256=HBKbAcpUkkPhGvsPRofckbu8oILiVqp35NXHkIEpTTc,17808
|
|
@@ -16,6 +18,15 @@ synth_ai/compound/cais.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
16
18
|
synth_ai/config/base_url.py,sha256=Bk7Bd9jKJP-LF0SW--WE01JhMfvOB6NUkFMRgPMnJuQ,3101
|
|
17
19
|
synth_ai/core/experiment.py,sha256=hLkPtzUFA7iY3-QpeJ5K8YjvQeyfqnjab5P2CFaojys,236
|
|
18
20
|
synth_ai/core/system.py,sha256=s-Z7np2ISYmYc1r9YN-y2yb3cgRlOalrh0iaqnxeo84,206
|
|
21
|
+
synth_ai/demos/core/__init__.py,sha256=A2FjhY7KXGtyzdQXqeTPCkEhHfrH-eQg6bvP8HaYhZM,36
|
|
22
|
+
synth_ai/demos/core/cli.py,sha256=MAZ_gFdJriYPp0v8jiNGHM13Pl4OkI4Ue5CVYYMz3Q8,28795
|
|
23
|
+
synth_ai/demos/demo_task_apps/__init__.py,sha256=8aUGEGpWUw11GRb3wQXRAmQ99yjAt5qd5FCTDJpXWjI,44
|
|
24
|
+
synth_ai/demos/demo_task_apps/core.py,sha256=3-C2dGdaqVqrVjnsxU2n6kGcuaprwuszBcTHePBypwo,13580
|
|
25
|
+
synth_ai/demos/demo_task_apps/math/__init__.py,sha256=WBzpZwSn7pRarBmhopQi34i9bEm05-71eM3siboOavY,43
|
|
26
|
+
synth_ai/demos/demo_task_apps/math/app.py,sha256=gNopoAhwM0vzdKuCa7AwQqSwiV2xagrjMxMH9YIniv4,1160
|
|
27
|
+
synth_ai/demos/demo_task_apps/math/config.toml,sha256=atyeLq8tJsm4BST2NwlKUMum5D_gxEAWBqYsQGLQimI,757
|
|
28
|
+
synth_ai/demos/demo_task_apps/math/deploy_modal.py,sha256=O4745sFuGEZTsygl-mz6ZOFJ7mog8CquXMgMyjFKr_c,2288
|
|
29
|
+
synth_ai/demos/demo_task_apps/math/deploy_task_app.sh,sha256=qVffbAmsiCAxzFDzcxNVF4f7yyLWnmqPc1cNydHT5BQ,791
|
|
19
30
|
synth_ai/environments/__init__.py,sha256=BQW0Nc_BFQq_N-pcqTyJVjW56kSEXu7XZyaSer-U95Q,1032
|
|
20
31
|
synth_ai/environments/environment/__init__.py,sha256=EBol9AKxPTIPXWcbH9Tja-l3yL-N2kB8e5atyf6F66c,31
|
|
21
32
|
synth_ai/environments/environment/core.py,sha256=0jd0CZ88_s_qqA3d1lOgVsnv-ucw_1lJDAIUj1gTSt0,2201
|
|
@@ -31,22 +42,92 @@ synth_ai/environments/environment/rewards/__init__.py,sha256=5TpSHuCNeRy0W5N55IT
|
|
|
31
42
|
synth_ai/environments/environment/rewards/core.py,sha256=Iu5MKInKW1LGZ1vb3oc_qmsL3ZQvXxZFMnFffJ_M9BI,883
|
|
32
43
|
synth_ai/environments/environment/tools/__init__.py,sha256=ew_9CkNnt4t6nh_wjXa4BudWHhALVUbTycQsdUtAg-4,6900
|
|
33
44
|
synth_ai/environments/examples/__init__.py,sha256=POgz9O4n1tvPAW1rYNUNeQGrMlWxoPDmyht85o5Po0s,38
|
|
45
|
+
synth_ai/environments/examples/bandit/__init__.py,sha256=gn_EP6oi33BQ3gIjf4aiyEXEklbPld7n7rpx0JoApT0,827
|
|
46
|
+
synth_ai/environments/examples/bandit/engine.py,sha256=j1uL1rqYqwCtmCJOgJCCddm9J_HPwwMuxuznck5V5_Y,11568
|
|
47
|
+
synth_ai/environments/examples/bandit/environment.py,sha256=15KufC8f8yAWnSXb7XL7zA01lVE8x-tzKmNK3oOIR8c,7419
|
|
48
|
+
synth_ai/environments/examples/bandit/taskset.py,sha256=L18RU9c5X_rXI-8scpJq1dEhQlrcTyCfr2pjlZWt9Kw,6775
|
|
34
49
|
synth_ai/environments/examples/crafter_classic/__init__.py,sha256=8g6e991LpiUOkj3avOJo8qBbFiD7XSvrXb44ci98JRc,270
|
|
35
50
|
synth_ai/environments/examples/crafter_classic/config_logging.py,sha256=Eqq35s0lPAmBiU0neZM6vmHPct15gp9TwS3vogrNziM,3794
|
|
36
51
|
synth_ai/environments/examples/crafter_classic/debug_translation.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
52
|
synth_ai/environments/examples/crafter_classic/engine.py,sha256=i13hDJe-6BXWFqXAsdjNCrfjU_HpwWLE5-4KNT-VSbs,25257
|
|
38
53
|
synth_ai/environments/examples/crafter_classic/engine_deterministic_patch.py,sha256=IMmqt0S9wh0sdP42G_Q6W_2j22gKX4YQZVvuIqLzLWc,2802
|
|
39
54
|
synth_ai/environments/examples/crafter_classic/engine_serialization_patch_v3.py,sha256=oC1y_CdnB_xit4FH72dMo8ljlZW_Mpa3cMpbDVCtqyU,11127
|
|
40
|
-
synth_ai/environments/examples/crafter_classic/environment.py,sha256=
|
|
55
|
+
synth_ai/environments/examples/crafter_classic/environment.py,sha256=dFJ4yup3TVWENHNi4_5pz3i-0Etmop5sdFMIECBhbKI,18950
|
|
41
56
|
synth_ai/environments/examples/crafter_classic/taskset.py,sha256=9uZpQOllUqMupIBwlz2Jv38hBYqY09czi1LOonCTk5c,9843
|
|
42
57
|
synth_ai/environments/examples/crafter_classic/trace_hooks_v3.py,sha256=lka-3tNuYsvYQ6acEvJjvBPkylbqgCzuCd2QMOjNCRs,7194
|
|
43
58
|
synth_ai/environments/examples/crafter_classic/world_config_patch_simple.py,sha256=wHT2pyOJ55Jlh9iq-UND4cd-GQdyKxQmo9ncCuQ_Jiw,10166
|
|
59
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/analyze_semantic_words_markdown.py,sha256=yLW0lX3vqkhN3CsdpHMKL3rIxuglbGx2Q3_xkqy_NBQ,9151
|
|
60
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_comprehensive_evaluation.py,sha256=bAOMzobuAtpNrejkaNBZ8SYKxdkPHQPaaTx7KTqTC0E,1657
|
|
61
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_browser.py,sha256=UO5pP5xK91l_WuP9LfSsVK5wi_hJ4n-ekRvuMGv4MVw,4822
|
|
62
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_config.toml,sha256=U99N2PYZCmKT3-A2YmApRmgxJ4pjEhN8uyZ0ySm4Wbo,460
|
|
63
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_evaluation_framework.py,sha256=aE0JQIgCEl4-ZZqIaPwTCD-byY25Iaigf8wR0DCU-hE,47695
|
|
64
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_quick_evaluation.py,sha256=oXB463hrxRDD-L83ncIdzVQRHk3rD7Q9CIPEe6U6qic,1460
|
|
65
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_react_agent.py,sha256=swHkJdDh_PnXGoXn7OmgK7v3h0Wlx-9xFeuxJzhCGuw,34455
|
|
66
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py,sha256=TIB4SsjJTtwvZj7N1YUYe11Vctznag00u0PKqGC073M,46735
|
|
67
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/example_v3_usage.py,sha256=V0S6U_D9b-VVYkrCblylv3usA4ouV9YL3blki6vc1fs,6916
|
|
68
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/crafter_synth_config.toml,sha256=xUAL54kT5ThnZPmMQI0eGWXoVe8Gn1_imnB0-DMOlo4,1104
|
|
69
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_config_modal.toml,sha256=Hws5eQUBSG00w825BgBgQDrUeuOq2KXwUsnDrkOC-2g,748
|
|
70
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_turso.py,sha256=TECpDH6a33Wk6ThsBpWSWsnl952OSxUFZmGvrU_rprg,27192
|
|
71
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/kick_off_ft_modal.py,sha256=6NXSzpAXsKw3-NdKvZXCtXFA-9tZFHOlN2QVksygHFY,15284
|
|
72
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_action_results.py,sha256=6n2xKD8VBFn5EKrtFNYQgR9nSxfK6jcpavrGnUgi4Eo,1550
|
|
73
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_agent_actions.py,sha256=eUoPNPE2hMUhDTOkYJyLWeJCOrpQfEc5GtcgedUczKk,6302
|
|
74
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_latest_run.py,sha256=tyvqPirMsLTHS0PwONv5Xaogc8hrQb7uSyjcTfk5hZk,8922
|
|
75
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_lm_traces.py,sha256=uZllwyxURfZhwv9J27hRYwp2fWEH7VISjP4KErCHHk4,6261
|
|
76
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_no_rewards.py,sha256=TOaviC_zxAHFVOd22KR6uXJDVdehGQcku7jba3c7q8I,8175
|
|
77
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/analyze_trace_issue.py,sha256=saeqCuAxMu4dcJwBQYWJrSQc3txbZ2AzQ4VZSxgtjLw,7215
|
|
78
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_db_schema.py,sha256=Ytab8HoDGFLaVhAmsFAyw_9bTgEqi6s9RgAU-xAlvdc,1698
|
|
79
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/check_latest_results.py,sha256=uuqTStue3won-IrHR8z0ryUaPXrf4kBAm-FLuFdTyj8,2175
|
|
80
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/debug_agent_responses.py,sha256=ycKHiX4FJiu0l1Sc__I4dQBMkSPLwdiguGN9m2MFJfw,3214
|
|
81
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/old/quick_trace_check.py,sha256=VtMhfmvdJUx0xyDKTVTz-S7CwphaBC_z-UjTv2VeTn8,2652
|
|
82
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/compare_experiments.py,sha256=6bS9hJdPiGkpx-JM6aS6YcjUlkliCQdDLJZ8RwJqzL4,11446
|
|
83
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_turso.py,sha256=gc-KO7FgiY1bNeZfM63cfdJJKSiosUQ0GeZlkPbuyqU,21015
|
|
84
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/kick_off_ft_oai.py,sha256=E4Obn9k7JiXkqyPHvzmnkmSUqNWBvcXOhYnR5JAz72k,13521
|
|
85
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/multi_model_config.toml,sha256=_7KIJo1TPwN0wia_TfJYX1azav56YEZxVyTp2vC3Dt4,1063
|
|
86
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v3.py,sha256=7Lq92rpMLkfYqlg6M14k6YMCJ-fw9LrCD4SNo8fVl5E,38439
|
|
87
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_enhanced_hooks.py,sha256=vbyJZ-YonMXLrSFegQ1JZIYRPza6BLvCqQmFzAQuu64,12387
|
|
88
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_events.py,sha256=Jdmm3N6nPBjbwn0PkHb-YKY32_sS6YIKC6qz2WgCicw,3401
|
|
89
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/analyze_hook_results.py,sha256=UCV_XZt2xmUdLM0x5pg_fw2lZGcwep86mRbMwJeD31o,8816
|
|
90
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_hook_storage.py,sha256=cmfYUGuM6ArYVxCR1himSJ7yHeomUNXDMgsY6sJ0x5M,2982
|
|
91
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/check_seeds.py,sha256=AFCeOvHVqCFT0dpICRDr1DIZrSOYlH-Ix8xEbd7Nzic,3382
|
|
92
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/compare_seed_performance.py,sha256=464ZK4uGqpl8cGGEM48IoMTmo4KO4DxGzxHPUPH58xk,8091
|
|
93
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/custom_eval_pipelines.py,sha256=APgU6iSmXkEYOq0EeT35mL1d1RUZp1flzbG9MdeB9rw,15991
|
|
94
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/plot_hook_frequency.py,sha256=4MMeye3tzB9-cFjJw2ToxvJ4AMXj4yfWZjYGCIqgzig,7483
|
|
95
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/old/seed_analysis_summary.py,sha256=XmwDeBt_kVcaQ9ydnS67b_tc7l_9rXqY0cUH7pGUTKw,3024
|
|
96
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/compare_traces.py,sha256=MKGWuhcF-PbxCCw9EUVVADnz9-5uNAYk-Eas_rK6WdY,11348
|
|
97
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_comprehensive_evaluation.py,sha256=ETfejFeIX-Bx0g-V3GAoikJMiUr9XKS1CAzpsyA0Bgs,1656
|
|
98
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_env_serialization.py,sha256=XsdyiAeH3UHUZPAki1tt1LQHXZN_8IR1t_np9APqLPg,17609
|
|
99
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_evaluation_browser.py,sha256=jftMYMvnZ0fbi8C5Thy7dT5SgsM6jqnxVzG_cmqIL5E,4817
|
|
100
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_quick_evaluation.py,sha256=rVfNtcgvJwPmYFFIfHhptsSbgKYlcTKhdFkvNkJoxyQ,1459
|
|
101
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/crafter_trace_evaluation.py,sha256=ig8_pJcDUeIqMKTurnv5-4KfhSPewWxJ1tF8J9nhyEo,46735
|
|
102
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/debug_player_loss.py,sha256=cbSJWfVMjn6I-6Z7cM3-dF7pSxa2LU-MRdhSrEHtMDo,4045
|
|
103
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_service.py,sha256=o-Pl4wgc2t49oJVILTYqTxmYDW9_HPyv0EOLHbCT0F0,9037
|
|
104
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/diagnose_slowness.py,sha256=VhxJJwvQH3qO0HJa01G-C80HGLS7vWDIP2AsBF7yoYk,11671
|
|
105
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_by_difficulty.py,sha256=HaErCiVb26k5YceZw8cTg_Il5NFMtU7DVKdMsipX8s4,5245
|
|
106
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/eval_example.py,sha256=tD50s3OgzhimnpHXS6x5HvHkIj9uHXWhxbTEmG-pH3k,3523
|
|
107
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/explore_saved_states.py,sha256=JxZxz_fE3YzfRJ23yWjqIsVfd4cLXZ1caY6p9i4QS2w,5174
|
|
108
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft.py,sha256=sVnjLoKV3VBgSu9jOMBm8jTEYFUaaBxiKDkCqf01YTY,1005
|
|
109
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/filter_traces_sft_OLD.py,sha256=DFlScN__3GgNtzaeeXHz8eFzwnJmdQYemEFNoE4-EPI,40754
|
|
110
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_gemini.py,sha256=hMv8MSdqwSmbH_sdLLQukGOJ0YHtbJ43xtSD7theVs8,27809
|
|
111
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_data_modal.py,sha256=mhNrVw0gmez4-DSStpb8GVjyE1aD8SNX1gndR9lUC60,14171
|
|
112
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/generate_ft_metadata.py,sha256=UTobyTuzoI0XupmxOzfDXuqs_skz7g85jDeNKl8EumM,8162
|
|
113
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_gemini.py,sha256=foBEAnBkWIKgXnj81MBi7bIXGDFWnc8R_bJcKigvnsE,5506
|
|
114
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/kick_off_ft_modal.py,sha256=zZsTQE_Eyzqf2GVGouczJP0y-xs6YH_J-7eDvfpkT7k,10320
|
|
115
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/prepare_vertex_ft.py,sha256=qctIj6ISDykFgUSEKVVaBUFfmq23N9tYCSrga4VMpC4,10715
|
|
116
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/profile_env_slowness.py,sha256=x4ktCp0A-kisvy3RvMQSoK1yadggJOqjEMMhvIDxwHI,18433
|
|
117
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/replicate_issue.py,sha256=OuPHpx2w16tBLxV1BTsyk4YVzA9FXF5x0sFgHHo92KE,6251
|
|
118
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/run_and_eval.py,sha256=rKti-G8rZWUprqaKAj8bt6xKm1Es46dv3L9HW1Kn8EA,3294
|
|
119
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/run_comparison.py,sha256=j-lWm8fyCcx1OgtBY7EGjIHpVuTZVHCoMG53HJume0I,4541
|
|
120
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/run_qwen_rollouts.py,sha256=wSHjy0ng7CkIYWkUGXi3KUL_DwdH6cHiFiDSQ11xkvY,24291
|
|
121
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/trace_eval_OLD.py,sha256=U0GdxlPVg2ljRHY_UVHBGk2cnQF3PpZIjKSL39jeI0o,7127
|
|
122
|
+
synth_ai/environments/examples/crafter_classic/agent_demos/old/validate_openai_format.py,sha256=yzBmVi4FXDjRK8R00rTyKCXkyzBk5gZca_Jw1ie9yZg,7466
|
|
44
123
|
synth_ai/environments/examples/crafter_classic/engine_helpers/action_map.py,sha256=hSjplDgu-m7bbpd1uuZq7n5mejBp6vylEru6xPHooJI,230
|
|
45
124
|
synth_ai/environments/examples/crafter_classic/engine_helpers/serialization.py,sha256=7M8_FJsCAEzBTbdur0LRGiBAl2V4J3kFLORn6bB2t2s,2243
|
|
46
125
|
synth_ai/environments/examples/crafter_custom/__init__.py,sha256=139ewayoaO3Oxr-vG-1hxI89urYr1Dsy35JEeJEdvj0,190
|
|
47
126
|
synth_ai/environments/examples/crafter_custom/dataset_builder.py,sha256=9rG98Z7JoStsJdNqbb5yxEu5__41h-4mg8b1VUGATvk,12956
|
|
48
127
|
synth_ai/environments/examples/crafter_custom/environment.py,sha256=O5rOusbe1Ce4VMCNBNWhVzN0kMJnAuokHLRVyzgeeGM,14784
|
|
49
128
|
synth_ai/environments/examples/crafter_custom/run_dataset.py,sha256=SSPQ4puh55grB9xjqP-yt3LZF7ihW_sorTN3txgolpo,9959
|
|
129
|
+
synth_ai/environments/examples/crafter_custom/agent_demos/__init__.py,sha256=IiyZdN_DdRxej8kqTeZ3ko5HbqjUY56BlnkatI5KZe4,59
|
|
130
|
+
synth_ai/environments/examples/crafter_custom/agent_demos/trace_eval.py,sha256=n9ssT5kHAYrZqOSgpPmfq_YkPanF8PkbRzm4It_x-LI,7127
|
|
50
131
|
synth_ai/environments/examples/crafter_custom/crafter/__init__.py,sha256=IwsX9FySJrnMXEVsHpEb-SxcYbohTMG5IOVUIsUUjSI,235
|
|
51
132
|
synth_ai/environments/examples/crafter_custom/crafter/config.py,sha256=maislluS06yuiry18rOedmiFpczw8EPFiC-45ZULiuI,5542
|
|
52
133
|
synth_ai/environments/examples/crafter_custom/crafter/constants.py,sha256=ZAHy89ZCWyLGzP1sQqlHHqGIMuIHqgsYWy7usD3ODB8,218
|
|
@@ -55,23 +136,37 @@ synth_ai/environments/examples/crafter_custom/crafter/env.py,sha256=y14Y7i53vjCC
|
|
|
55
136
|
synth_ai/environments/examples/crafter_custom/crafter/objects.py,sha256=8CMOwh5n2jfit-aqs-CJbf-lYMD71NOtc2mupVoz-tI,13009
|
|
56
137
|
synth_ai/environments/examples/crafter_custom/crafter/recorder.py,sha256=NcqecXkU8S5pJ4vE89KcZPIO8SknkKuV1AookEvQ2Gw,5898
|
|
57
138
|
synth_ai/environments/examples/crafter_custom/crafter/worldgen.py,sha256=m1lV-lTYVNkC5deVQrr3eb8iYr4LJVdRfrVH2jYe9F8,4115
|
|
139
|
+
synth_ai/environments/examples/crafter_custom/old/analyze_diamond_issue.py,sha256=yYgT1uUc4XQCGttnpCa4BOfFTGA3unFRAWal7AAgRy4,6288
|
|
140
|
+
synth_ai/environments/examples/crafter_custom/old/analyze_diamond_spawning.py,sha256=Xf0BKbxGiVWfObDsq6L51iN8tneDZeqXXeInLVFBGE8,7128
|
|
141
|
+
synth_ai/environments/examples/crafter_custom/old/compare_worlds.py,sha256=7D1GOrE0vrt8EuyU03hdosXNuzZVKmmyRQq9UFp-bOs,2327
|
|
142
|
+
synth_ai/environments/examples/crafter_custom/old/dataset_stats.py,sha256=c4Y-074cmMP98ybr_Aeme5yu-BybVMqtQmmaQF2oqvg,3584
|
|
143
|
+
synth_ai/environments/examples/crafter_custom/old/diamond_spawning_summary.py,sha256=YoyK_rhwGd7ONIQb8iot_Tz5KFsyGwtLMt3mxkS74dY,4558
|
|
144
|
+
synth_ai/environments/examples/crafter_custom/old/example_dataset_usage.py,sha256=p82QGjKiY5_wFscXybcc8prlWdHdQajJE2Ni65CSTxY,1296
|
|
58
145
|
synth_ai/environments/examples/enron/engine.py,sha256=kmyE3See-NPxs3XKz7HV7XL9IoH4YTxFvPrAz9MYY1M,11702
|
|
59
146
|
synth_ai/environments/examples/enron/environment.py,sha256=s3g8zAn6qS5d_shcz8pl8J903eWa0KFw04j3Wury4NE,5986
|
|
60
147
|
synth_ai/environments/examples/enron/taskset.py,sha256=KQBQMclCh24jSCBLbxsWDn7BveT1RlnEUDErm5AW57I,3171
|
|
61
148
|
synth_ai/environments/examples/enron/art_helpers/email_search_tools.py,sha256=bDiuxp8W5ZZEtM1vn1n0B0qxqBEqCwMwYDGHy93rBiQ,5545
|
|
62
149
|
synth_ai/environments/examples/enron/art_helpers/local_email_db.py,sha256=h3Q44pKs5pnz_on66bIFVhL4Ma5chdKzCDST_oYSQWA,9985
|
|
63
150
|
synth_ai/environments/examples/enron/art_helpers/types_enron.py,sha256=ZMpkH5bLmaCcm3OL_6FxzQxrgY9QI82LhC-W-a6T25o,734
|
|
151
|
+
synth_ai/environments/examples/enron/units/keyword_stats.py,sha256=MwB8toyTpwxu86AODyFdalUbsxFzXoonpnnu8jt-oSM,3084
|
|
64
152
|
synth_ai/environments/examples/minigrid/__init__.py,sha256=e7cd6mAcSiPbxtpVyDAGW9CE_sILNNF-BW8c2sJcSUc,1328
|
|
65
153
|
synth_ai/environments/examples/minigrid/engine.py,sha256=-PokRGnbzQarpF2mPfVW49auU7X_MMOyV1cGNmJA_Ng,22061
|
|
66
154
|
synth_ai/environments/examples/minigrid/environment.py,sha256=sRmxb4Ntm8B6ngzyQZTmQ9PR5KvXI4TzbKEBWrDIi5k,10490
|
|
67
155
|
synth_ai/environments/examples/minigrid/environment_mapping.py,sha256=N0JJ4Ako-sX-89nE9vCbPQIzVuhGpyy309Y_y7osNiA,7019
|
|
68
156
|
synth_ai/environments/examples/minigrid/puzzle_loader.py,sha256=fjLqZ_WW2Oc5F1zQM6SRS98pT2Tf04O3tkjFzI-svmc,14656
|
|
69
157
|
synth_ai/environments/examples/minigrid/taskset.py,sha256=k0XiC9bBV5te3NJpiMXUShBJ200X40zFDIQxv9EsOio,21305
|
|
158
|
+
synth_ai/environments/examples/minigrid/agent_demos/minigrid_evaluation_framework.py,sha256=r1r0K0uyZqNaByxB3osb9HhSYJ7vqMm6pooqITaMgZw,46597
|
|
159
|
+
synth_ai/environments/examples/minigrid/agent_demos/minigrid_quick_evaluation.py,sha256=GmPMhhmwbTeER7ywLY9IUOFmixoJdtxgaqm1QLblXx0,1478
|
|
160
|
+
synth_ai/environments/examples/minigrid/agent_demos/minigrid_react_agent.py,sha256=-W6-pUmpLwhxCrS2cA2g_UEWjrBultsBC5YZLUafkr0,20021
|
|
161
|
+
synth_ai/environments/examples/minigrid/agent_demos/minigrid_trace_evaluation.py,sha256=Y6NH7u6GWE25xfX6fNSUnwT1rZL_5EnojMw_xk74AS0,6989
|
|
70
162
|
synth_ai/environments/examples/nethack/__init__.py,sha256=viygo8pTUB891fGm_tb38s5thNcr17bLFffQdDOfiQ0,266
|
|
71
163
|
synth_ai/environments/examples/nethack/achievements.py,sha256=YKSYGPXSTva0hwI5Vom0qVEB5DX9rfSbVFUOSnSTTYA,12443
|
|
72
164
|
synth_ai/environments/examples/nethack/engine.py,sha256=7DPUA6w06vXrBpo_uqSZbm5IPxligXg0w_KbTDHy3y8,29957
|
|
73
165
|
synth_ai/environments/examples/nethack/environment.py,sha256=FBgjN2MxEoWrsKGBaNyx4NnU4v2_9YBhiffbY43LD1c,10042
|
|
74
166
|
synth_ai/environments/examples/nethack/taskset.py,sha256=VuRW1hGqtGycBYA6IDPLmr8Pevqg_-Ly-IM4b6vsFYk,11339
|
|
167
|
+
synth_ai/environments/examples/nethack/agent_demos/nethack_evaluation_framework.py,sha256=YDovgJWS132dTOwQzfvJbQBYwJfd3a3nq4Pt02tatIE,38865
|
|
168
|
+
synth_ai/environments/examples/nethack/agent_demos/nethack_quick_evaluation.py,sha256=NY2pS27eto66YiVxXlVZMIjHelXtA5KD5LHyhcPVg2o,1992
|
|
169
|
+
synth_ai/environments/examples/nethack/agent_demos/nethack_react_agent.py,sha256=33z5BkGJwW282ti5yVqYA9PyFwVsQ_hm8fG-91Z93s4,34363
|
|
75
170
|
synth_ai/environments/examples/nethack/helpers/__init__.py,sha256=dvKHaTSS_zn2zLM09TvJsPotiwXgfYr_TiqLw1vAmAg,958
|
|
76
171
|
synth_ai/environments/examples/nethack/helpers/action_mapping.py,sha256=IzBWMxUHhYWf4a6sfH5gmSXb9OGCEFjKNTmWGcm0le0,9133
|
|
77
172
|
synth_ai/environments/examples/nethack/helpers/nle_wrapper.py,sha256=9EYtTXK8ITe9p871nuZ2P5Ua29cFChyPzO7g5R6_SZ8,15142
|
|
@@ -85,6 +180,7 @@ synth_ai/environments/examples/red/config_logging.py,sha256=jVjehrms140gnJ1aAaXK
|
|
|
85
180
|
synth_ai/environments/examples/red/engine.py,sha256=R8uVkQyd9VQe7LdIBzQjcRPRAhHsP3BW3iKwJfci73E,23836
|
|
86
181
|
synth_ai/environments/examples/red/environment.py,sha256=lhEYlWjmSGKZFfdD4_g0oA_E8VAFc_6ppyPXnL-JEao,9364
|
|
87
182
|
synth_ai/environments/examples/red/taskset.py,sha256=B7TjNjBscUDeWEXmNjJxvoNSGbwNzRqaxS0XUiOYgXg,2827
|
|
183
|
+
synth_ai/environments/examples/red/agent_demos/__init__.py,sha256=sz-ozQldJ4M1Fn0Qrxct63Ru3DyRNj5v3_n9Mtk-Awk,42
|
|
88
184
|
synth_ai/environments/examples/red/engine_helpers/__init__.py,sha256=YyNOk0TMWA_CI_EakcTMjbLJpkFKKRhJfVe792w-CXE,33
|
|
89
185
|
synth_ai/environments/examples/red/engine_helpers/memory_map.py,sha256=jOsBYaYYxUy2tz3L2pCoj7Y_3UdrViw6vNYdgbEZFDk,1193
|
|
90
186
|
synth_ai/environments/examples/red/engine_helpers/reward_components.py,sha256=zueBbdnERtim8LjgsGsSglowgqCx66F01NegHYqAscQ,9356
|
|
@@ -102,12 +198,14 @@ synth_ai/environments/examples/red/engine_helpers/reward_library/pallet_town_rew
|
|
|
102
198
|
synth_ai/environments/examples/red/engine_helpers/reward_library/pokemon_rewards.py,sha256=0WtJcdWtcjHD7Zk678KGZExZSlhd6nSmJ1JFzEYRe4o,10861
|
|
103
199
|
synth_ai/environments/examples/red/engine_helpers/reward_library/social_rewards.py,sha256=MjocMamUzUue6EgwGl1dd9nIUqA67mm1LgNN4L27p_c,5676
|
|
104
200
|
synth_ai/environments/examples/red/engine_helpers/reward_library/story_rewards.py,sha256=WOq39UtC7e0cTBQj88TIHwI6KatmR6UxhOKuJSS4SXI,8465
|
|
201
|
+
synth_ai/environments/examples/red/units/__init__.py,sha256=W-M8LkGSsM_OvQicjUOi5358XVY6E5CvuVhZVQ4JiTQ,41
|
|
105
202
|
synth_ai/environments/examples/sokoban/__init__.py,sha256=Y5MpHrvlI9s5gEwlAJ0FM08bZpyC4QdnGWaTCyPQas8,35
|
|
106
203
|
synth_ai/environments/examples/sokoban/engine.py,sha256=e3jFsbrm3nr1u90aa3hXiCFoMs9dcyAq4xjRZWv2cA4,26354
|
|
107
204
|
synth_ai/environments/examples/sokoban/environment.py,sha256=Owy7ppk8X3FJoX2rIB4QVi9JmmkhBo9PpftzjJPInuM,9802
|
|
108
205
|
synth_ai/environments/examples/sokoban/generate_verified_puzzles.py,sha256=Wu1UMtUk_qk14LHHKSSkk108yuM9TFyhG1F9Dpi_Kk4,15511
|
|
109
206
|
synth_ai/environments/examples/sokoban/puzzle_loader.py,sha256=3FTMk_u6G9Ex1BBFsCxHDO5nTdENlSxM6BSIafXJ0_E,11498
|
|
110
207
|
synth_ai/environments/examples/sokoban/taskset.py,sha256=suFDtkh20_Fq-A-Oc3CtaLXhsOa2WQVZNPWafrdhikY,15506
|
|
208
|
+
synth_ai/environments/examples/sokoban/agent_demos/sokoban_full_eval.py,sha256=q9S0ASGMt5II1yIuDzSkernn1Q1srErHF9QGT6Wm8yg,39845
|
|
111
209
|
synth_ai/environments/examples/sokoban/engine_helpers/__init__.py,sha256=ensyOUm01rMpYZPIoV012_v6vxnv95mwwi63hLJvwIw,29
|
|
112
210
|
synth_ai/environments/examples/sokoban/engine_helpers/room_utils.py,sha256=1qs8UmlqD-VKPXNvncqMG0X3ICF_LXif4BP5tUkJ-34,21758
|
|
113
211
|
synth_ai/environments/examples/sokoban/engine_helpers/vendored/__init__.py,sha256=aojjVMDT0WX5hhjt2sxTwDe4_BoS7ZogcFTz1andAq0,405
|
|
@@ -120,6 +218,7 @@ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_
|
|
|
120
218
|
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py,sha256=ZCEr6LoSxKvVQzbRGwRBN62RAQPP5jiLoNqI8c4Ij2Q,3808
|
|
121
219
|
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py,sha256=99yZCBsbx3i5Wiuf786TiHQjq2tMEY0OKsOEa-obhXY,3763
|
|
122
220
|
synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py,sha256=VKMXRVmVdIxfa0q_T5Dfll5HHadc5QHpktRQztEIxGs,15455
|
|
221
|
+
synth_ai/environments/examples/sokoban/units/astar_common.py,sha256=4vG-_JrGI-yX8HY22CTY9P3DXPqCV_AHMPwH-flr0Z4,3006
|
|
123
222
|
synth_ai/environments/examples/tictactoe/__init__.py,sha256=XGoOP8GEGXjG-TI_E_-3b1jOhpGNtl_LmR9G3K59Gig,31
|
|
124
223
|
synth_ai/environments/examples/tictactoe/engine.py,sha256=B2OYQ3TVi_c75BRy_zHIEWjcTSaO4vnZZQJTo6wFe7k,12430
|
|
125
224
|
synth_ai/environments/examples/tictactoe/environment.py,sha256=p_ZN5-AyYKUnIJ5Df46fXMlJZ6yRerkvXC9GA1W0Ht8,9336
|
|
@@ -136,7 +235,7 @@ synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py,sha
|
|
|
136
235
|
synth_ai/environments/reproducibility/core.py,sha256=jDhG1EARROJH7-Y7eKuMYdjbi4-t1QUbxddHbbG1Dxc,1499
|
|
137
236
|
synth_ai/environments/reproducibility/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
237
|
synth_ai/environments/reproducibility/tree.py,sha256=LMVTrKpPkBDjkZOfA5ptl3_n8JPc9GCnP49itPKL8zc,13703
|
|
139
|
-
synth_ai/environments/service/app.py,sha256=
|
|
238
|
+
synth_ai/environments/service/app.py,sha256=qVKqZcR9TE-3HXaQgMnYVVZKMmfP2iU5EmCkQZ32BLs,3266
|
|
140
239
|
synth_ai/environments/service/core_routes.py,sha256=D3KMH6eIWxbcW0F8jIgdfYe7PF8Nb7kmKz1a9z0GwR8,38412
|
|
141
240
|
synth_ai/environments/service/external_registry.py,sha256=3PiWCsZr0PburC6K-IBjO9uHGVa-qnT0JHTFyyN4sZE,1765
|
|
142
241
|
synth_ai/environments/service/registry.py,sha256=R4bvjdEW1GtYJdZL4Vl9ogNCQc0iGCxmjs-NuzCo5f4,405
|
|
@@ -309,9 +408,9 @@ synth_ai/v0/tracing_v1/events/manage.py,sha256=ZDXXP-ZwLH9LCsmw7Ru9o55d7bl_diPtJ
|
|
|
309
408
|
synth_ai/v0/tracing_v1/events/scope.py,sha256=BuBkhSpVHUJt8iGT9HJZF82rbb88mQcd2vM2shg-w2I,2550
|
|
310
409
|
synth_ai/v0/tracing_v1/events/store.py,sha256=0342lvAcalyJbVEIzQFaPuMQGgwiFm7M5rE6gr-G0E8,9041
|
|
311
410
|
synth_ai/zyk/__init__.py,sha256=htVLnzTYQ5rxzYpzSYBm7_o6uNKZ3pB_PrqkBrgTRS4,771
|
|
312
|
-
synth_ai-0.2.
|
|
313
|
-
synth_ai-0.2.
|
|
314
|
-
synth_ai-0.2.
|
|
315
|
-
synth_ai-0.2.
|
|
316
|
-
synth_ai-0.2.
|
|
317
|
-
synth_ai-0.2.
|
|
411
|
+
synth_ai-0.2.5.dist-info/licenses/LICENSE,sha256=ynhjRQUfqA_RdGRATApfFA_fBAy9cno04sLtLUqxVFM,1069
|
|
412
|
+
synth_ai-0.2.5.dist-info/METADATA,sha256=layjilLCIDa_4Rz2c1Y9jAXKcSpl_HbN6o0feGXfaD0,4009
|
|
413
|
+
synth_ai-0.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
414
|
+
synth_ai-0.2.5.dist-info/entry_points.txt,sha256=Neq-3bT7TAijjgOIR77pKL-WYg6TWBDeO8pp_nL4vGY,91
|
|
415
|
+
synth_ai-0.2.5.dist-info/top_level.txt,sha256=fBmtZyVHuKaGa29oHBaaUkrUIWTqSpoVMPiVdCDP3k8,9
|
|
416
|
+
synth_ai-0.2.5.dist-info/RECORD,,
|