Skip to content

Commit 7b31f99

Browse files
authored
Fix link to Loading Conversations notebook (#96)
* Fix the link to a notebook * Fix the badge link * Output undetected outcome counts in results summary
1 parent d7e357a commit 7b31f99

4 files changed

Lines changed: 54 additions & 47 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
44
[![Twitter Follow](https://img.shields.io/twitter/follow/agentune_sb?style=social)](https://x.com/agentune_sb)
5-
[![Discord](https://img.shields.io/discord/1375004885845807114?color=7289da&label=discord&logo=discord&logoColor=white)](https://discord.gg/Hx5YYAaebz)
5+
[![Discord](https://img.shields.io/badge/discord-join-blue?logo=discord&logoColor=white)](https://discord.gg/Hx5YYAaebz)
66

77
---
88

agentune_simulate/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![PyPI version](https://badge.fury.io/py/agentune-simulate.svg)](https://pypi.org/project/agentune-simulate/)
55
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
66
[![Twitter Follow](https://img.shields.io/twitter/follow/agentune_sb?style=social)](https://x.com/agentune_sb)
7-
[![Discord](https://img.shields.io/discord/1375004885845807114?color=7289da&label=discord&logo=discord&logoColor=white)](https://discord.gg/Hx5YYAaebz)
7+
[![Discord](https://img.shields.io/badge/discord-join-blue?logo=discord&logoColor=white)](https://discord.gg/Hx5YYAaebz)
88

99
---
1010

@@ -62,7 +62,7 @@ Running a simulation with Agentune Simulate generates realistic conversations be
6262
1. **Quick Start** - [`getting_started.ipynb`](https://github.com/SparkBeyond/agentune/blob/main/agentune_simulate/examples/getting_started.ipynb) for a quick getting started example
6363
2. **Production Setup** - [`persistent_storage_example.ipynb`](https://github.com/SparkBeyond/agentune/blob/main/agentune_simulate/examples/persistent_storage_example.ipynb) for a closer to real life, scalable, persistent example
6464
3. **Validate _Your_ Data** - Adapt the 2nd example to load _your_ conversations data and validate the simulation.
65-
Here is an example of how to load conversations from tabular data: [`load_conversations_from_csv.ipynb`](https://github.com/SparkBeyond/agentune/blob/main/agentune_simulate/examples/load_conversations_from_csv.ipynb)
65+
Here is an example of how to load conversations from tabular data: [`loading_conversations.ipynb`](https://github.com/SparkBeyond/agentune/blob/main/agentune_simulate/examples/loading_conversations.ipynb)
6666
4. **Connect Real Agent** - [`real_agent_integration.ipynb`](https://github.com/SparkBeyond/agentune/blob/main/agentune_simulate/examples/real_agent_integration.ipynb) for integrating your existing agent systems
6767

6868
📧 **Need help? Have feedback?** Contact us at [agentune-dev@sparkbeyond.com](mailto:agentune-dev@sparkbeyond.com)

agentune_simulate/agentune/simulate/models/results.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,15 @@ def generate_summary(self) -> str:
143143

144144
lines.append(f"{outcome:<20} {orig_count:>3} ({orig_pct:>4.1f}%) {sim_count:>3} ({sim_pct:>4.1f}%)")
145145

146+
# Add row for conversations without outcome if any exist
147+
if orig_dist.conversations_without_outcome > 0 or sim_dist.conversations_without_outcome > 0:
148+
orig_no_outcome = orig_dist.conversations_without_outcome
149+
sim_no_outcome = sim_dist.conversations_without_outcome
150+
orig_no_outcome_pct = orig_dist.no_outcome_percentage
151+
sim_no_outcome_pct = sim_dist.no_outcome_percentage
152+
153+
lines.append(f"{'No outcome':<20} {orig_no_outcome:>3} ({orig_no_outcome_pct:>4.1f}%) {sim_no_outcome:>3} ({sim_no_outcome_pct:>4.1f}%)")
154+
146155
# Show a sample conversation
147156
if self.simulated_conversations:
148157
sample_conv = self.simulated_conversations[0].conversation

agentune_simulate/examples/persistent_storage_example.ipynb

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@
3939
"cell_type": "code",
4040
"metadata": {
4141
"ExecuteTime": {
42-
"end_time": "2025-07-23T07:19:52.750523Z",
43-
"start_time": "2025-07-23T07:19:48.896707Z"
42+
"end_time": "2025-07-23T14:03:27.619459Z",
43+
"start_time": "2025-07-23T14:03:23.931925Z"
4444
}
4545
},
4646
"source": [
@@ -61,8 +61,8 @@
6161
"cell_type": "code",
6262
"metadata": {
6363
"ExecuteTime": {
64-
"end_time": "2025-07-23T07:19:54.091900Z",
65-
"start_time": "2025-07-23T07:19:52.853485Z"
64+
"end_time": "2025-07-23T14:03:29.772500Z",
65+
"start_time": "2025-07-23T14:03:27.775396Z"
6666
}
6767
},
6868
"source": [
@@ -93,8 +93,8 @@
9393
{
9494
"metadata": {
9595
"ExecuteTime": {
96-
"end_time": "2025-07-23T07:19:56.049115Z",
97-
"start_time": "2025-07-23T07:19:54.276165Z"
96+
"end_time": "2025-07-23T14:03:38.533472Z",
97+
"start_time": "2025-07-23T14:03:29.782917Z"
9898
}
9999
},
100100
"cell_type": "code",
@@ -122,8 +122,8 @@
122122
{
123123
"metadata": {
124124
"ExecuteTime": {
125-
"end_time": "2025-07-23T07:19:56.060520Z",
126-
"start_time": "2025-07-23T07:19:56.058656Z"
125+
"end_time": "2025-07-23T14:03:38.581039Z",
126+
"start_time": "2025-07-23T14:03:38.577880Z"
127127
}
128128
},
129129
"cell_type": "code",
@@ -158,8 +158,8 @@
158158
"cell_type": "code",
159159
"metadata": {
160160
"ExecuteTime": {
161-
"end_time": "2025-07-23T07:19:57.374782Z",
162-
"start_time": "2025-07-23T07:19:57.297830Z"
161+
"end_time": "2025-07-23T14:03:38.905803Z",
162+
"start_time": "2025-07-23T14:03:38.653397Z"
163163
}
164164
},
165165
"source": [
@@ -189,8 +189,8 @@
189189
"cell_type": "code",
190190
"metadata": {
191191
"ExecuteTime": {
192-
"end_time": "2025-07-23T07:19:57.579752Z",
193-
"start_time": "2025-07-23T07:19:57.566833Z"
192+
"end_time": "2025-07-23T14:03:38.950116Z",
193+
"start_time": "2025-07-23T14:03:38.925006Z"
194194
}
195195
},
196196
"source": [
@@ -338,8 +338,8 @@
338338
"cell_type": "code",
339339
"metadata": {
340340
"ExecuteTime": {
341-
"end_time": "2025-07-23T07:19:58.769910Z",
342-
"start_time": "2025-07-23T07:19:58.767878Z"
341+
"end_time": "2025-07-23T14:03:38.999734Z",
342+
"start_time": "2025-07-23T14:03:38.995622Z"
343343
}
344344
},
345345
"source": [
@@ -386,8 +386,8 @@
386386
{
387387
"metadata": {
388388
"ExecuteTime": {
389-
"end_time": "2025-07-23T07:20:00.941262Z",
390-
"start_time": "2025-07-23T07:20:00.828130Z"
389+
"end_time": "2025-07-23T14:03:39.310715Z",
390+
"start_time": "2025-07-23T14:03:39.044874Z"
391391
}
392392
},
393393
"cell_type": "code",
@@ -416,8 +416,8 @@
416416
{
417417
"metadata": {
418418
"ExecuteTime": {
419-
"end_time": "2025-07-23T07:20:04.180391Z",
420-
"start_time": "2025-07-23T07:20:01.398536Z"
419+
"end_time": "2025-07-23T14:03:43.677868Z",
420+
"start_time": "2025-07-23T14:03:39.327150Z"
421421
}
422422
},
423423
"cell_type": "code",
@@ -440,7 +440,7 @@
440440
"name": "stderr",
441441
"output_type": "stream",
442442
"text": [
443-
"2025-07-23 10:20:01,411 - Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.\n"
443+
"2025-07-23 17:03:39,346 - Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.\n"
444444
]
445445
},
446446
{
@@ -462,8 +462,8 @@
462462
"cell_type": "code",
463463
"metadata": {
464464
"ExecuteTime": {
465-
"end_time": "2025-07-23T07:20:53.891715Z",
466-
"start_time": "2025-07-23T07:20:04.188558Z"
465+
"end_time": "2025-07-23T14:04:31.597482Z",
466+
"start_time": "2025-07-23T14:03:43.699526Z"
467467
}
468468
},
469469
"source": [
@@ -485,17 +485,16 @@
485485
"name": "stderr",
486486
"output_type": "stream",
487487
"text": [
488-
"2025-07-23 10:20:04,189 - Starting intent extraction on 5 conversations\n",
489-
"2025-07-23 10:20:07,182 - Finished extracting original intents; generated 5 scenarios\n",
490-
"2025-07-23 10:20:07,182 - Starting conversation simulations (self.max_concurrent_conversations=20)\n",
491-
"2025-07-23 10:20:12,184 - Progress: 0/5 scenarios completed\n",
492-
"2025-07-23 10:20:22,187 - Progress: 1/5 scenarios completed\n",
493-
"2025-07-23 10:20:27,188 - Progress: 2/5 scenarios completed\n",
494-
"2025-07-23 10:20:37,191 - Progress: 3/5 scenarios completed\n",
495-
"2025-07-23 10:20:47,193 - Progress: 5/5 scenarios completed\n",
496-
"2025-07-23 10:20:47,194 - Finished simulating conversations; simulated 5 conversations, with 0 failures\n",
497-
"2025-07-23 10:20:47,194 - Starting analysis of simulation results\n",
498-
"2025-07-23 10:20:53,890 - Finished analyzing results\n"
488+
"2025-07-23 17:03:43,702 - Starting intent extraction on 5 conversations\n",
489+
"2025-07-23 17:03:52,403 - Finished extracting original intents; generated 5 scenarios\n",
490+
"2025-07-23 17:03:52,404 - Starting conversation simulations (self.max_concurrent_conversations=20)\n",
491+
"2025-07-23 17:03:57,406 - Progress: 0/5 scenarios completed\n",
492+
"2025-07-23 17:04:07,408 - Progress: 2/5 scenarios completed\n",
493+
"2025-07-23 17:04:12,410 - Progress: 3/5 scenarios completed\n",
494+
"2025-07-23 17:04:22,413 - Progress: 5/5 scenarios completed\n",
495+
"2025-07-23 17:04:22,414 - Finished simulating conversations; simulated 5 conversations, with 0 failures\n",
496+
"2025-07-23 17:04:22,415 - Starting analysis of simulation results\n",
497+
"2025-07-23 17:04:31,594 - Finished analyzing results\n"
499498
]
500499
},
501500
{
@@ -512,8 +511,8 @@
512511
"cell_type": "code",
513512
"metadata": {
514513
"ExecuteTime": {
515-
"end_time": "2025-07-23T07:20:53.909318Z",
516-
"start_time": "2025-07-23T07:20:53.901864Z"
514+
"end_time": "2025-07-23T14:04:31.627201Z",
515+
"start_time": "2025-07-23T14:04:31.614360Z"
517516
}
518517
},
519518
"source": [
@@ -524,7 +523,7 @@
524523
"# Save results to file using built-in method\n",
525524
"output_file = \"chroma_simulation_results.json\"\n",
526525
"chroma_result.save_to_file(output_file)\n",
527-
"print(f\"\\n✓ Results saved to {Path(output_file).absolute()}\")"
526+
"print(f\"\\n✓ Results saved to {Path(output_file).resolve().relative_to(Path('../../').resolve())}\")"
528527
],
529528
"outputs": [
530529
{
@@ -541,23 +540,22 @@
541540
"\n",
542541
"Average messages per conversation:\n",
543542
" Original: 4.4\n",
544-
" Simulated: 4.2\n",
543+
" Simulated: 2.8\n",
545544
"\n",
546545
"Outcome distribution comparison:\n",
547546
"Outcome Original Simulated \n",
548547
"--------------------------------------------------\n",
549-
"resolved 4 (80.0%) 4 (80.0%)\n",
550-
"unresolved 1 (20.0%) 0 ( 0.0%)\n",
548+
"resolved 4 (80.0%) 3 (60.0%)\n",
549+
"unresolved 1 (20.0%) 2 (40.0%)\n",
551550
"\n",
552-
"Sample conversation (6 messages):\n",
551+
"Sample conversation (4 messages):\n",
553552
" 1. customer: Last night, I waited in line for 2 hours in the business office, but because I only had a copy of my...\n",
554-
" 2. agent: I'm sorry to hear about the inconvenience you've experienced. It sounds frustrating to have to make ...\n",
555-
" 3. customer: I have the set-top box with me now. Can you confirm if this is all I need to proceed with the cancel...\n",
556-
" 4. agent: Thank you for confirming that you have the set-top box with you. To proceed with the cancellation, p...\n",
557-
" ... and 2 more messages\n",
553+
" 2. agent: I apologize for the inconvenience and frustration you've experienced with the cancellation process. ...\n",
554+
" 3. customer: I understand the need for the original ID and the set-top box now, but my issue is with the lack of ...\n",
555+
" 4. agent: I completely understand your frustration, and I apologize for the inconvenience this has caused. I w...\n",
558556
"========================================\n",
559557
"\n",
560-
"✓ Results saved to /Users/erik/Dev/agentune/agentune_simulate/examples/chroma_simulation_results.json\n"
558+
"✓ Results saved to agentune_simulate/examples/chroma_simulation_results.json\n"
561559
]
562560
}
563561
],

0 commit comments

Comments
 (0)