1
00:00:06,740 --> 00:00:09,580
I. 
Wir haben es in der letzten 

2
00:00:09,590 --> 00:00:12,400
Folge schon gesagt. 
Wenn du keinen I Use Case für 

3
00:00:12,410 --> 00:00:14,950
dein Business findest, dann 
macht es jemand anders und 

4
00:00:14,960 --> 00:00:17,720
überholt dich einfach. 
Aber wie bauen wir als ein 

5
00:00:17,730 --> 00:00:21,300
unsere Apps ein und wir helfen 
Technologien wie lange Chain 

6
00:00:21,310 --> 00:00:24,380
oder vielleicht auch Semantic 
Kernel dabei und was muss ich 

7
00:00:24,390 --> 00:00:28,160
eigentlich als Entwicklerin über
Eddings, wegfuhr Datenbanken und

8
00:00:28,170 --> 00:00:31,740
eigentliches Wissen, darum geht 
es in dieser Folge Form to 

9
00:00:31,750 --> 00:00:34,640
Developer Podcast. 
Genau und damit herzlich 

10
00:00:34,650 --> 00:00:36,770
Willkommen zu einer neuen Folge.
Schön, dass ihr wieder dabei 

11
00:00:36,780 --> 00:00:38,830
seid. 
Bevor wir ins Thema einsteigen, 

12
00:00:38,870 --> 00:00:42,870
also erst eine Anknüpfung an das
Thema von vor 2 Wochen, wo wir 

13
00:00:42,880 --> 00:00:45,710
schon überhaupt Engineering 
gesprochen haben und jetzt 

14
00:00:45,720 --> 00:00:47,920
sprechen wir drüber. 
Wie baue ich das denn jetzt in 

15
00:00:47,930 --> 00:00:51,480
meiner eigenen Apps ein? 
Bevor wir loslegen, haben wir 

16
00:00:51,490 --> 00:00:54,290
ein paar Dankeschön Wörter zu 
verteilen. 

17
00:00:54,820 --> 00:00:57,980
Und zwar hat uns Julia 2 Kaffee 
spendiert, dafür erstmal ganz 

18
00:00:57,990 --> 00:01:00,310
ganz lieben dank, das freut uns 
immer sehr. 

19
00:01:00,980 --> 00:01:04,640
Wer es noch nicht weiß, Wer 
haben immer in der Beschreibung 

20
00:01:04,650 --> 00:01:06,190
dieser Folgen bei mir Coffee 
Link. 

21
00:01:06,200 --> 00:01:09,470
Also ihr ich hab was gelernt, 
ich würde den beiden gerne 

22
00:01:09,480 --> 00:01:11,740
Kaffee ausgeben und dann freuen 
wir uns immer wahnsinnig drüber 

23
00:01:11,750 --> 00:01:13,580
könnt ihr immer. 
Machen. 

24
00:01:14,330 --> 00:01:17,450
Über den Link unten und 
vielleicht vorher noch kurz 

25
00:01:17,460 --> 00:01:20,430
Service announcement. 
Wir sind jetzt auf Instagram und

26
00:01:20,440 --> 00:01:25,120
TIK tok, Wir haben es geschafft 
und sind jetzt ganz Boomer mäßig

27
00:01:25,130 --> 00:01:29,350
auch Plattform unterwegs neben 
ernst. 

28
00:01:29,400 --> 00:01:32,030
Wir haben uns überlegt, dass wir
vielleicht ab und zu mal so 

29
00:01:32,040 --> 00:01:35,180
kleine kleine Video Schnipsel 
von dem Podcast hier, wenn wir 

30
00:01:35,190 --> 00:01:37,010
irgendwie wenn wir eine 
spannende Stelle oder sowas 

31
00:01:37,020 --> 00:01:39,500
rausgesucht haben auch da 
veröffentlichen. 

32
00:01:39,870 --> 00:01:44,190
Also wenn ihr unterwegs seid, 
dann wisst ab und zu zu unseren 

33
00:01:44,200 --> 00:01:47,570
Stimmen auch mal unsere Visage 
neu zu sehen, dann könnt ihr das

34
00:01:47,580 --> 00:01:50,130
gerne auf diesen Plattformen 
tun, wenn wir uns folgen wollt 

35
00:01:50,140 --> 00:01:52,150
findet ihr die Links unten. 
Genau. 

36
00:01:52,160 --> 00:01:55,070
Wir werden jetzt keine neuen 
Folgen oder komplette Folge 

37
00:01:55,080 --> 00:01:57,670
veröffentlichen. 
Uns geht es darum, auch neue 

38
00:01:57,680 --> 00:02:00,420
Leute für diesen Podcast zu 
begeistern, einfach die Audience

39
00:02:00,430 --> 00:02:03,330
zu erweitern, ihr alle kennt den
Podcast schon, aber viele andere

40
00:02:03,340 --> 00:02:06,510
noch nicht und da versuchen wir 
auch neue Wege zu gehen. 

41
00:02:06,720 --> 00:02:08,810
Wir freuen uns, wenn ihr uns 
auch dort folgt. 

42
00:02:09,259 --> 00:02:11,350
Genau, ganz wichtig ne. 
Also das bleibt ein Audio 

43
00:02:11,360 --> 00:02:15,230
Podcast und selbst wenn es jetzt
aber irgendwie schiebt, die Idee

44
00:02:15,240 --> 00:02:18,550
ist immer, dass man. 
Den Podcast komplett auch ohne 

45
00:02:18,560 --> 00:02:21,440
uns zu sehen, verfolgen kann. 
Das heißt, er wird nicht ihr 

46
00:02:21,450 --> 00:02:23,250
verpasst nichts, wenn ihr uns 
nicht anschaut. 

47
00:02:23,380 --> 00:02:25,260
Ist manchmal auch besser so. 
Ja. 

48
00:02:27,580 --> 00:02:30,640
Super, dann steigen wir ins 
Thema ein und ich habe es gerade

49
00:02:30,650 --> 00:02:32,770
schon gesagt. 
Wir beschäftigen uns damit, wie 

50
00:02:32,780 --> 00:02:34,620
ich einen meiner eigenen Apps 
einbauen. 

51
00:02:34,630 --> 00:02:37,060
Wir hatten letztes Mal drüber 
gesprochen in der letzten Folge 

52
00:02:37,070 --> 00:02:40,800
zum Thema prompt Engineering wie
ich I Love Language Models 

53
00:02:40,810 --> 00:02:44,100
verwende, also wirklich als End 
User, also was muss ich wissen, 

54
00:02:44,430 --> 00:02:48,240
wenn ich solche prompts baue, 
aber da sind eher so Use Cases 

55
00:02:48,250 --> 00:02:52,860
gemeint wie GT oder vielleicht 
copilot wenn ich für die 

56
00:02:52,870 --> 00:02:55,640
Softwareentwicklung eigene 
Promis schreiben muss um das 

57
00:02:55,650 --> 00:02:59,130
Beste aus Language Model 
herauszubekommen, aber letzten 

58
00:02:59,140 --> 00:03:01,560
Endes möchte ich das Ganze 
natürlich in meinem eigenen 

59
00:03:01,570 --> 00:03:03,760
Anwendungen haben, ich möchte 
das was ich in den letzten 

60
00:03:03,770 --> 00:03:07,140
Jahren oder Monaten gebaut habe.
Möchte ich jetzt mit den ganzen 

61
00:03:07,150 --> 00:03:11,560
neuen AI Models mit den ganzen 
Services rund um die Salate, 

62
00:03:11,570 --> 00:03:15,740
Language Models oder generative 
EI im Allgemeinen ergänzen. 

63
00:03:16,150 --> 00:03:18,770
Und da hatten wir natürlich im 
Rahmen der Folge zur Bild schon 

64
00:03:18,780 --> 00:03:21,400
bisschen angeteasert. 
Heute geht es jetzt wirklich im 

65
00:03:21,410 --> 00:03:25,460
Detail darum, wie kann ich das 
Ganze einbauen und vielleicht 

66
00:03:25,470 --> 00:03:29,600
einfach mal zu schauen OK welche
Use cases gibt es eigentlich? 

67
00:03:29,990 --> 00:03:31,860
Ich glaube, das ist auch der 
schwierigste Teil. 

68
00:03:31,870 --> 00:03:33,930
Also ich glaube das. 
Wir sprechen heute darüber, wie 

69
00:03:33,940 --> 00:03:36,280
man das als Entwickler, 
Entwicklerin in die eigenen Apps

70
00:03:36,290 --> 00:03:40,260
einbaut, aber ich diesen Teil 
den richtigen Use Case zu finden

71
00:03:40,270 --> 00:03:42,210
für die eigene Anwendung für das
eigene Business. 

72
00:03:42,530 --> 00:03:45,850
Ich glaube, dass das die viel 
größere Herausforderung ist. 

73
00:03:45,860 --> 00:03:48,330
Ich bin mir sicher, der nächste 
Chatbot ist es nicht. 

74
00:03:48,340 --> 00:03:50,810
Also ich möchte ich jetzt schon 
auf keinen Fall in der Welt 

75
00:03:50,820 --> 00:03:53,600
leben, wo ich eigentlich mit 
jeder Technologie, mit jeder 

76
00:03:53,610 --> 00:03:55,290
Firma über den Chatbot 
Interagiere. 

77
00:03:55,520 --> 00:03:59,810
Nee, also weiß nicht cooler, 
finde ich glaube ich die 

78
00:03:59,820 --> 00:04:01,910
Anwendung selber intelligent 
ist. 

79
00:04:01,920 --> 00:04:04,720
Also Beispiel ich bau ne 
Buchhaltungs Software zum 

80
00:04:04,730 --> 00:04:08,000
Beispiel und dann wäre es 
vielleicht einfach irgendwie 

81
00:04:08,010 --> 00:04:11,400
unten rechts x Bubble einzubauen
wo ich sagen kann hey ich klicke

82
00:04:11,410 --> 00:04:13,710
drauf und dann kann ich fragen 
OK was sind denn die größten 

83
00:04:13,720 --> 00:04:16,149
Ausgaben die ich habe oder 
bereits über die Umsatzsteuern 

84
00:04:16,160 --> 00:04:18,870
vor viel smarter wäre das ja 
wenn ich. 

85
00:04:19,140 --> 00:04:23,130
Von weil quasi interaktiv, 
direkt, irgendwie intelligente 

86
00:04:23,140 --> 00:04:25,150
Vorschläge bekomme, was ich 
vielleicht auch vielleicht 

87
00:04:25,160 --> 00:04:27,790
Ausgaben optimieren könnte, wo 
ich Dinge zusammenfassen könnte,

88
00:04:27,800 --> 00:04:30,830
wenn Beifall automatisch 
erkennt, dass ich vielleicht 

89
00:04:30,870 --> 00:04:33,120
weiß ich nicht irgendwelche 
ähnlichen Ausgaben habe für das 

90
00:04:33,130 --> 00:04:37,620
für das gleiche Tool meine ein 
buchungstool EI erkennt, es ist 

91
00:04:37,630 --> 00:04:39,930
scheinbar wieder Zeit für eine 
Umsatzsteuer Erklärung oder was 

92
00:04:39,940 --> 00:04:42,000
weiß ich. 
Also ich möchte nicht mit einem 

93
00:04:42,010 --> 00:04:44,440
Bot interagieren, ich selber 
Intelligenz in den Apps haben 

94
00:04:44,450 --> 00:04:47,550
sowie Fotos im Prinzip auch 
irgendwie hat sich Anweisungen 

95
00:04:47,770 --> 00:04:50,800
geben kann. 
Und die ersten Anwendungen, die 

96
00:04:51,070 --> 00:04:53,220
schon vorher existierten, vor 
der großen I. 

97
00:04:53,230 --> 00:04:55,680
Welle machen das natürlich auch 
schon, egal ob es jetzt darum 

98
00:04:55,690 --> 00:04:58,100
geht und wie Video Recording 
Software zu haben, die am Ende 

99
00:04:58,110 --> 00:05:00,070
die Thumb Nails. 
Youtube rauswirft oder 

100
00:05:00,080 --> 00:05:03,350
irgendwelche Software, die gute 
Video Schnipsel findet oder 

101
00:05:03,360 --> 00:05:05,620
vielleicht Untertitel erzeugt. 
Und wir haben das jetzt selber 

102
00:05:05,630 --> 00:05:09,210
gemerkt im Rahmen der Initiative
rund um Tik Tok und Tok und 

103
00:05:09,220 --> 00:05:10,890
Instagram. 
Da gibt es tolle Tools, die 

104
00:05:10,900 --> 00:05:13,330
wirklich die Subtitles 
generieren, die gute Stellen 

105
00:05:13,340 --> 00:05:16,570
finden und wirklich den Use Case
in der eigenen Anwendung zu 

106
00:05:16,580 --> 00:05:18,000
finden ist glaube ich das 
Entscheidende. 

107
00:05:18,140 --> 00:05:20,190
Wir müssen natürlich auch hier 
in unterschiedlichen Rollen 

108
00:05:20,200 --> 00:05:23,330
denken, ja viele die hier den 
Podcast hören sind Developer und

109
00:05:23,340 --> 00:05:25,310
da hat man vielleicht gar nicht 
die Entscheidung was man 

110
00:05:25,320 --> 00:05:27,990
implementiert, sondern da geht 
es lediglich darum, wie 

111
00:05:28,000 --> 00:05:30,290
implementiere ich das und darum 
soll es auch in dieser Folge im 

112
00:05:30,300 --> 00:05:33,210
Detail gehen, aber wir haben 
natürlich auch Leute die sind 

113
00:05:33,250 --> 00:05:36,300
Product Owner oder einfach in 
der Software Branche. 

114
00:05:36,370 --> 00:05:39,340
Unterwegs müssen sich neue Use 
Cases entwickeln, die vielleicht

115
00:05:39,350 --> 00:05:41,690
selbst, und das ist glaube ich 
entscheidend, im ersten Schritt 

116
00:05:41,700 --> 00:05:45,530
zur schauen, OK, was ist für 
meine Anwendung der I Use Case, 

117
00:05:45,580 --> 00:05:47,590
den ich mir überlegen kann ich 
einbauen kann. 

118
00:05:47,600 --> 00:05:49,630
Es geht jetzt nicht darum 
wirklich Teufel komm raus 

119
00:05:49,640 --> 00:05:52,390
irgendwas einzubauen, aber in 
ganz vielen Fällen gibt es 

120
00:05:52,400 --> 00:05:55,150
wirklich smarte Ideen und da 
muss man wirklich einfach mal 

121
00:05:55,160 --> 00:05:58,590
anfangen und schauen OK die 
Tools die ich jetzt habe, die 

122
00:05:58,600 --> 00:06:01,660
ganzen Services die ich jetzt 
habe, welche neuen Möglichkeiten

123
00:06:01,670 --> 00:06:04,260
eröffnet mir das, was kann ich 
damit machen, was ich eigentlich

124
00:06:04,270 --> 00:06:07,370
schon immer machen wollte, was 
bisher aber noch nicht ging und 

125
00:06:07,380 --> 00:06:10,200
wie man das macht da drüber 
reden wir jetzt im Detail. 

126
00:06:10,640 --> 00:06:14,940
Genau das vielleicht spannend. 
Was macht ihr gerade sagt, was 

127
00:06:14,950 --> 00:06:16,800
meint das? 
Macht folgendes können wir als 

128
00:06:16,810 --> 00:06:20,970
Beispiel nehmen für für wie man 
das nachbauen würde und zwar 

129
00:06:20,980 --> 00:06:27,680
kann man da ein quasi ja ein ein
ein Video oder eine Audio von 

130
00:06:27,690 --> 00:06:30,420
zum Beispiel einem Podcast oder 
von auch von irgendetwas 

131
00:06:30,430 --> 00:06:33,690
aufgenommen eigentlich alles 
mögliche kann man da hochladen 

132
00:06:34,250 --> 00:06:37,960
und das Ding transkribiert das 
also ne übersetzt das in quasi 

133
00:06:37,970 --> 00:06:43,360
Text und zeigt einem so durch 
1030 Sekunden lange Schnipsel an

134
00:06:43,370 --> 00:06:46,360
wie gesagt das wäre n cooler 
Ausschnitt für Social Media aus 

135
00:06:46,370 --> 00:06:49,640
den und den Gründen zum Beispiel
hat einen spannenden Einstieg. 

136
00:06:49,710 --> 00:06:52,650
Ist ein provokantes Thema, gibt 
vielleicht einen Sprechen und am

137
00:06:52,660 --> 00:06:55,450
Ende kommt man zu einer guten 
Conclusion, setzt also 

138
00:06:55,460 --> 00:06:58,460
automatisch die Schnitte und 
schlägt uns als Creator und dann

139
00:06:58,780 --> 00:07:02,430
ja 2 330 Sekunden vor, wo das 
Ding automatisch kann, 

140
00:07:02,440 --> 00:07:06,610
vielleicht 345 spannendsten 
Stellen in eurem 2030 Minuten 

141
00:07:06,620 --> 00:07:10,400
Podcast. 
Wenn ihr wollt, können wir euch 

142
00:07:10,410 --> 00:07:14,440
raus, ihr könnt das irgendwie 
auf Social Media Posten und da 

143
00:07:14,450 --> 00:07:17,790
gibt es ja nicht eine AI für die
das Macht, sondern am Ende und 

144
00:07:17,800 --> 00:07:21,450
ich glaube das ist ein ganz ganz
wichtiger Punkt, der auch auf 

145
00:07:21,460 --> 00:07:23,430
den das auch in allen anderen, 
also den meisten anderen 

146
00:07:23,440 --> 00:07:26,430
Anwendungen hinauslaufen wird. 
Am Ende ist es wahrscheinlich 

147
00:07:26,440 --> 00:07:28,990
einfach nur eine Kombination, 
also nur s. 

148
00:07:29,060 --> 00:07:32,220
Gesehen, aber am Ende ist es 
einfach eine eine, eine, eine 

149
00:07:32,270 --> 00:07:38,370
Aneinanderreihung von Prompts, 
nativen Funktionen, externen 

150
00:07:38,380 --> 00:07:42,040
APIS, die da irgendwie 
aufgerufen würden wurden und 

151
00:07:42,050 --> 00:07:44,930
noch irgendwelchen 
Informationen, vielleicht im 

152
00:07:44,940 --> 00:07:48,040
Modell mit eingebunden waren, 
sondern irgendwo weiß nicht zum 

153
00:07:48,050 --> 00:07:51,300
Beispiel muss man auch sehen, 
Podcast angeben und dann weiß, 

154
00:07:51,310 --> 00:07:54,850
ob das Thema, also eigentlich 
Kombination Services und eine 

155
00:07:54,860 --> 00:07:57,340
Kombination, prompt gibt es 
nicht ein Modell was einmal 

156
00:07:57,350 --> 00:08:01,250
gekocht einfach zurück zeigte, 
dann dem User an, sondern es ist

157
00:08:01,260 --> 00:08:03,620
eine Kombination ohne einander 
Radio. 

158
00:08:06,070 --> 00:08:09,380
Absolut und viele Sachen davon 
kennen wir bereits schon und das

159
00:08:09,390 --> 00:08:11,430
sind solche Sachen wie Memory. 
Klar, wir haben immer 

160
00:08:11,440 --> 00:08:14,040
Informationen im Speicher 
abgelegt, in der Datenbank on 

161
00:08:14,050 --> 00:08:16,710
Disc, Wir haben in der 
Vergangenheit schon externe AP 

162
00:08:16,720 --> 00:08:19,760
is verwendet, verschiedene 
Services miteinander kombiniert 

163
00:08:19,810 --> 00:08:23,080
und jetzt im Rahmen der AI 
Services kommen halt bestimmte 

164
00:08:23,090 --> 00:08:26,450
neue Dinge dazu, einmal das 
Thema Prompts, worüber wir 

165
00:08:26,460 --> 00:08:30,000
letztes Mal gesprochen haben und
dann natürlich die Kombination 

166
00:08:30,010 --> 00:08:32,780
mit den eigenen Funktionalitäten
der Anwendung, das heißt ich 

167
00:08:32,789 --> 00:08:36,179
ergänze das was ich bisher hatte
mit AI und da kommen natürlich 

168
00:08:36,190 --> 00:08:40,179
ganz neue Herausforderungen 
hinein, weil natürlich solche RI

169
00:08:40,190 --> 00:08:43,130
services. 
Generative egal ob Sprache, 

170
00:08:43,140 --> 00:08:46,940
Bilder, Audio oder andere Dinge 
an sich auf generischen 

171
00:08:46,950 --> 00:08:50,110
Informationen trainiert wurden, 
das heißt, sie haben gelernt, 

172
00:08:50,120 --> 00:08:53,000
wie Sprache funktioniert. 
Sie haben gelernt, wie man 

173
00:08:53,010 --> 00:08:55,350
Bilder erzeugt, wie Bilder 
grundsätzlich aussehen, wie 

174
00:08:55,360 --> 00:08:59,330
verschiedene Dinge in bestimmten
Kunst Stilen im angegeben 

175
00:08:59,340 --> 00:09:03,140
werden, generiert werden und 
unsere Anwendung muss jetzt 

176
00:09:03,260 --> 00:09:06,870
dieser I sagen, was sie 
erreichen möchte oder was wir 

177
00:09:06,880 --> 00:09:08,820
aus dieser I. 
Zurückbekommen wollen. 

178
00:09:09,160 --> 00:09:11,880
Und diese EI ist an sich und 
wird jetzt beim Thema prompt 

179
00:09:11,890 --> 00:09:15,800
Engineering sagt DI hat zwar 
furchtbar viel wissen, aber sie 

180
00:09:15,810 --> 00:09:18,450
hat halt keinerlei Kontext, sie 
kennt meine Anwendungen nicht. 

181
00:09:18,520 --> 00:09:20,760
Sie kennt meinen Use Case nicht,
sie kennt die 

182
00:09:20,850 --> 00:09:23,600
domänenspezifischen 
Informationen nicht und gerade 

183
00:09:23,610 --> 00:09:26,180
am Beispiel dieser Video 
Generierung, die du genannt 

184
00:09:26,190 --> 00:09:27,730
hattest. 
Sie kennt natürlich meinen 

185
00:09:27,740 --> 00:09:30,820
Content gar nicht, sie weiß gar 
nicht, was eigentlich das Video,

186
00:09:30,830 --> 00:09:33,730
worüber wird gesprochen und 
diese Informationen müssen 

187
00:09:33,740 --> 00:09:36,130
natürlich jetzt an diese 
künstliche Intelligenz 

188
00:09:36,140 --> 00:09:39,060
übermittelt werden und dann mit 
den Informationen aus diesen 

189
00:09:39,070 --> 00:09:42,840
ganzen anderen, eher klassischen
Funktionsbereichen wie Speicher,

190
00:09:42,850 --> 00:09:46,380
externen APIS und den eigenen 
Funktionalitäten ergänzt werden.

191
00:09:47,440 --> 00:09:51,930
Genau, vielleicht mal an. 
Wir haben ja gerade schon im, 

192
00:09:51,940 --> 00:09:55,430
also du hast es schon gesagt, 
malte, es gibt da eigentlich 2 

193
00:09:55,440 --> 00:09:58,230
populäre Frameworks, gerade die 
einen so n bisschen durch 

194
00:09:58,240 --> 00:10:02,150
begleiten als Developer Sven 
Lang Chain und Semantik Kernel 

195
00:10:02,160 --> 00:10:04,670
gleich noch ein bisschen dran, 
aber im Prinzip arbeiten die 

196
00:10:04,740 --> 00:10:06,580
sehr ähnlich. 
Und zwar. 

197
00:10:07,240 --> 00:10:12,030
Und. 
Baue ich oder stelle ich als 

198
00:10:12,040 --> 00:10:14,730
Developer verschiedene Plugins 
bereit, die ich an einer 

199
00:10:14,740 --> 00:10:18,890
zentralen Registry registriere 
und diese Plugins, das können 

200
00:10:19,070 --> 00:10:21,680
prompt sein, die schon 
vorgeschrieben habe, also prompt

201
00:10:21,690 --> 00:10:24,380
Templates, das können native 
Funktionen sein, also 

202
00:10:24,390 --> 00:10:27,790
klassischer Code, den ich 
irgendwo habe, wo ich i Call, wo

203
00:10:27,800 --> 00:10:30,010
ich eine Datenbank Abfrage 
mache, wo ich irgendeine 

204
00:10:30,020 --> 00:10:36,420
Berechnung mache, wo ich irgend.
Filtersätze was, was auch immer.

205
00:10:37,030 --> 00:10:39,160
Und dann spricht man noch in der
I. 

206
00:10:39,170 --> 00:10:41,780
Welt von Memory, das ist dann 
nicht der Arbeitsspeicher, 

207
00:10:41,790 --> 00:10:46,130
sondern von der Erinnerung quasi
oder von generell von externen 

208
00:10:46,140 --> 00:10:48,150
Informationen. 
Also möchte ich zum Beispiel 

209
00:10:48,160 --> 00:10:50,640
Informationen ins Modell mit 
Reingeben, die relevant sind für

210
00:10:50,650 --> 00:10:53,740
den prompt, aber nicht im 
Trainingsset des Modells drin, 

211
00:10:53,750 --> 00:10:56,500
also Dinge, von denen das Modell
eigentlich noch nichts weiß. 

212
00:10:57,250 --> 00:11:00,810
Und all diese Dinge werden dann 
an einer zentralen Stelle, also 

213
00:11:00,820 --> 00:11:03,260
NT Kernel nennt das Planer. 
Ich weiß gar nicht genau, wie 

214
00:11:03,270 --> 00:11:07,410
lange das wahrscheinlich werden 
die dann da zusammengebaut. 

215
00:11:07,420 --> 00:11:10,030
Das bedeutet für eine bestimmte 
Anfrage, die reinkommt. 

216
00:11:10,640 --> 00:11:12,940
Hab ich dann verschiedene 
Funktionen zur Verfügung, die 

217
00:11:12,950 --> 00:11:15,650
ich in diesem Plan einen Plan 
verwandelt, dann diese 

218
00:11:15,660 --> 00:11:19,170
Aneinanderreihung von Promis, 
nativen Funktionen, externen API

219
00:11:19,180 --> 00:11:22,710
s Plugins, was auch immer, um am
Ende dann ein Ergebnis 

220
00:11:22,720 --> 00:11:26,590
rauszukriegen, aber quasi 
Schritt für Schritt n Call zum 

221
00:11:26,600 --> 00:11:29,540
Beispiel gegen einen EI Modell. 
Mache sage, dass ich das in 

222
00:11:29,550 --> 00:11:32,310
bestimmten Format zurückbekommen
möchte, das Ergebnis dann in den

223
00:11:32,320 --> 00:11:34,780
nächsten Schritt, zum Beispiel 
eine native Funktion mit 

224
00:11:34,790 --> 00:11:37,010
Reingebe und so weiter und 
sofort. 

225
00:11:39,020 --> 00:11:41,530
Dann lass uns vielleicht mal 
durch die einzelnen Elemente 

226
00:11:41,540 --> 00:11:44,550
durchgehen und ich glaube, eine 
gute Reihenfolge ist es aus der 

227
00:11:44,560 --> 00:11:46,690
user Perspektive das Ganze zu 
betrachten. 

228
00:11:46,700 --> 00:11:50,570
Also der Input kommt von User, 
egal ob das jetzt sowas ist wie 

229
00:11:50,580 --> 00:11:54,400
ZBT, wo der Input irgendwo Text 
ist oder es ist halt so ein 

230
00:11:54,410 --> 00:11:57,950
Video verarbeitungs Tool wo 
Input des Users n Video ist und 

231
00:11:57,960 --> 00:12:01,260
das erste was natürlich dann 
reinkommt und was wir brauchen 

232
00:12:01,590 --> 00:12:04,700
ist den sogenannten prompt. 
Wir haben letztes Mal drüber 

233
00:12:04,710 --> 00:12:06,650
gesprochen und dann noch mal 
gerne in die letzte Folge 

234
00:12:06,660 --> 00:12:10,810
reinhören zum Thema prompt 
Engineering wir bauen dann eine 

235
00:12:10,820 --> 00:12:14,310
Anweisung an so eine generative 
AI. 

236
00:12:14,540 --> 00:12:17,680
Das heißt, wir müssen zunächst 
erst mal die Grundlagen setzen, 

237
00:12:17,690 --> 00:12:19,890
sogenanntes Grounding. 
Das heißt, du hast einen Base 

238
00:12:19,900 --> 00:12:22,090
Model, du hast gerade gesagt, 
das ist auf ganz vielen 

239
00:12:22,100 --> 00:12:24,380
Informationen trainiert, die 
aber eigentlich nicht in einer 

240
00:12:24,390 --> 00:12:26,300
Anwendung zu tun. 
Es kann natürlich sein, dass 

241
00:12:26,310 --> 00:12:28,500
irgendwie Informationen 
eingeflossen sind, die aus einer

242
00:12:28,510 --> 00:12:31,400
ähnlichen Domäne stammen, aber 
grundsätzlich hat das nichts mit

243
00:12:31,410 --> 00:12:33,770
meiner Anwendung zu tun, und ich
muss jetzt zunächst einmal die 

244
00:12:33,780 --> 00:12:36,040
Grundlagen setzen, das heißt, 
ich hab den Hintergrund vor, 

245
00:12:36,350 --> 00:12:38,700
worum es eigentlich geht, das 
heißt, das gebe ich ins Modell 

246
00:12:38,710 --> 00:12:41,930
mit rein, dann gebe ich halt 
noch zusätzlichen Kontext rein, 

247
00:12:41,970 --> 00:12:44,390
dann reden wir gleich drüber, wo
der herkommt, der kann aus dem 

248
00:12:44,430 --> 00:12:47,070
User Input kommen, aber der kann
auch aus dem Speicher oder den 

249
00:12:47,080 --> 00:12:49,640
nativen Funktionen kommen, das 
heißt, diesen User Input muss 

250
00:12:49,650 --> 00:12:52,410
ich auch noch reingeben. 
Und dann kann ich halt noch 

251
00:12:52,660 --> 00:12:55,910
normale kontrollparameter Input 
Reingeben, wie halt bei der 

252
00:12:55,920 --> 00:12:58,390
klassischen Software. 
Das heißt, ich habe als User 

253
00:12:58,400 --> 00:13:00,590
habe ich irgendwelche Parameter 
die besetzt werden und welche 

254
00:13:00,600 --> 00:13:03,830
Variablen die ich besetze dich 
dann letzten Endes auch dort 

255
00:13:03,840 --> 00:13:07,020
weitergebe in diesen prompt und 
das sieht man ganz gut, wenn man

256
00:13:07,030 --> 00:13:14,110
sowas wie Chip t verwendet oder 
diese generativen Bild AIS 

257
00:13:14,120 --> 00:13:16,830
verwendet, zum Beispiel mit 
Journey, da kann ich einen 

258
00:13:16,840 --> 00:13:20,030
prompt bauen, das heißt ich 
beschreibe dann, worum geht es 

259
00:13:20,040 --> 00:13:23,270
eigentlich, was der Hintergrund,
was soll auf diesem Bild sein, 

260
00:13:23,280 --> 00:13:27,350
setzt er den Kontext, gebe dann 
konkret den Input, was soll auf 

261
00:13:27,360 --> 00:13:29,360
diesem Bild? 
Sein und kann dann aber bestimmt

262
00:13:29,370 --> 00:13:30,970
noch Parameter bestimmte 
Parameter setzen. 

263
00:13:30,980 --> 00:13:36,130
Ich kann sagen, OK, wie soll das
Bildformat sein, welche Kamera 

264
00:13:36,140 --> 00:13:38,950
soll vielleicht dort, wenn es 
fotorealistisch sein soll 

265
00:13:38,960 --> 00:13:42,730
irgendwie als Vorbild genommen 
werden, also wie soll das Output

266
00:13:42,740 --> 00:13:46,030
aussehen und das wird alles 
gemeinsam als prompt 

267
00:13:46,040 --> 00:13:50,310
zusammengestellt und dann in 
meiner Anwendung reingegeben und

268
00:13:50,320 --> 00:13:53,730
kann dann dafür verwendet 
werden, die richtige Rückmeldung

269
00:13:53,740 --> 00:13:55,450
aus meiner Anwendung zu 
bekommen. 

270
00:13:56,870 --> 00:13:59,080
Was auch super spannend ist, 
dass ich dann endlich einen 

271
00:13:59,090 --> 00:14:00,720
Output Format vorgeben kann. 
Ne. 

272
00:14:00,730 --> 00:14:03,830
Ich kann also wenn wenn wir als 
Menschen mit einem Language 

273
00:14:03,840 --> 00:14:08,110
Model Beispiel PT interagieren 
möchten wir den Menschen lesbare

274
00:14:08,120 --> 00:14:10,750
Output haben, also gehen wir 
Text zurück oder im Fall von mit

275
00:14:10,760 --> 00:14:14,260
Journey gib mir ein Bild zurück 
wenn ich das Ergebnis aber 

276
00:14:14,270 --> 00:14:17,350
programmatisch weiterarbeiten 
möchte, wäre es vielleicht 

277
00:14:17,360 --> 00:14:20,310
sinnvoll, dass Output Format 
Jason zu wählen und das kann ich

278
00:14:20,320 --> 00:14:23,310
auch in so einem Lager mitgeben,
das heißt mein prompt könnte 

279
00:14:23,320 --> 00:14:29,050
sein ich habe dieses Video 
transkribieren das nochmal bitte

280
00:14:29,090 --> 00:14:33,050
also transkribiert das Audio 
doch mal bitte in Text und gib 

281
00:14:33,060 --> 00:14:35,650
mir das in in Jason. 
Lass uns im folgenden Format 

282
00:14:35,910 --> 00:14:38,400
oder folgenden Jason Schema und 
dann kann ich dir mal ein 

283
00:14:38,410 --> 00:14:40,180
Beispiel mitgeben, wie es 
aussehen könnte und sagen so 

284
00:14:40,190 --> 00:14:44,160
jetzt so liebes Model und jetzt 
du und dann kann ich ja dieses 

285
00:14:44,170 --> 00:14:46,230
Auto einfach nehmen und dann 
komplett durch Parson. 

286
00:14:46,240 --> 00:14:50,340
Das heißt für mich als Vater 
ändert sich fast gar nichts im 

287
00:14:50,350 --> 00:14:54,480
Vergleich zu klassischen AB 
Calls, weil ich kann im 

288
00:14:54,490 --> 00:14:57,280
Gegenteil sogar schon ein 
bisschen so q ich vorgeben kann 

289
00:14:57,290 --> 00:15:01,780
was ich zurückbekomme, dann gib 
mir doch, dient zurück und die 

290
00:15:01,790 --> 00:15:04,130
meisten Level können das ist 
relativ cool. 

291
00:15:04,820 --> 00:15:06,100
Da kann ich eben weiter 
verarbeiten. 

292
00:15:06,290 --> 00:15:09,840
Also prompts, ich bau eigentlich
Text Blöcke vor, also 

293
00:15:09,850 --> 00:15:13,040
vorgefertigte Text Blöcke und 
kann dann mit mit mit Variablen 

294
00:15:13,050 --> 00:15:15,500
versehen, die programmatisch 
befülle, je nachdem was der User

295
00:15:15,510 --> 00:15:18,750
oder Userin eingegeben hat. 
Registriere diese Probleme 

296
00:15:18,760 --> 00:15:21,640
Registry und kann sie dann 
verwenden um eine Pipeline 

297
00:15:21,650 --> 00:15:23,690
verarbeitungs Partner nach 
aufzubauen. 

298
00:15:23,930 --> 00:15:26,050
Kann ja sein, dass innerhalb 
einer Anwendung verschiedener 

299
00:15:26,060 --> 00:15:29,820
Projekte oder wenn jemand 
Podcast vielleicht anderen 

300
00:15:29,830 --> 00:15:32,770
prompt verwende, als wenn jemand
jetzt ein klassisches Youtube 

301
00:15:32,780 --> 00:15:34,670
Video hochlädt sag ich mal 
irgendwo ein log. 

302
00:15:35,310 --> 00:15:38,450
Und das kann nicht anders sein. 
Aber am Ende möchte ich trotzdem

303
00:15:38,460 --> 00:15:41,290
die gleiche durchlaufen. 
Dann registriere ich diese 

304
00:15:41,300 --> 00:15:44,120
beiden Prompts, wenn ich nachher
den Planer benutze, um für 

305
00:15:44,160 --> 00:15:47,500
diesen Use Case meine Pipeline 
zusammenzubauen, nehme ich halt 

306
00:15:47,510 --> 00:15:50,190
für den Blog den Blog prompt und
für den Podcast dem Podcast 

307
00:15:50,200 --> 00:15:53,370
prompt, weil vielleicht andere 
Anweisungen Model mir bessere 

308
00:15:53,380 --> 00:15:57,130
Resultate geliefert haben. 
Und im Gegensatz zu solchen 

309
00:15:57,140 --> 00:16:01,570
Enduser EI Diensten wie ZBPT 
habe ich natürlich jetzt diesen 

310
00:16:01,580 --> 00:16:04,200
prompt nicht durch den User 
zusammengestellt. 

311
00:16:04,210 --> 00:16:07,450
Also der User gibt jetzt nicht 
den Text ein, sondern innerhalb 

312
00:16:07,460 --> 00:16:10,660
einer Anwendung baue ich diesen 
prompt zusammen, das heißt eine 

313
00:16:10,670 --> 00:16:13,630
Funktionalität meiner Anwendung 
dieser prompt erzeugt. 

314
00:16:13,700 --> 00:16:16,620
Und dieser Input, der kommt 
nicht nur durch den User Input, 

315
00:16:16,630 --> 00:16:19,130
wie zum Beispiel den Upload 
eines Videos oder irgendwie Text

316
00:16:19,140 --> 00:16:21,500
der eingegeben wird, sondern der
kommt auch durch die nativen 

317
00:16:21,510 --> 00:16:23,790
Funktionen einer Anwendung. 
Damit sind wir im nächsten 

318
00:16:23,800 --> 00:16:25,980
Schritt, wir haben bestimmte 
Funktionalitäten unserer 

319
00:16:25,990 --> 00:16:28,430
Anwendungen, die schon immer da,
die bauen wir jetzt neu, 

320
00:16:28,650 --> 00:16:32,020
Beispiel dieser Video Processing
Software, die konnte vielleicht 

321
00:16:32,030 --> 00:16:35,680
vorher schon oder kann auf jeden
Fall irgendwie Audio und Video 

322
00:16:35,740 --> 00:16:38,480
verarbeiten, sie kann die Audio 
Spur rausziehen und die 

323
00:16:38,490 --> 00:16:42,240
vielleicht einen anderen Dienst 
schicken um halt einen Speech to

324
00:16:42,250 --> 00:16:45,660
Text zu machen, das sind native 
Funktionen der Anwendung die 

325
00:16:45,670 --> 00:16:47,960
halt klassisch implementiert 
werden, das heißt ich schreibe 

326
00:16:47,970 --> 00:16:50,140
da ganz klassischen Code 
implementieren. 

327
00:16:50,210 --> 00:16:53,490
Selber benutze 
librariesbenutze.at s und Bau 

328
00:16:53,500 --> 00:16:57,450
das dann in meine Anwendung rein
und den Content den ich dann 

329
00:16:57,460 --> 00:16:59,780
zurück bekomme am Beispiel des 
Videos zum Beispiel die 

330
00:16:59,790 --> 00:17:02,720
Transkription des Videos gebe 
ich dann wieder zurück zur 

331
00:17:02,730 --> 00:17:05,940
Korrektur oder gebe ihnen dann 
als Teil des Prompts Inders 

332
00:17:06,240 --> 00:17:10,369
Large Language Model, das heißt 
hier arbeite ich ganz klassisch 

333
00:17:10,440 --> 00:17:13,390
so wie in der Software 
Entwicklung bisher, aber der 

334
00:17:13,400 --> 00:17:17,109
Output von diesen ganzen nativen
Funktionalitäten dient dann als 

335
00:17:17,119 --> 00:17:22,630
Grundlage oder als Ergänzung zu 
dem was ich mit dem mit der EI 

336
00:17:23,099 --> 00:17:25,569
erzeugt habe. 
Also was ich immer für den Trump

337
00:17:25,579 --> 00:17:27,819
baue oder was ich. 
Über die Rückmeldungen zum 

338
00:17:27,829 --> 00:17:30,920
prompt bekomme. 
Genau das können auch normale 

339
00:17:31,050 --> 00:17:34,020
Datenbankabfrage sein. 
Ne, das muss ja so ich ganz 

340
00:17:34,030 --> 00:17:36,640
viele Dinge, für die brauche ich
jetzt und jetzt KI zum Beispiel 

341
00:17:36,650 --> 00:17:39,900
das Rennen Video kann ich 
wahrscheinlich a machen, ist 

342
00:17:39,910 --> 00:17:41,640
aber wahrscheinlich 
wirtschaftlich uninteressant, 

343
00:17:41,650 --> 00:17:44,860
kann ich ja mit diktierte 
Libraries, das andere kann 

344
00:17:44,870 --> 00:17:46,830
natürlich sein, dass 
Sonderangebote natürlich keine 

345
00:17:46,840 --> 00:17:49,320
Informationen über seine User 
Datenbank hatte, wurde über das 

346
00:17:49,330 --> 00:17:52,070
Projekt was die User gerade auf 
hat, das heißt ich Datenbank 

347
00:17:52,080 --> 00:17:55,340
abfragen meine Datenbank. 
Es kann natürlich auch irgendwas

348
00:17:55,350 --> 00:17:57,970
sein, wo ich Party PI verwendet,
zum Beispiel wenn ich jetzt 

349
00:17:57,980 --> 00:17:59,730
sage, Hey, bau mir ein Video 
zusammen. 

350
00:17:59,740 --> 00:18:03,850
Für diesen Podcast. 
Kann ja sein, dass die Spotify 

351
00:18:03,860 --> 00:18:05,990
API Anzapft um sich 
Informationen über diesen 

352
00:18:06,000 --> 00:18:08,320
Podcast zu holen und dann 
vielleicht ein anderes Modell 

353
00:18:08,330 --> 00:18:11,920
reinfährt oder so weiter und 
wenn es muss ja nicht alles in E

354
00:18:11,930 --> 00:18:14,930
Call sein, wahrscheinlich die 
Kombination aus all dem. 

355
00:18:15,530 --> 00:18:17,820
Und dafür registriere ich dann 
genauso wie ich prompt an dieser

356
00:18:17,830 --> 00:18:21,290
Registry registriere native 
Funktionen, die nachher meiner 

357
00:18:21,300 --> 00:18:22,940
nachher meine Pipeline verwenden
kann. 

358
00:18:23,620 --> 00:18:26,500
Und kann diese dann natürlich 
schon isoliertesten. 

359
00:18:26,510 --> 00:18:29,330
Also ich kann sowohl die 
Prompts, das sieht so aus, dass 

360
00:18:29,340 --> 00:18:31,490
ich eigentlich quasi so 
Textdateien einfach nur 

361
00:18:31,500 --> 00:18:33,990
hinterlege. 
Diese paar Variablen haben und 

362
00:18:34,000 --> 00:18:36,680
kann die ja immer wieder neu 
testen, kann die vielleicht 

363
00:18:36,690 --> 00:18:39,970
einen prompt Engineering Team 
geben oder meine Daten und der I

364
00:18:39,980 --> 00:18:43,250
Team geben wir diese Promis halt
irgendwie baut ein völlig 

365
00:18:43,260 --> 00:18:45,070
anderes Team. 
Kann mir die nativen Funktionen 

366
00:18:45,080 --> 00:18:48,550
und Datenbank abfragen mit deren
Framework und Technologie der 

367
00:18:48,560 --> 00:18:53,370
Wahl bauen und das sind ganz 
kleine atomare Elemente die auch

368
00:18:53,380 --> 00:18:56,040
in sich sehr gut testbar sind 
und die ich dann nachher meine 

369
00:18:56,050 --> 00:18:58,780
Anwendungen durch so diese 
Pipelines zusammen. 

370
00:19:00,660 --> 00:19:02,410
Ich glaube, das ist ein ganz 
guter Analogie. 

371
00:19:02,420 --> 00:19:05,040
Ist halt so ein Orchestrator, 
auch wenn man über diese 

372
00:19:05,050 --> 00:19:07,080
Frameworks wie Semantik, Kernel 
spricht. 

373
00:19:07,090 --> 00:19:09,000
Das heißt, man hat diese 
verschiedenen Funktionalitäten, 

374
00:19:09,010 --> 00:19:11,480
die wir erwähnt haben, sind 
jetzt gerade bei den Bereich 

375
00:19:11,520 --> 00:19:14,980
eigene implementierungs Teile 
und dieser Orchestrator 

376
00:19:14,990 --> 00:19:17,580
dazwischen, also dieses 
Framework sorgt dafür, dass die 

377
00:19:17,590 --> 00:19:20,100
ganzen Inputs und Outputs 
miteinander kombiniert werden, 

378
00:19:20,110 --> 00:19:23,020
die Informationen richtig von A 
nach B schließen, weil ich habe 

379
00:19:23,030 --> 00:19:27,300
letzten Endes dann eine gar 
nicht beliebig komplexe 

380
00:19:27,310 --> 00:19:31,510
Kombination aus aus prompt aus 
eigenen Anwendungen, aus Dingen,

381
00:19:31,520 --> 00:19:33,400
die aus dem Speicher geladen 
werden, und die muss ich ja 

382
00:19:33,410 --> 00:19:35,920
richtig zusammenführen, das 
heißt, was braucht das Language 

383
00:19:35,930 --> 00:19:38,230
Model, was gibt das Language 
Model zurück? 

384
00:19:38,320 --> 00:19:40,670
Wo muss ich das ganze speichern?
Welche Informationen muss ich 

385
00:19:40,680 --> 00:19:42,200
ergänzen? 
Und das wird natürlich über so 

386
00:19:42,210 --> 00:19:44,930
ein Framework koordiniert, kann 
nicht alles händisch machen. 

387
00:19:44,940 --> 00:19:47,570
Wir haben es gerade beschrieben 
und jetzt wird man denken, OK, 

388
00:19:47,580 --> 00:19:51,100
in einem simplen Use Case mach 
das einfach alles selber, aber 

389
00:19:51,110 --> 00:19:53,580
werden gleich noch dazu kommen, 
wofür brauche ich eigentlich 

390
00:19:53,590 --> 00:19:57,740
Memory und da kommt eigentlich 
viel Komplexität rein, weil 

391
00:19:57,750 --> 00:20:00,780
natürlich in unserem Use Case 
gerade mit dem Video den wir 

392
00:20:00,790 --> 00:20:03,360
geschrieben haben gebe ich 
einmal Input, ein Video und 

393
00:20:03,370 --> 00:20:05,820
Krieg Informationen zurück die 
ich am Ende den Usern 

394
00:20:05,830 --> 00:20:09,240
präsentiere aber es gibt ja 
andere Anwendungen die halt eine

395
00:20:09,250 --> 00:20:11,950
extrem große Datenbanken 
Informationen haben, das heißt 

396
00:20:11,990 --> 00:20:15,680
ganz viel historisches Wissen 
über verschiedene. 

397
00:20:15,800 --> 00:20:17,550
Dinge, die die User mit dieser 
Anwendung gemacht haben. 

398
00:20:17,560 --> 00:20:20,780
Für mich sind ein gutes Beispiel
und Microsoft macht ja gerade 

399
00:20:20,790 --> 00:20:25,890
das Thema Copilot in Microsoft 
350 beziehungsweise 365 wir alle

400
00:20:25,900 --> 00:20:28,720
arbeiten irgendwie mit diesen 
Office Tools von Microsoft und 

401
00:20:28,730 --> 00:20:32,030
da sind halt teilweise 
Jahrzehnte von Informationen 

402
00:20:32,040 --> 00:20:35,070
reingekommen, ich habe 
irgendwelche sharepoint Seiten 

403
00:20:35,080 --> 00:20:38,660
Teams pages wo ganz viele 
Dokumente liegen wo ganz viel 

404
00:20:39,580 --> 00:20:42,930
Kontext liegt wo ich viel mit 
anderen gearbeitet habe und 

405
00:20:42,940 --> 00:20:46,390
diese Menge an Informationen, 
die ist ja bereits da und jetzt 

406
00:20:46,400 --> 00:20:49,140
muss ich natürlich wenn ich mit 
so einem Copilot in Microsoft 

407
00:20:49,150 --> 00:20:52,170
365 arbeite und diesen Copilot 
bestimmte. 

408
00:20:52,250 --> 00:20:54,910
Informationen entlocken will, da
Unterstützung bekommen will, 

409
00:20:55,140 --> 00:20:59,290
möchte ich natürlich, dass DI 
dies im Bewusstsein und mit den 

410
00:20:59,300 --> 00:21:01,350
Informationen tut. 
Das heißt, wenn ich jetzt 

411
00:21:01,360 --> 00:21:04,920
irgendwie einen Copilot für 
powerpoint frage, Hey, generiere

412
00:21:04,930 --> 00:21:07,960
mir zu folgendem Thema bitte 
irgendwie n paar Ideen für Slide

413
00:21:07,970 --> 00:21:10,450
Deck, da möchte ich natürlich, 
dass dieser Copilot für 

414
00:21:10,460 --> 00:21:14,080
powerpoint weiß, worüber ich 
halt mit meinen Kollegen e Mails

415
00:21:14,090 --> 00:21:16,460
ausgetauscht habe, welche 
Informationen sonst so irgendwie

416
00:21:16,470 --> 00:21:19,310
in meinem onedrive liegen und 
alle diese Informationen müssen 

417
00:21:19,320 --> 00:21:22,350
hier einfließen und damit ist 
das Thema Memory so entscheidend

418
00:21:22,400 --> 00:21:25,670
und da wird es dann natürlich 
auch komplex das zu koordinieren

419
00:21:25,860 --> 00:21:27,800
mit den ganzen anderen 
Funktionalitäten, die wir auch 

420
00:21:27,810 --> 00:21:29,900
gerade erwähnt haben. 
Genau. 

421
00:21:29,940 --> 00:21:33,820
Und dann geht es um das Thema M 
Weddings Vector Datenbanken, 

422
00:21:34,130 --> 00:21:38,110
denen die Frage, die wir 
beantworten müssen ist, was sind

423
00:21:38,120 --> 00:21:39,840
denn jetzt? 
Also ich fand ein gutes Beispiel

424
00:21:39,850 --> 00:21:44,270
um eine powerpoint Präsentation 
zu dem und dem Thema, was sind 

425
00:21:44,280 --> 00:21:46,780
denn jetzt die Informationen die
ich mit diesen prompt rein gebe,

426
00:21:46,790 --> 00:21:49,920
das können nicht alle Daten, 
alle Dokumente und alle Emails, 

427
00:21:49,930 --> 00:21:52,440
alle chat Nachrichten die ich 
jemals verfasst habe. 

428
00:21:53,870 --> 00:21:56,560
Wäre das viel zu viel, weil n 
prompt hat? 

429
00:21:56,570 --> 00:21:59,860
Ne hat ne hat ein Größen Limit. 
Ich kann eine bestimmte Anzahl 

430
00:21:59,870 --> 00:22:02,600
an in Text an Zeichen an 
Informationen in diesem Format 

431
00:22:02,610 --> 00:22:05,420
reingeben und selbst wenn ich 
das könnte, selbst wenn alle 

432
00:22:05,430 --> 00:22:08,580
Informationen reinpassen würden,
wäre das wahnsinnig teuer, denn 

433
00:22:08,590 --> 00:22:11,460
je größer man prompt, desto mehr
bezahle ich im Prinzip an diese 

434
00:22:11,470 --> 00:22:15,920
Langeweile müssen mehr rechnen 
und ich zahle irgendwie 

435
00:22:15,960 --> 00:22:19,020
abstrahiert Rechenleistung 
Tokens sind das in der Open I 

436
00:22:19,030 --> 00:22:24,160
World, das heißt ich muss jetzt 
schauen basieren auf meinem Bau 

437
00:22:24,170 --> 00:22:29,410
mir eine powerpoint Präsentation
zum Thema XYZ zum Thema weiß ich

438
00:22:29,420 --> 00:22:31,340
nicht. 
Podcasts. 

439
00:22:32,230 --> 00:22:34,230
Was sind denn die Informationen,
die ich jetzt aus meiner 

440
00:22:34,240 --> 00:22:38,110
Datenbank brauche? 
Die für diese Anfrage relevant 

441
00:22:38,120 --> 00:22:41,670
sein könnten. 
Und diese Frage, diese Suche, 

442
00:22:41,680 --> 00:22:45,420
das nennt man Semantic Search, 
das heißt, ich Suche. 

443
00:22:46,530 --> 00:22:49,440
Informationen und Inhalte 
aufgrund einer Semantik also ich

444
00:22:49,450 --> 00:22:54,500
suche nicht einen 1 zu 1 Treffer
von einem von einer sucht query 

445
00:22:54,510 --> 00:22:57,380
wenn ich n Präsentation, 
Übersicht, Podcast Marketing 

446
00:22:57,390 --> 00:23:00,130
machen möchte, da möchte ich 
nicht nur Dokumente kriegen wir 

447
00:23:00,140 --> 00:23:02,360
das Wort Podcast, das Wort 
Marketing und das Wort Podcast 

448
00:23:02,370 --> 00:23:07,560
Marketing vorkommen, sondern 
auch die logisch nah an diesem 

449
00:23:07,570 --> 00:23:11,360
Themen Raum liegen und logisch 
nah an diesem Themen Raum ist 

450
00:23:11,370 --> 00:23:15,300
genau das was ein Vektor 
versucht auszudrücken. 

451
00:23:15,340 --> 00:23:17,960
Ich versuch mal vorne anzufangen
und ich versuche nur so viel zu 

452
00:23:17,970 --> 00:23:20,750
erklären wie man als developer 
Entwickler wissen muss. 

453
00:23:21,560 --> 00:23:25,690
Wie funktioniert das Ganze? 
Es gibt m weddings Modelle 

454
00:23:26,100 --> 00:23:29,630
genauso wie S Language Modelle 
gibt und was ein embedding 

455
00:23:29,640 --> 00:23:33,590
Modell macht ist das erzeugt mir
aus aus irgendeiner Information 

456
00:23:33,600 --> 00:23:35,730
die ich da rein gebe. 
Es kann ein Wort, einen Satz, 

457
00:23:35,740 --> 00:23:39,130
ein ganzes Dokument sein, einen 
Vieldimensionalen. 

458
00:23:39,760 --> 00:23:44,030
Vektor. 
Das ist ein Array, also mehr die

459
00:23:44,040 --> 00:23:47,340
in 4 dimensionalen Array mit 
float zahlen da drin. 

460
00:23:49,250 --> 00:23:53,230
Und die Modelle sind passieren 
so, das heißt, ich kann Visionen

461
00:23:53,240 --> 00:23:55,770
Raum anordnen. 
Diese Informationen, die ich da 

462
00:23:55,780 --> 00:23:57,980
rein bekommen habe, zum Beispiel
dieses Dokument, und wenn ich 

463
00:23:57,990 --> 00:24:00,810
das exakt selbe Dokument nochmal
reingehen würde, ich exakt 

464
00:24:00,820 --> 00:24:02,350
denselben Werktor wieder 
bekommen. 

465
00:24:04,690 --> 00:24:09,230
Und. 
Wie genau das Modell auf diese 

466
00:24:09,420 --> 00:24:11,920
Vektoren, also auf diese, auf 
diese Werte in meinem 

467
00:24:11,930 --> 00:24:14,870
mehrdimensionalen Array kommt, 
das ist gar nicht so ganz genau 

468
00:24:14,880 --> 00:24:16,720
klar. 
Das ist auch nicht ganz genau 

469
00:24:16,730 --> 00:24:20,490
bewusst, sondern es ist einfach 
so, dass ähnliche Themen oder 

470
00:24:20,500 --> 00:24:24,190
ähnliche, genau ähnliche Themen 
ähnlich nah oder hat einen 

471
00:24:24,200 --> 00:24:25,630
möglichst ähnlichen Vektor 
bekommen. 

472
00:24:25,640 --> 00:24:28,880
Also wenn ich sage. 
Malte ist ein Superheld. 

473
00:24:28,920 --> 00:24:31,310
Bekomme ich vielleicht ganz 
Simplifiziert gesagt, Direktor 

474
00:24:31,320 --> 00:24:35,030
12345 zurück. 
Und wenn ich sage, Malte ist 

475
00:24:35,040 --> 00:24:38,110
Superman. 
Dann bekomme ich vielleicht 246 

476
00:24:38,120 --> 00:24:40,000
zurück, weil es einfach super 
ähnlich ist. 

477
00:24:40,010 --> 00:24:42,720
Weil malte stimmt schon mal 
überein und Superheld und so ein

478
00:24:42,730 --> 00:24:45,220
Superman sind auch irgendwie so 
nah beieinander. 

479
00:24:45,600 --> 00:24:49,040
Das heißt, wenn man sich das in 
einem nur dreidimensionalen Raum

480
00:24:49,050 --> 00:24:51,160
vorstellt, das ist aber deutlich
mehr dimensionaler Raum. 

481
00:24:51,830 --> 00:24:55,240
Dann wären die so diese 2 
Punkte, diese beiden Sätze ist 

482
00:24:55,250 --> 00:24:57,720
ein Superheld. 
Malte ist malte ist ein ein 

483
00:24:57,730 --> 00:25:02,130
Superman, einfach sehr nah 
beieinander, heißt embedding 

484
00:25:02,140 --> 00:25:06,290
Modelle generieren diese 
Vektoren und dann brauche ich 

485
00:25:06,300 --> 00:25:12,010
Vektor Datenbanken wo ich diese 
Vektoren dann Speicher, so dass 

486
00:25:12,020 --> 00:25:17,270
ich in Zukunft eine weitere 
Suche machen kann zum Beispiel. 

487
00:25:17,980 --> 00:25:20,890
Schreibe ein Essay über Marvel 
Helden. 

488
00:25:21,910 --> 00:25:25,000
Und dann wäre wahrscheinlich der
Satz ein S schreiben Essay über 

489
00:25:25,010 --> 00:25:29,800
Marvel Helden hätte einen 
Vektor, der hinreichend nah an 

490
00:25:29,810 --> 00:25:32,630
den beiden Informationen malte 
ein Superheld und malte ist 

491
00:25:32,640 --> 00:25:36,680
Superman liegen würde und diese 
Nähe, die kann ich eben 

492
00:25:36,750 --> 00:25:39,390
definieren, das heißt ich kann 
sagen gib mir alle Informationen

493
00:25:39,400 --> 00:25:44,140
die du hast die in diesem 
mehrdimensionalen Raum nah also 

494
00:25:44,150 --> 00:25:47,380
und so nah an meinem Initialen 
Request herankommen. 

495
00:25:48,690 --> 00:25:50,100
Ich weiß nicht, ob ich das gut 
erklären konnte. 

496
00:25:50,110 --> 00:25:54,640
Ich habe auf jeden Fall noch 2 
links in die Podcast beschreibt 

497
00:25:54,650 --> 00:25:56,180
das nochmal ein bisschen 
erklären. 

498
00:25:56,780 --> 00:26:00,500
Also im Prinzip machen wir uns 
mal, machen wir uns einfacher 

499
00:26:00,510 --> 00:26:02,080
und wählen einen 
dreidimensionalen Raum. 

500
00:26:02,090 --> 00:26:05,080
Das kann sich jeder vorstellen 
und ich trainiere 

501
00:26:05,690 --> 00:26:08,760
beziehungsweise ich stelle auf 
mit von allen Informationen, die

502
00:26:08,770 --> 00:26:11,720
ich zur Verfügung habe. 
Über diese embedding Modelle 

503
00:26:11,970 --> 00:26:14,990
einen 3einen.in diesen 3 
dimensionalen Raum. 

504
00:26:15,710 --> 00:26:18,010
Also dann einen sogenannten 
Vektor mit dem Fall nur 3 

505
00:26:18,020 --> 00:26:22,060
Achsen. 
Und wenn ich jetzt, wenn ich 

506
00:26:22,070 --> 00:26:24,950
jetzt Informationen brauche oder
alle Informationen brauche, die 

507
00:26:24,960 --> 00:26:28,520
eine gewisse Ähnlichkeit zu 
meiner Anfrage bekommen, ne, ich

508
00:26:28,530 --> 00:26:32,140
hab 1000 Dokumente überhaupt 
Podcasts über Marketing, ich 

509
00:26:32,150 --> 00:26:34,850
habe jeden einzelne Folge von 
jedem einzelnen Podcasts durch 

510
00:26:34,860 --> 00:26:37,480
dieses Vektor Modell gejagt und 
überall habe ich eben 

511
00:26:37,490 --> 00:26:38,980
dreidimensionalen Punkt für 
bekommen. 

512
00:26:38,990 --> 00:26:40,460
In unserem Simplifizierten 
Beispiel. 

513
00:26:40,990 --> 00:26:42,920
Diese dreidimensionalen Punkte 
packe ich alle in eine 

514
00:26:42,930 --> 00:26:46,040
sogenannte Vektor Datenbank, da 
gibt es zum Beispiel Quadrant, 

515
00:26:46,050 --> 00:26:47,840
ist ein Open Source Beispiel 
für. 

516
00:26:48,440 --> 00:26:52,170
Und wenn ich jetzt sage, welche,
welche Dokumente, welche 

517
00:26:52,180 --> 00:26:54,870
Informationen brauche ich denn 
für eine powerpoint Präsentation

518
00:26:54,880 --> 00:26:58,480
über Podcast Marketing, dann 
dann schick ich den Satz Podcast

519
00:26:58,490 --> 00:27:01,200
Präsentation powerpoint 
Präsentation über Podcast 

520
00:27:01,210 --> 00:27:04,100
Marketing auch in das gleiche W 
Modell bekommen wieder 

521
00:27:04,110 --> 00:27:06,820
irgendeinen Punkt diesen 3 
dimensionalen Raum und kann dann

522
00:27:06,830 --> 00:27:10,660
sagen zieh dir alle Dokumente 
alle Informationen an die so und

523
00:27:10,670 --> 00:27:14,420
so nah an diesem Punkt dran sind
sie schon mal aus die gar nichts

524
00:27:14,430 --> 00:27:18,380
damit zu tun hatten. 
So eddings Modell, das baut eben

525
00:27:18,390 --> 00:27:21,700
4 dimensionale Vektoren aus 
irgendwelchen Informationen. 

526
00:27:21,750 --> 00:27:24,290
Ich schicke vorher alle 
Informationen die ich habe und 

527
00:27:24,300 --> 00:27:26,670
dann wenn neue Anfrage kommt 
schick ich dir ebenfalls in 

528
00:27:26,680 --> 00:27:29,730
diesem Modell und suche dann was
ich in der Nähe von diesen 

529
00:27:29,740 --> 00:27:32,910
Vektoren von diesen von diesem 
Vektor den ich von meiner 

530
00:27:32,920 --> 00:27:36,300
Anfrage bekommen aufhält und 
dafür kann ich eigentlich jedes 

531
00:27:36,310 --> 00:27:39,270
A Modell jedes Language 
benutzen, könnte theoretisch 

532
00:27:39,280 --> 00:27:43,070
auch GT 4 dafür verwenden wir 
diese diese Vektoren zu 

533
00:27:43,080 --> 00:27:45,740
erstellen, das wäre aber viel zu
teuer, normalerweise nimmt man 

534
00:27:45,750 --> 00:27:48,640
dafür einfach speziell und 
günstigere Modelle zum Beispiel 

535
00:27:48,650 --> 00:27:53,900
Ada in der Open I Welt. 
Ich würde gerne noch mal einen 

536
00:27:53,910 --> 00:27:56,310
Schritt zurückgehen, weil wir so
viel über Datenbanken gesprochen

537
00:27:56,320 --> 00:27:57,840
haben. 
Und Datenbanken können in dem 

538
00:27:57,850 --> 00:28:01,230
Kontext natürlich sowohl 
Datenquelle sein. 

539
00:28:01,240 --> 00:28:04,210
Ich habe in meiner Anwendung 
schon existierende Datenbanken 

540
00:28:04,220 --> 00:28:08,210
oder Datenquellen, das heißt, es
können Dokumente sein, es können

541
00:28:08,290 --> 00:28:11,970
irgendwie relationale oder 
dokumentendatenbank sein, und da

542
00:28:11,980 --> 00:28:15,750
lese ich Informationen aus, 
während ich dann Direktor 

543
00:28:15,760 --> 00:28:18,450
Datenbank befülle, das heißt, 
aus diesen ganzen Informationen,

544
00:28:18,460 --> 00:28:22,090
die vorliegen, nämlich als 
Quelle, ist keine Datenbank 

545
00:28:22,100 --> 00:28:25,370
sein, es kann aber auch 
irgendwie Dateien sein, erzeuge 

546
00:28:25,380 --> 00:28:28,370
ich die Informationen, die dann.
In der Vektor Datenbank 

547
00:28:28,380 --> 00:28:31,260
gespeichert werden und wenn ich 
letzten Endes jetzt diese 

548
00:28:31,270 --> 00:28:34,660
Anfrage des Users bekomme oder 
das Dokument des Users ich 

549
00:28:34,670 --> 00:28:39,900
verarbeite wozu ich dann ne AI 
verwende um Informationen dazu 

550
00:28:40,110 --> 00:28:42,680
zu generieren, Informationen zu 
extrahieren, Content zu 

551
00:28:42,690 --> 00:28:46,110
erzeugen, dann nehme ich den 
User Input und ich nehme die 

552
00:28:46,120 --> 00:28:48,590
Informationen aus dieser Sektor 
Datenbank heißt ich schick. 

553
00:28:49,250 --> 00:28:51,630
Equiry an diese Datenbank 
bekommen die Informationen, die 

554
00:28:51,640 --> 00:28:55,470
ich dann mit meinem prompt 
anders an die generative I geben

555
00:28:55,480 --> 00:28:59,250
kann und diese Informationen 
hilft dann, den entsprechenden 

556
00:28:59,260 --> 00:29:00,630
Kontext zu liefern. 
Wir haben gerade darüber 

557
00:29:00,640 --> 00:29:03,600
gesprochen, wir wollen eine 
Präsentation über Podcast 

558
00:29:03,610 --> 00:29:06,680
Marketing machen und dann kann 
ich dort Informationen 

559
00:29:06,690 --> 00:29:10,240
einfließen lassen, die mit 
diesem Thema zu tun haben, also 

560
00:29:10,550 --> 00:29:13,020
Informationen aus, vielleicht 
aus dem gesamten Unternehmen auf

561
00:29:13,030 --> 00:29:15,820
alles da kommt vielleicht auch 
rechte Management rein wenn es 

562
00:29:15,830 --> 00:29:17,530
irgendwie ne große Anwendung 
ist. 

563
00:29:17,650 --> 00:29:21,460
Ja gerade das Beispiel Max 63 
genannt Informationen auf die du

564
00:29:21,470 --> 00:29:25,520
als User zugreifen darfst und 
die jetzt als Rektorin. 

565
00:29:25,590 --> 00:29:28,850
Datenbank vorliegen, schließen 
damit rein und dann kann 

566
00:29:28,860 --> 00:29:32,560
natürlich dieses Language Model 
oder diese generative i, wenn es

567
00:29:32,570 --> 00:29:35,380
um die andere Funktionalitäten 
geht auch viel mehr 

568
00:29:35,390 --> 00:29:37,690
Informationen zurückgreifen. 
Das heißt nicht nur das Training

569
00:29:37,700 --> 00:29:41,370
Set, sondern auch alle diese 
Informationen, die dann als 

570
00:29:41,380 --> 00:29:44,470
Antwort aus dieser Vektor 
Datenbank rauskommen können dann

571
00:29:44,480 --> 00:29:47,140
genutzt werden um irgendein 
Resultat zu erzeugen. 

572
00:29:47,150 --> 00:29:49,810
Das heißt damit habe ich dann 
die Möglichkeit das Ganze 

573
00:29:49,820 --> 00:29:52,890
wirklich zu personalisieren und 
das ist natürlich dann extrem 

574
00:29:52,900 --> 00:29:56,790
beeindruckend, wenn ich halt 
nicht so eine AI habe wie ich 

575
00:29:56,800 --> 00:30:01,030
vielleicht als Enduser von t 
kenne die halt irgendwelche 

576
00:30:01,080 --> 00:30:04,400
Informationen mir gibt. 
Wie sie auf Basis der des 

577
00:30:04,410 --> 00:30:07,540
Trainings Sets irgendwie 
internalisiert, hat es letzten 

578
00:30:07,550 --> 00:30:09,360
Endes nur darum geht. 
OK, wenn 

579
00:30:09,370 --> 00:30:11,660
Wahrscheinlichkeitsmodell 
welches Wort folgt, auf welches 

580
00:30:11,670 --> 00:30:14,230
wird schon irgendwie passen und 
dann ist das Training sein 

581
00:30:14,240 --> 00:30:17,750
geflossen, sondern diese EI weiß
beziehungsweise man hat das 

582
00:30:17,760 --> 00:30:21,950
Gefühl diese i weiß etwas über 
den Kontext, weiß was in meinem 

583
00:30:21,960 --> 00:30:24,400
Unternehmen passiert ist, weiß 
etwas über mich, das heißt alle 

584
00:30:24,410 --> 00:30:27,610
diese Informationen können damit
reingehen und dann helfen diesen

585
00:30:27,620 --> 00:30:30,520
Output zu erzeugen und das ist 
natürlich extrem wichtig, wenn 

586
00:30:30,530 --> 00:30:33,080
ich das im Kontext meiner 
Anwendung mache und du hast 

587
00:30:33,090 --> 00:30:35,900
vorhin gesagt, wir wollen jetzt 
nicht alle irgendwie einen 

588
00:30:36,290 --> 00:30:39,140
generischen Chat in unserer 
Anwendung einbauen, bitte nicht.

589
00:30:39,210 --> 00:30:41,630
Manchmal kann Chat irgendwie 
sinnvoll sein. 

590
00:30:41,780 --> 00:30:44,310
Ich meine, wir haben alle 
irgendwelche FAQ Datenbanken in 

591
00:30:44,320 --> 00:30:47,310
unserer Anwendung vielleicht 
drin, wo die Leute irgendwie ne 

592
00:30:47,320 --> 00:30:50,770
Dokumentation haben, FAQS haben.
Wenn ihr mögt könnt ihr 

593
00:30:50,780 --> 00:30:53,810
natürlich dann irgendwie Chat 
einbauen, aber dieser Chat muss 

594
00:30:53,820 --> 00:30:55,850
dann natürlich auch alle 
Informationen zur Anwendung 

595
00:30:55,860 --> 00:30:58,260
haben und die müssen dann 
natürlich entsprechend 

596
00:30:58,270 --> 00:31:01,200
einfließen und wenn diese 
Informationen überschaubar sind,

597
00:31:01,210 --> 00:31:04,190
dann kann ich natürlich das ganz
einfach über den Kontext mit dem

598
00:31:04,200 --> 00:31:05,570
prompt einfach als Text 
reingeben. 

599
00:31:05,580 --> 00:31:10,480
Klar AQ Datenbank easy, aber 
natürlich bei einer komplexen 

600
00:31:10,490 --> 00:31:12,820
Software kann das extrem viel 
sein und das würde ich dann 

601
00:31:12,830 --> 00:31:15,100
vielleicht strukturiert in 
Sonderfaktor Datenbank ablegen 

602
00:31:15,110 --> 00:31:18,430
und dann abrufen. 
Wenn letzten Endes die User dann

603
00:31:18,470 --> 00:31:21,060
mit diesem Chat interagieren, 
das heißt, dieser Chat kriegt 

604
00:31:21,070 --> 00:31:24,310
natürlich nur den Wert dadrüber,
dass er etwas über meine 

605
00:31:24,320 --> 00:31:27,080
Anwendungen weiß und das ist 
natürlich jetzt auch wenn wir 

606
00:31:27,090 --> 00:31:29,200
über vielleicht die 
Softwareentwicklung sprechen, 

607
00:31:29,210 --> 00:31:32,260
ich weiß nicht, wer von euch, 
die ihr zuhört, schon mal 

608
00:31:32,690 --> 00:31:36,900
Copilot Chat ausprobiert hat, 
also neue Möglichkeit mit 

609
00:31:36,910 --> 00:31:39,560
Copilot in der Entwicklung zu 
arbeiten, G. 

610
00:31:39,570 --> 00:31:43,200
Copilot Chat es gibt auch 
ähnliche Anwendungen von anderen

611
00:31:43,210 --> 00:31:47,310
Herstellern, wo ich wirklich ne 
Chat in meiner ID habe und in 

612
00:31:47,320 --> 00:31:49,650
meiner Entwicklungs Umgebung 
und. 

613
00:31:50,330 --> 00:31:53,440
Das wird natürlich spannend, 
wenn dieser Chat nicht nur 

614
00:31:53,610 --> 00:31:56,190
irgendwie generell was über 
Softwareentwicklung, wenn dieser

615
00:31:56,200 --> 00:31:59,360
wirklich weiß, wo arbeite ich 
gerade, was ist im Repository 

616
00:31:59,370 --> 00:32:02,700
drin oder was wird in einem 
Unternehmen allgemein verwendet 

617
00:32:02,750 --> 00:32:06,000
und umso mehr Informationen da 
rein fließen, umso besser wird 

618
00:32:06,010 --> 00:32:08,720
das bei diesen Chat 
Applikationen im 

619
00:32:08,730 --> 00:32:11,850
Softwareentwicklung Content ist 
das aktuell noch sehr am Anfang,

620
00:32:11,930 --> 00:32:15,290
das heißt meistens und am 
Beispiel von Copilot Chat ist 

621
00:32:15,300 --> 00:32:18,440
das so weiß der Chat nur über 
die Information Bescheid ich 

622
00:32:18,450 --> 00:32:21,280
gerade irgendwie Editor offen, 
habe aber in der Zukunft können 

623
00:32:21,290 --> 00:32:24,460
wir uns natürlich extrem viele 
Dinge vorstellen, dass dieser 

624
00:32:24,470 --> 00:32:27,090
Kontext entsprechend gesetzt 
wird. 

625
00:32:27,160 --> 00:32:29,130
Alle Informationen, die ich 
irgendwie im Unternehmen 

626
00:32:29,140 --> 00:32:31,880
verfügbar, auf die ich als User 
Zugriff habe, spricht der ganze 

627
00:32:31,890 --> 00:32:36,540
Source Code Libra, Ries, interne
Bibliotheken natürlich, da dann 

628
00:32:36,550 --> 00:32:38,680
rein fließen und das kann ich 
nicht immer einfach als Text 

629
00:32:38,690 --> 00:32:41,770
mitgeben, da muss ich solche 
Vektor Datenbanken verwenden, 

630
00:32:41,780 --> 00:32:45,050
die ich im Vorfeld befüllt habe 
mit den entsprechenden 

631
00:32:45,060 --> 00:32:47,390
Informationen und das sind 
einfach nur ein paar Beispiele n

632
00:32:47,400 --> 00:32:49,180
bisschen besser zu verstehen, 
deswegen wollte ich nochmal 

633
00:32:49,190 --> 00:32:52,340
aufgreifen, weil wir über 
Datenbanken gesprochen haben und

634
00:32:52,350 --> 00:32:54,550
da sind natürlich die eigenen 
Datenbanken gemeint, die schon 

635
00:32:54,560 --> 00:32:57,220
in meiner Anwendungen sind, aber
auch diese neuen Vektor 

636
00:32:57,230 --> 00:33:00,610
Datenbanken die ich jetzt 
brauche um die Informationen in 

637
00:33:00,620 --> 00:33:03,480
diese Language Model zum 
Beispiel einzugehen. 

638
00:33:04,020 --> 00:33:06,150
Ja, das ist super wichtig, dass 
sie natürlich vorher. 

639
00:33:06,980 --> 00:33:10,230
Aus Informationen, die wir haben
Vektoren erstellt haben müssen, 

640
00:33:10,440 --> 00:33:13,850
um sie dann, wenn ein prompt 
reinkommt, vergleichen zu können

641
00:33:13,860 --> 00:33:17,490
mit dem prompt und dann nur die 
Vektoren und Ranzuholen, die 

642
00:33:17,600 --> 00:33:20,810
hinreichend ähnlich sind und die
dahinterliegenden Daten als 

643
00:33:20,820 --> 00:33:23,110
Beispiel. 
Wenn ich jetzt Apfel und Birne 

644
00:33:23,120 --> 00:33:26,040
rein gebe, dann sind die auf der
Dimension. 

645
00:33:27,080 --> 00:33:30,550
Obst sehr nah beieinander auf 
der Dimension Farbe, aber 

646
00:33:30,560 --> 00:33:32,860
vielleicht weiter weg. 
Das heißt, wenn ich jetzt 

647
00:33:32,870 --> 00:33:35,510
irgendwie, sagen wir alle Dinge,
die rot, wenn ich jetzt 

648
00:33:35,520 --> 00:33:38,570
irgendwie anfragen über die 
Farbe rot stelle, da 

649
00:33:38,580 --> 00:33:42,330
wahrscheinlich die Birne nicht 
auftauchen, wenn ich jetzt aber 

650
00:33:42,340 --> 00:33:46,180
alle Informationen, wenn ich 
aber alles hier oben alle 

651
00:33:46,190 --> 00:33:48,650
Informationen, Informationen 
brauchst, die ich habe, dann 

652
00:33:48,660 --> 00:33:53,770
wird die wahrscheinlich 
auftauchen und es gibt es gibt 

653
00:33:53,780 --> 00:33:56,890
ein Plug in für Language Model 
von Wikipedia, das ist ganz 

654
00:33:56,900 --> 00:33:59,050
cool, weil die haben ja oft mit 
dem Problem zu kämpfen, dass die

655
00:33:59,060 --> 00:34:02,220
Daten etwas veraltet sind, weil 
sie die Daten die so lange Model

656
00:34:02,230 --> 00:34:05,850
hat ja üblicherweise. 
Auf dem Stand aufgehört haben 

657
00:34:05,860 --> 00:34:08,110
das Modell das letzte Mal 
trainiert wurden und deswegen 

658
00:34:08,150 --> 00:34:12,850
ich weiß wie JPT mit g 35 
rauskam, haben wir nämlich ganz.

659
00:34:12,860 --> 00:34:16,190
Wenn man Fragen über Twitter 
Übernahme von Elon Musk 

660
00:34:16,199 --> 00:34:18,940
gesprochen, gesprochen, die 
Information bekommen, darüber 

661
00:34:18,949 --> 00:34:23,409
weiß ich nichts, weil ich 
irgendwie 2021 zuletzt trainiert

662
00:34:23,420 --> 00:34:26,719
wurde und da ist jemand 
hingegangen und hat jeden 

663
00:34:26,730 --> 00:34:31,030
Wikipedia Artikel in einen 
Vektor umwandeln lassen, so dass

664
00:34:31,040 --> 00:34:33,650
ich jetzt sagen kann, wenn ich 
eine Anfrage an an so ein 

665
00:34:33,659 --> 00:34:37,380
Language Modelle wird aus dieser
Anfrage auch ein Vektor gebaut, 

666
00:34:37,540 --> 00:34:39,760
dann können alle Wikipedia 
Artikel genommen werden die 

667
00:34:39,770 --> 00:34:41,540
ähnlich sind. 
Zu der Anfrage, die ich gestellt

668
00:34:41,550 --> 00:34:45,380
habe, die werden prompt mit rein
gefüttert und dann hat das Level

669
00:34:45,389 --> 00:34:47,370
auf einmal auch sehr aktuelle 
Informationen. 

670
00:34:48,219 --> 00:34:52,020
Neben den bereits im Training 
Set enthaltenen Informationen 

671
00:34:52,150 --> 00:34:54,780
und ich glaube das das macht n 
bisschen deutlicher nochmal 

672
00:34:54,790 --> 00:34:56,750
wofür ich vektoren, vektor, 
Datenbanken brauche. 

673
00:34:57,510 --> 00:35:00,390
Und das brauche ich genau dann 
eben, wenn ich Informationen, 

674
00:35:00,430 --> 00:35:03,480
wenn ich gar nicht weiß, welche 
Informationen in den Promi rein 

675
00:35:03,490 --> 00:35:06,260
füttern möchte. 
Auch und aus einer Flut und 

676
00:35:06,270 --> 00:35:08,640
einer großen Menge an 
Informationen, die auswählen, 

677
00:35:08,650 --> 00:35:11,740
muss ich jetzt den mit rein 
gebe, weil der einfach Größen 

678
00:35:11,750 --> 00:35:15,130
limitiert ist. 
Ich glaube, genau das ist halt 

679
00:35:15,140 --> 00:35:17,520
wichtig, weil du gesagt hast, 
wenn ich eine große Menge an 

680
00:35:17,530 --> 00:35:20,280
Informationen habe, ich zunächst
erstmal durchsuchen muss und wo 

681
00:35:20,290 --> 00:35:23,800
ich wirklich diesen semantischen
Kontext herstellen muss, dann 

682
00:35:23,810 --> 00:35:26,560
brauche ich solche Vektor 
Datenbanken, die brauche ich 

683
00:35:26,570 --> 00:35:28,660
nicht immer. 
Natürlich kann ich auch i meine 

684
00:35:28,670 --> 00:35:31,660
Anwendungen einbauen, ohne das 
zu tun, indem ich einfach den 

685
00:35:31,670 --> 00:35:33,810
Kontext einfach über eine 
Datenbank Abfrage, meine 

686
00:35:33,820 --> 00:35:35,300
Datenbank. 
Mache ich vielleicht 

687
00:35:35,310 --> 00:35:38,170
Datenbanken, wo meine Dateien 
indiziert sind, dann kriege ich 

688
00:35:38,180 --> 00:35:41,420
irgendwie 20 Suchergebnisse. 
Ich nehme die G, die als Kontext

689
00:35:41,430 --> 00:35:44,290
mit rein, wenn die halt vom 
Umfang nicht zu groß sind und 

690
00:35:44,300 --> 00:35:46,650
wir sehen uns ja auch an 
Beispielen, wie irgendwie den 

691
00:35:47,100 --> 00:35:52,290
die den Bart Chat in Google oder
Bing Chat von Microsoft, wo dann

692
00:35:52,300 --> 00:35:54,790
letzten Endes einfach ne 
Internet suche gemacht wird und 

693
00:35:54,800 --> 00:35:56,990
die Suchergebnisse genommen 
werden und dann als Kontext mit 

694
00:35:57,000 --> 00:35:59,690
Reingegeben werden. 
In solchen Fällen reicht dann 

695
00:35:59,700 --> 00:36:02,480
einfach API Call oder ich kann 
einfach eine Abfrage auf meine 

696
00:36:02,490 --> 00:36:05,740
eigene Datenbank machen, wenn 
die Informationen jetzt nicht so

697
00:36:05,750 --> 00:36:08,270
riesig sind und ich wirklich 
diese semantischen Zusammenhänge

698
00:36:08,280 --> 00:36:11,530
herstellen muss, dann brauche 
ich vielleicht gar nicht so eine

699
00:36:11,540 --> 00:36:13,680
Vektor Datenbank. 
Aber man kommt relativ schnell 

700
00:36:13,690 --> 00:36:17,380
an dem Punkt, gerade wenn man AI
in große bestehende Anwendungen 

701
00:36:17,390 --> 00:36:20,930
einbaut, haben natürlich meine 
User die Erwartung, dass wenn 

702
00:36:21,110 --> 00:36:25,060
dort KI Funktionalitäten 
entstehen, dann dieser ganze 

703
00:36:25,070 --> 00:36:27,390
Kontext bekannt ist. 
Ne, ich meine wir nehmen jetzt 

704
00:36:27,400 --> 00:36:30,740
vielleicht ein Beispiel. 
Du hast gerade gesagt Photoshop,

705
00:36:30,790 --> 00:36:33,240
da ist es noch nicht so, aber 
wenn ich natürlich vielleicht so

706
00:36:33,250 --> 00:36:36,310
Adobe Cloud Subscriber bin, 
möchte ich vielleicht 

707
00:36:36,320 --> 00:36:38,830
irgendwann, dass wenn ich so 
eine Autovervollständigen meinen

708
00:36:38,840 --> 00:36:40,570
Bildern mache, wenn ich 
irgendwie Bildelemente 

709
00:36:40,580 --> 00:36:43,800
generieren lasse, das dann 
Photoshop oder Adobe 

710
00:36:43,810 --> 00:36:46,650
berücksichtigt wie meine ganzen 
anderen Bilder aussehen, die in 

711
00:36:46,660 --> 00:36:49,410
meiner Creative Cloud legen, das
ist vielleicht jetzt noch nicht 

712
00:36:49,420 --> 00:36:51,070
die Erwartungshaltung, aber umso
weiter. 

713
00:36:51,550 --> 00:36:54,000
Das Ganze in den Mainstream 
läuft umso mehr sich die Leute 

714
00:36:54,010 --> 00:36:56,520
daran gewöhnen, umso höher wird 
natürlich die Erwartungshaltung 

715
00:36:56,530 --> 00:37:00,580
da dran und am Ende wird es 
vielleicht stand heute auch noch

716
00:37:00,590 --> 00:37:04,170
reichen, wenn irgendwie meine AI
mir eine powerpoint Präsentation

717
00:37:04,180 --> 00:37:07,040
baut, dass sie irgendwie 
generisch auf Informationen, die

718
00:37:07,050 --> 00:37:09,440
irgendwie im Internet vorhanden 
sind, mit denen trainiert wurde,

719
00:37:09,750 --> 00:37:12,120
dann ich meine powerpoint 
bekomme, aber wir werden ganz 

720
00:37:12,130 --> 00:37:16,060
schnell an den Punkt kommen, wo 
erwartet wird, dass Hey ihr als 

721
00:37:16,070 --> 00:37:18,980
Firma die Anwendung ihr wisst 
doch so viel ne nehmt das doch 

722
00:37:18,990 --> 00:37:20,950
als Kontext und dann brauche ich
natürlich die entsprechende 

723
00:37:20,960 --> 00:37:24,020
Technologien um die 
Informationen auch eingeben. 

724
00:37:24,030 --> 00:37:26,170
H. 
Und auch nur dann gibt es dann 

725
00:37:26,180 --> 00:37:27,740
auch. 
Nur dann liefert sie auch echten

726
00:37:27,750 --> 00:37:29,560
Mehrwert. 
Was, wenn ich da wirklich. 

727
00:37:30,690 --> 00:37:34,520
Internen Informationen mit rein 
füttern kann aber keine Sorge. 

728
00:37:34,650 --> 00:37:38,120
Also ich weiß, dass also gerade 
dieses ganze Thema werktoren 

729
00:37:38,130 --> 00:37:41,030
embedding das finde ich so mit 
den komplexesten Teil an dieser 

730
00:37:41,040 --> 00:37:44,640
ganzen Sache, wer jetzt nicht 
wer das zum ersten Mal heute 

731
00:37:44,650 --> 00:37:46,940
gehört hat und nicht sofort bei 
dem es nicht sofort Klick 

732
00:37:46,950 --> 00:37:49,020
gemacht hat, überhaupt keine 
Sorge ist bei mir sehr lange 

733
00:37:49,030 --> 00:37:51,450
gedauert bis irgendwie klick 
gemacht hat, das muss man aber 

734
00:37:51,460 --> 00:37:54,460
als Developer gar nicht alles 
wissen, denn diese Frameworks, 

735
00:37:54,470 --> 00:37:57,400
also lang Chain unterstützen 
einen, dabei gibt es dann 

736
00:37:57,410 --> 00:38:01,000
einfach fertige Funktionen, die 
heißen irgendwie save as Memory 

737
00:38:01,010 --> 00:38:03,370
und dann gebe ich das einfach 
rein, ich muss das Ding 

738
00:38:03,380 --> 00:38:05,770
natürlich konkurrieren, indem 
ich da einmal im Hintergrund 

739
00:38:05,780 --> 00:38:09,430
irgendwie gesagt habe. 
Benutze zum zum Erstellen von 

740
00:38:09,440 --> 00:38:13,210
diesem Weddings dieses embedding
Model und speichert Direktoren 

741
00:38:13,220 --> 00:38:16,470
bitte in dieser Datenbank und 
danach geben wir diese Frames 

742
00:38:16,480 --> 00:38:20,170
einfach fertige Funktionen für 
Save s Memory and read from 

743
00:38:20,180 --> 00:38:24,060
memory und dann ne ich ich für 
mich ich finde es schadet nie so

744
00:38:24,070 --> 00:38:27,100
ein bisschen verstehen was 
letztendlich passiert unter der 

745
00:38:27,110 --> 00:38:31,330
Haube. 
Aber ich muss jetzt nicht genau 

746
00:38:31,340 --> 00:38:34,050
wissen, wieso n wie sich so ein 
Vektor zusammensetzt und welche 

747
00:38:34,450 --> 00:38:37,250
Technologien da in welche 
Richtung funktionieren, sondern 

748
00:38:37,260 --> 00:38:40,010
ich kann nachher einfach diese 
Frameworks verwenden und 

749
00:38:40,020 --> 00:38:43,150
programmatisch ansteuern und ich
glaube es lohnt sich, wenn man 

750
00:38:43,160 --> 00:38:45,720
ohnehin eher in die eigenen Apps
einbauen will, sich zumindest 

751
00:38:45,730 --> 00:38:48,710
lang Chain, das hat n Python 
Focus in der Python Welt sehr 

752
00:38:48,720 --> 00:38:52,290
populär und Semantik Kernel, das
ist das worauf der Microsoft 

753
00:38:52,300 --> 00:38:55,630
Copilot Stack aufsetzt, das hat 
einen starken.net Focus hat aber

754
00:38:55,640 --> 00:38:58,740
auch ne Python Implementierung, 
aber sich zumindest diese beiden

755
00:38:58,750 --> 00:39:02,440
Frames mal anschaut haben wir 
auch die Links unten reingepackt

756
00:39:03,080 --> 00:39:05,640
und wer da möchte. 
Kann da gerne mal ein Blick 

757
00:39:05,650 --> 00:39:07,450
drauf werfen und uns auch 
Feedback geben. 

758
00:39:07,460 --> 00:39:10,740
Wenn ihr da Projekte schon mit 
gebaut habt oder Feedback habt, 

759
00:39:10,920 --> 00:39:13,350
wenn ihr super dann interessiert
auch n bisschen zu wissen wie 

760
00:39:13,360 --> 00:39:16,240
eure Erfahrungen damit sind. 
Genau. 

761
00:39:16,250 --> 00:39:19,700
Und auch falls ihr bei euren 
Arbeitgebern an irgendwelchen 

762
00:39:19,710 --> 00:39:21,970
coolen Sachen gearbeitet habe, 
die jetzt schon sind, lasst uns 

763
00:39:21,980 --> 00:39:25,550
gerne davon wissen, wenn wir 
darüber reden dürfen, schreibt 

764
00:39:25,560 --> 00:39:27,190
das kurz dazu. 
Ansonsten ist einfach nur 

765
00:39:27,200 --> 00:39:30,760
spannend für uns, einfach zu 
sehen, was gibt es für Use Cases

766
00:39:30,810 --> 00:39:34,480
in der Industrie, wo wirklich i 
auch tatsächlich stattfindet. 

767
00:39:36,140 --> 00:39:39,150
Ganz genau. 
Dann wünsche ich euch viel Spaß 

768
00:39:39,160 --> 00:39:41,010
beim Einbauen von A ein und 
Apps. 

769
00:39:41,200 --> 00:39:44,190
Wir hoffen ihr habt heute was 
Cooles gelernt, wenn ihr Bock 

770
00:39:44,200 --> 00:39:46,550
habt uns n Kaffee auszugeben, 
findet ihr unter dem Link, 

771
00:39:46,800 --> 00:39:50,570
ansonsten freuen wir uns sehr in
2 Wochen wieder rein hört der 

772
00:39:50,580 --> 00:39:55,890
Dukas erscheint alle 2 Wochen. 
Bis dahin alles Gute. 

773
00:39:56,330 --> 00:39:59,110
Schreibt viel Code bis bald 
ciao.

