def create_dataset_from_conv_ids()

in src/dfcx_scrapi/tools/evaluations.py [0:0]


    def create_dataset_from_conv_ids(
            self,
            conversation_ids: List) -> pd.DataFrame:
        columns = [
            'eval_id', 'action_id', 'action_type', 'action_input',
            'action_input_parameters', 'tool_action', 'notes'
        ]
        df_rows = []

        # Load maps if they don't already exist
        if not self.tools_map:
            self.tools_map = self.tools_client.get_tools_map(self.agent_id)
        if not self.playbooks_map:
            self. playbooks_map = self.playbooks_client.get_playbooks_map(
                self.agent_id)

        for idx, conv_id in enumerate(conversation_ids, start=1):
            eval_id = f"{idx:03d}"
            convo = self.ch.get_conversation(conv_id)
            interactions = self.parse_interactions_from_conversation_history(
                convo)

            self.action_counter = 1

            for interaction in interactions:
                self.append_user_query(df_rows, eval_id, interaction)
                self.append_playbook(df_rows, eval_id, interaction)
                self.append_tools(df_rows, eval_id, interaction)
                self.append_responses(df_rows, eval_id, interaction)

        return pd.DataFrame(df_rows, columns=columns)