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)