import json from sotopia.database.logs import BaseEpisodeLog class FakeEpisodeLog(BaseEpisodeLog): pk: str def jsonl_to_episodes( jsonl_file_path: str, ) -> list[FakeEpisodeLog]: """Load episodes from a jsonl file. Args: jsonl_file_path (str): The file path. Returns: list[FakeEpisodeLog]: List of episodes that fakes an EpisodeLog object. """ episodes = [] with open(jsonl_file_path, "r") as f: for line in f: data = json.loads(line) episode = FakeEpisodeLog( pk=data["episode_id"], environment=data["environment_id"], agents=data["agent_ids"], tag=data["experiment_tag"], models=data["experiment_model_name_pairs"], messages=data["raw_messages"], reasoning=data["reasoning"], rewards=data["raw_rewards"], rewards_prompt=data["raw_rewards_prompt"], ) episodes.append(episode) return episodes