f134e29625
- video-script.md, video-*.mp4 en .srt in de acht mappen - README-sectie Video's en CHANGELOG Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
449 lines
9.7 KiB
Plaintext
449 lines
9.7 KiB
Plaintext
1
|
|
00:00:00,000 --> 00:00:05,639
|
|
Welkom bij de vijfde handleiding van de reeks AI Agents met Dify voor school.
|
|
|
|
2
|
|
00:00:05,689 --> 00:00:07,781
|
|
Je bouwt de Transcriptietool:
|
|
|
|
3
|
|
00:00:07,831 --> 00:00:19,085
|
|
een workflow die een opname van een overleg omzet in tekst en er een verslag van maakt, met samenvatting, besluiten, actiepunten en wat is doorgeschoven.
|
|
|
|
4
|
|
00:00:19,135 --> 00:00:21,744
|
|
Vier nodes, en één nieuwe bouwsteen:
|
|
|
|
5
|
|
00:00:21,794 --> 00:00:24,528
|
|
een tool in plaats van een taalmodel.
|
|
|
|
6
|
|
00:00:25,328 --> 00:00:30,501
|
|
Eerst de afspraken, want deze use case is beoordeeld als risico middel.
|
|
|
|
7
|
|
00:00:30,551 --> 00:00:32,855
|
|
Een stem is een persoonsgegeven.
|
|
|
|
8
|
|
00:00:32,905 --> 00:00:44,698
|
|
Opnames van echte mensen gaan dus niet naar Dify-cloud; deze handleiding werkt met een fictief sectieoverleg van drie minuten, voorgelezen door een computerstem.
|
|
|
|
9
|
|
00:00:44,748 --> 00:00:54,114
|
|
Opnemen van een echt overleg vraagt vooraf toestemming van alle deelnemers, en de audio verwijder je zodra het transcript er is.
|
|
|
|
10
|
|
00:00:54,164 --> 00:01:00,293
|
|
Je hebt een eigen OpenAI-sleutel nodig, ingesteld op Gebruiksprioriteit API-sleutel.
|
|
|
|
11
|
|
00:01:00,343 --> 00:01:03,677
|
|
Zonder eigen sleutel werkt de spraaktool niet.
|
|
|
|
12
|
|
00:01:03,727 --> 00:01:04,780
|
|
Kosten per run:
|
|
|
|
13
|
|
00:01:04,830 --> 00:01:10,568
|
|
ongeveer twee cent voor de transcriptie, minder dan een cent voor het verslag.
|
|
|
|
14
|
|
00:01:11,368 --> 00:01:15,721
|
|
Studio, Create, Create from Blank, Workflow.
|
|
|
|
15
|
|
00:01:15,771 --> 00:01:16,222
|
|
Naam:
|
|
|
|
16
|
|
00:01:16,272 --> 00:01:17,923
|
|
Transcriptietool.
|
|
|
|
17
|
|
00:01:17,973 --> 00:01:19,424
|
|
Klik op Create.
|
|
|
|
18
|
|
00:01:19,474 --> 00:01:22,927
|
|
Zie je Upgrade to create more apps?
|
|
|
|
19
|
|
00:01:22,977 --> 00:01:29,232
|
|
Een sandbox-account mag vijf apps hebben, en agents tellen mee.
|
|
|
|
20
|
|
00:01:29,282 --> 00:01:32,584
|
|
Verwijder dan eerst een oude app.
|
|
|
|
21
|
|
00:01:33,384 --> 00:01:38,018
|
|
Klik op User Input en op het plusje bij Input Field.
|
|
|
|
22
|
|
00:01:38,068 --> 00:01:40,901
|
|
Kies bij Field Type Single File.
|
|
|
|
23
|
|
00:01:40,951 --> 00:01:43,153
|
|
Het venster wordt langer:
|
|
|
|
24
|
|
00:01:43,203 --> 00:01:45,765
|
|
er verschijnen bestandstypen.
|
|
|
|
25
|
|
00:01:45,815 --> 00:01:52,341
|
|
Variable Name opname, Label Name Opname van het overleg, mp3, m4a of wav.
|
|
|
|
26
|
|
00:01:52,391 --> 00:01:57,115
|
|
Bij Support File Types zet je Image uit en Audio aan.
|
|
|
|
27
|
|
00:01:57,165 --> 00:01:58,737
|
|
Upload File Types:
|
|
|
|
28
|
|
00:01:58,787 --> 00:01:59,908
|
|
Local Upload.
|
|
|
|
29
|
|
00:01:59,958 --> 00:02:00,538
|
|
Let op:
|
|
|
|
30
|
|
00:02:00,588 --> 00:02:02,880
|
|
Image staat standaard aan.
|
|
|
|
31
|
|
00:02:02,930 --> 00:02:12,339
|
|
Zet hem uit, anders kan iemand straks een foto uploaden en loopt de workflow vast op de transcriptiestap.
|
|
|
|
32
|
|
00:02:12,389 --> 00:02:13,560
|
|
Klik op Save.
|
|
|
|
33
|
|
00:02:14,360 --> 00:02:16,358
|
|
Nu de nieuwe bouwsteen.
|
|
|
|
34
|
|
00:02:16,408 --> 00:02:23,305
|
|
Klik onder Next Step op Select Next Step en klik bovenin op het tabblad Tools.
|
|
|
|
35
|
|
00:02:23,355 --> 00:02:25,977
|
|
Klik onder All tools op Audio.
|
|
|
|
36
|
|
00:02:26,027 --> 00:02:28,382
|
|
Er klappen twee opties uit:
|
|
|
|
37
|
|
00:02:28,432 --> 00:02:31,321
|
|
Speech To Text en Text To Speech.
|
|
|
|
38
|
|
00:02:31,371 --> 00:02:33,152
|
|
Kies Speech To Text.
|
|
|
|
39
|
|
00:02:33,952 --> 00:02:40,813
|
|
Klik bij Audio File op Set variable en kies onder User Input de variabele opname.
|
|
|
|
40
|
|
00:02:40,863 --> 00:02:48,918
|
|
Klik bij Model op de keuzelijst; je ziet de spraakmodellen die via je sleutel beschikbaar zijn.
|
|
|
|
41
|
|
00:02:48,968 --> 00:02:51,562
|
|
Kies gpt-4o-transcribe-diarize.
|
|
|
|
42
|
|
00:02:51,612 --> 00:02:56,425
|
|
Diarize betekent dat het model sprekers uit elkaar houdt.
|
|
|
|
43
|
|
00:02:56,475 --> 00:02:59,632
|
|
Wil je goedkoper, kies dan whisper-1.
|
|
|
|
44
|
|
00:03:00,432 --> 00:03:04,212
|
|
Select Next Step, en nu onder Nodes de node LLM.
|
|
|
|
45
|
|
00:03:04,262 --> 00:03:05,808
|
|
Model op gpt-5-mini.
|
|
|
|
46
|
|
00:03:05,858 --> 00:03:08,122
|
|
Plak in System de instructie:
|
|
|
|
47
|
|
00:03:08,172 --> 00:03:18,096
|
|
begin je antwoord met de regel VERSLAG, maak een verslag van een overleg op een school op basis van het transcript hieronder.
|
|
|
|
48
|
|
00:03:18,146 --> 00:03:30,065
|
|
Het transcript komt van spraakherkenning en kan fouten bevatten in namen en getallen; zet een vraagteken tussen haakjes achter wat je niet zeker weet.
|
|
|
|
49
|
|
00:03:30,115 --> 00:03:31,581
|
|
Dan de vijf kopjes:
|
|
|
|
50
|
|
00:03:31,631 --> 00:03:41,396
|
|
Overleg, Samenvatting van maximaal vijf zinnen, Besluiten, Actiepunten als tabel met wat, wie en wanneer, en Doorgeschoven.
|
|
|
|
51
|
|
00:03:41,446 --> 00:03:43,949
|
|
Laat zijpaden weg, verzin niets.
|
|
|
|
52
|
|
00:03:43,999 --> 00:03:48,098
|
|
Typ na Transcript, dubbele punt, een schuine streep.
|
|
|
|
53
|
|
00:03:48,148 --> 00:03:53,205
|
|
Bovenaan de lijst staat nu Speech To Text met de variabele text.
|
|
|
|
54
|
|
00:03:53,255 --> 00:03:53,923
|
|
Kies die.
|
|
|
|
55
|
|
00:03:53,973 --> 00:03:56,237
|
|
Hernoem de node naar Verslag.
|
|
|
|
56
|
|
00:03:56,287 --> 00:04:00,147
|
|
Die regel over het vraagteken is geen versiering.
|
|
|
|
57
|
|
00:04:00,197 --> 00:04:09,802
|
|
In onze test hoorde de spraakherkenning Karin de ene keer als Karen, en het verslag zette daar netjes een vraagteken bij.
|
|
|
|
58
|
|
00:04:09,852 --> 00:04:14,400
|
|
Een mens moet dat nakijken; de tool maakt zichtbaar waar.
|
|
|
|
59
|
|
00:04:15,200 --> 00:04:17,375
|
|
Select Next Step, Output.
|
|
|
|
60
|
|
00:04:17,425 --> 00:04:19,421
|
|
Twee uitvoervariabelen:
|
|
|
|
61
|
|
00:04:19,471 --> 00:04:26,896
|
|
verslag, met als bron Verslag text, en transcript, met als bron Speech To Text text.
|
|
|
|
62
|
|
00:04:26,946 --> 00:04:32,552
|
|
Zo krijgt de gebruiker het verslag én het volledige transcript.
|
|
|
|
63
|
|
00:04:33,352 --> 00:04:37,978
|
|
Druk op Ctrl 1 en je ziet de hele workflow:
|
|
|
|
64
|
|
00:04:38,028 --> 00:04:42,762
|
|
User Input, Speech To Text, Verslag, Output.
|
|
|
|
65
|
|
00:04:42,812 --> 00:04:44,008
|
|
Vier nodes.
|
|
|
|
66
|
|
00:04:44,808 --> 00:04:47,977
|
|
Klik op Test Run en upload de opname.
|
|
|
|
67
|
|
00:04:48,027 --> 00:04:51,544
|
|
Gebruik het bestand met klein in de naam.
|
|
|
|
68
|
|
00:04:51,594 --> 00:04:59,636
|
|
Het andere bestand is dezelfde opname op 128 kilobit; die is 2,8 megabyte en dat is te groot.
|
|
|
|
69
|
|
00:04:59,686 --> 00:05:10,338
|
|
De tool stuurt audio als tekst naar de aanbieder, wat het bestand twee keer zo groot maakt, en de grens ligt op 5 megabyte.
|
|
|
|
70
|
|
00:05:10,388 --> 00:05:13,035
|
|
Je krijgt dan deze foutmelding:
|
|
|
|
71
|
|
00:05:13,085 --> 00:05:14,601
|
|
Payload Too Large.
|
|
|
|
72
|
|
00:05:14,651 --> 00:05:15,558
|
|
Vuistregel:
|
|
|
|
73
|
|
00:05:15,608 --> 00:05:17,472
|
|
3 megabyte per opname.
|
|
|
|
74
|
|
00:05:17,522 --> 00:05:23,910
|
|
Een half uur overleg past daar alleen in als je de opname eerst verkleint:
|
|
|
|
75
|
|
00:05:23,960 --> 00:05:26,608
|
|
mono, 16 kilohertz, 32 kilobit.
|
|
|
|
76
|
|
00:05:26,658 --> 00:05:33,792
|
|
Dat kan met elk audioprogramma of met ffmpeg; de opdracht staat in de handleiding.
|
|
|
|
77
|
|
00:05:34,592 --> 00:05:36,341
|
|
Met het kleine bestand:
|
|
|
|
78
|
|
00:05:36,391 --> 00:05:37,124
|
|
Start Run.
|
|
|
|
79
|
|
00:05:37,174 --> 00:05:44,840
|
|
De transcriptie van drie minuten audio duurt ongeveer een minuut, daarna schrijft de Verslag-node.
|
|
|
|
80
|
|
00:05:45,640 --> 00:05:46,644
|
|
Onder Result:
|
|
|
|
81
|
|
00:05:46,694 --> 00:05:49,320
|
|
Overleg, Samenvatting, Besluiten.
|
|
|
|
82
|
|
00:05:49,370 --> 00:05:53,617
|
|
Controleer met het script dat bij de handleiding zit.
|
|
|
|
83
|
|
00:05:53,667 --> 00:05:54,671
|
|
In onze test:
|
|
|
|
84
|
|
00:05:54,721 --> 00:06:07,288
|
|
twee besluiten, vijf actiepunten met de juiste eigenaren en data, de leesmethode onder Doorgeschoven met de reden, en het koffieapparaat netjes weggelaten.
|
|
|
|
85
|
|
00:06:08,088 --> 00:06:14,352
|
|
Daaronder de actiepuntentabel, Doorgeschoven, en het volledige transcript.
|
|
|
|
86
|
|
00:06:15,152 --> 00:06:19,196
|
|
Het model heet diarize, dus sprekers uit elkaar houden.
|
|
|
|
87
|
|
00:06:19,246 --> 00:06:23,513
|
|
Om te zien wat dat oplevert, zit er een tweede opname bij:
|
|
|
|
88
|
|
00:06:23,563 --> 00:06:27,682
|
|
hetzelfde script met drie verschillende computerstemmen.
|
|
|
|
89
|
|
00:06:27,732 --> 00:06:34,678
|
|
Draai de workflow daarmee en kijk in Logs, tabblad Tracing, bij de uitvoer van Speech To Text.
|
|
|
|
90
|
|
00:06:34,728 --> 00:06:36,837
|
|
Dat is het eerlijke antwoord:
|
|
|
|
91
|
|
00:06:36,887 --> 00:06:47,407
|
|
het model knipt de tekst op sprekerwisselingen, met een regeleinde per stem, maar de tool geeft geen labels door, geen Spreker 1 of Spreker 2.
|
|
|
|
92
|
|
00:06:47,457 --> 00:06:51,278
|
|
Wie wat zei, leidt de Verslag-node af uit de inhoud.
|
|
|
|
93
|
|
00:06:51,328 --> 00:06:54,702
|
|
Dat lukt hier omdat de opening de namen noemt.
|
|
|
|
94
|
|
00:06:54,752 --> 00:06:59,912
|
|
In een overleg zonder zo'n opening worden de actiepunten niet genoemd.
|
|
|
|
95
|
|
00:06:59,962 --> 00:07:10,904
|
|
Wil je echte sprekerlabels, dan staat in de handleiding een makkelijke route via de prompt en een precieze via een HTTP Request naar de spraak-API.
|
|
|
|
96
|
|
00:07:11,704 --> 00:07:14,459
|
|
Publish, Publish, en Webapp openen.
|
|
|
|
97
|
|
00:07:14,509 --> 00:07:17,906
|
|
Upload de kleine opname en klik op Execute.
|
|
|
|
98
|
|
00:07:17,956 --> 00:07:18,467
|
|
Let op:
|
|
|
|
99
|
|
00:07:18,517 --> 00:07:23,596
|
|
na het uploaden schuift de knop Execute een stukje naar beneden.
|
|
|
|
100
|
|
00:07:23,646 --> 00:07:31,771
|
|
In de webapp staat hetzelfde verslag, en rechtsboven bij de tabel een kopieerknop en een downloadknop.
|
|
|
|
101
|
|
00:07:31,821 --> 00:07:37,672
|
|
Daarmee zet een collega de actiepunten zo in een mail of een spreadsheet.
|
|
|
|
102
|
|
00:07:38,472 --> 00:07:39,951
|
|
De controlelijst:
|
|
|
|
103
|
|
00:07:40,001 --> 00:07:40,940
|
|
vier nodes?
|
|
|
|
104
|
|
00:07:40,990 --> 00:07:43,099
|
|
Alleen audio als invoer?
|
|
|
|
105
|
|
00:07:43,149 --> 00:07:45,797
|
|
Vijf kopjes en het transcript?
|
|
|
|
106
|
|
00:07:45,847 --> 00:07:48,585
|
|
Vraagtekens bij onzekere namen?
|
|
|
|
107
|
|
00:07:48,635 --> 00:07:50,294
|
|
En werkt de webapp?
|
|
|
|
108
|
|
00:07:50,344 --> 00:07:56,410
|
|
Wat je hier bouwt is een werkend prototype om te leren hoe het gaat.
|
|
|
|
109
|
|
00:07:56,460 --> 00:08:06,264
|
|
De stap naar echt gebruik, met opnames van echte collega's, is een aparte beslissing met een aparte omgeving.
|
|
|
|
110
|
|
00:08:07,064 --> 00:08:15,145
|
|
De handleiding, de testopnames en de beelden staan in de repository; de app staat live op udify punt app.
|
|
|
|
111
|
|
00:08:15,195 --> 00:08:24,515
|
|
In de volgende video bouwen we in de Agent Console de Lesmateriaal-check, met een eigen zoektool naar open leermateriaal.
|
|
|
|
112
|
|
00:08:24,565 --> 00:08:25,184
|
|
Tot dan.
|
|
|