feat: uitlegvideo bij elke handleiding (schermafbeeldingen, Nederlandse stem, ondertitels)
- 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>
This commit is contained in:
@@ -0,0 +1,448 @@
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user