Skip to content

Fix turn_taking metric failing when agent_perf_stats.csv prompt field is large - #218

Open
fanny-riols wants to merge 1 commit into
mainfrom
pr/fr/fix-turn-taking-csv-field-limit
Open

Fix turn_taking metric failing when agent_perf_stats.csv prompt field is large#218
fanny-riols wants to merge 1 commit into
mainfrom
pr/fr/fix-turn-taking-csv-field-limit

Conversation

@fanny-riols

Copy link
Copy Markdown
Collaborator

Issue: prompt too big and reading from the csv failed, so the turn taking metric wasn't computed.

More details:
mean_agent_perf_stat() used csv.DictReader with Python's default 131072-byte field size limit. Agents with large system prompts (e.g. medical_hr's ~40-tool config) push the serialized prompt field in agent_perf_stats.csv past that limit, raising _csv.Error. Since turn_taking.compute() calls mean_agent_perf_stat() unguarded, that error propagated up and zeroed out the entire turn_taking metric (score forced to 0, details wiped) instead of just the token sub-metrics that depend on this file.

  • Raise csv.field_size_limit() well above any observed field size.
  • Also catch csv.Error in mean_agent_perf_stat() and degrade to None, so a pathologically large field can never again take down the whole metric.
  • Add regression tests.

I tested that change and it fixed my problem.

… is large

mean_agent_perf_stat() used csv.DictReader with Python's default 131072-byte
field size limit. Agents with large system prompts (e.g. medical_hr's ~40-tool
config) push the serialized prompt field in agent_perf_stats.csv past that
limit, raising _csv.Error. Since turn_taking.compute() calls
mean_agent_perf_stat() unguarded, that error propagated up and zeroed out the
entire turn_taking metric (score forced to 0, details wiped) instead of just
the token sub-metrics that depend on this file.

- Raise csv.field_size_limit() well above any observed field size.
- Also catch csv.Error in mean_agent_perf_stat() and degrade to None, so a
  pathologically large field can never again take down the whole metric.
- Add regression tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant