WEBVTT

1
00:00:05.365 --> 00:00:05.985
<00:00:05.365>So, <00:00:05.644>uh, <00:00:05.923>yeah.

2
00:00:06.125 --> 00:00:09.745
<00:00:06.125>Hi <00:00:06.300>everybody. <00:00:06.475>Welcome <00:00:06.650>to <00:00:06.825>my <00:00:07.000>or <00:00:07.175>our <00:00:07.350>talk <00:00:07.525>here.

3
00:00:09.965 --> 00:00:12.345
<00:00:09.965>So, <00:00:10.165>uh, <00:00:10.365>as <00:00:10.565>you <00:00:10.765>can <00:00:10.965>see, <00:00:11.165>Sandra, <00:00:11.365>um,

4
00:00:12.345 --> 00:00:14.585
<00:00:12.345>should <00:00:12.520>have <00:00:12.695>been <00:00:12.870>my <00:00:13.045>cos <00:00:13.220>speaker <00:00:13.395>for <00:00:13.570>this <00:00:13.745>talk.

5
00:00:14.775 --> 00:00:17.505
<00:00:14.775>Unfortunately, <00:00:15.055>due <00:00:15.335>to <00:00:15.615>family <00:00:15.895>duties, <00:00:16.175>uh,

6
00:00:17.505 --> 00:00:18.825
<00:00:17.505>she's <00:00:17.742>not <00:00:17.980>able <00:00:18.217>to <00:00:18.455>join <00:00:18.692>today.

7
00:00:19.485 --> 00:00:22.445
<00:00:19.485>But <00:00:19.640>yeah, <00:00:19.796>hopefully <00:00:19.951>we <00:00:20.107>can <00:00:20.262>do <00:00:20.418>this <00:00:20.573>talk <00:00:20.729>again <00:00:20.884>somewhere

8
00:00:22.505 --> 00:00:23.885
<00:00:22.505>and <00:00:22.753>then <00:00:23.001>she's <00:00:23.250>able <00:00:23.498>to <00:00:23.747>join.

9
00:00:25.195 --> 00:00:27.855
<00:00:25.195>My <00:00:25.370>name <00:00:25.545>is <00:00:25.720>Timal. <00:00:25.895>I'm <00:00:26.070>a <00:00:26.245>principal <00:00:26.420>solution <00:00:26.595>engineer

10
00:00:27.855 --> 00:00:28.895
<00:00:27.855>working <00:00:28.323>at <00:00:28.791>Broadcom.

11
00:00:28.955 --> 00:00:30.415
<00:00:28.955>For <00:00:29.142>those <00:00:29.330>people <00:00:29.518>that <00:00:29.705>are <00:00:29.893>not <00:00:30.081>aware <00:00:30.269>of

12
00:00:30.415 --> 00:00:34.695
<00:00:30.415>what <00:00:30.570>Broadcom <00:00:30.726>is <00:00:30.881>doing, <00:00:31.037>they <00:00:31.192>are <00:00:31.348>really, <00:00:31.503>um, <00:00:31.659>actually <00:00:31.814>known

13
00:00:34.715 --> 00:00:37.615
<00:00:34.715>for <00:00:34.870>semi <00:00:35.026>computing, <00:00:35.181>so <00:00:35.337>CHIPS <00:00:35.492>and <00:00:35.648>your <00:00:35.803>iPhones, <00:00:35.959>et <00:00:36.115>cetera.

14
00:00:37.955 --> 00:00:40.375
<00:00:37.955>But <00:00:38.155>the <00:00:38.355>end <00:00:38.555>with <00:00:38.754>the <00:00:38.955>acquisition <00:00:39.155>of <00:00:39.355>VMware

15
00:00:40.375 --> 00:00:42.015
<00:00:40.375>and <00:00:40.608>Pivotal, <00:00:40.841>they <00:00:41.075>are <00:00:41.308>also <00:00:41.541>the <00:00:41.775>vendor

16
00:00:42.075 --> 00:00:43.375
<00:00:42.075>of <00:00:42.465>Spring <00:00:42.855>and <00:00:43.245>RabbitMQ.

17
00:00:43.515 --> 00:00:45.375
<00:00:43.515>So <00:00:43.715>we <00:00:43.915>have <00:00:44.115>most <00:00:44.315>of <00:00:44.515>the <00:00:44.715>page, <00:00:44.915>uh,

18
00:00:46.135 --> 00:00:48.855
<00:00:46.135>engineers <00:00:46.368>working <00:00:46.601>on <00:00:46.835>this <00:00:47.068>open <00:00:47.301>source <00:00:47.535>solutions.

19
00:00:49.435 --> 00:00:51.335
<00:00:49.435>And, <00:00:49.668>um, <00:00:49.901>yeah, <00:00:50.135>my <00:00:50.368>job <00:00:50.601>is <00:00:50.835>actually

20
00:00:51.435 --> 00:00:54.135
<00:00:51.435>to <00:00:51.610>make <00:00:51.785>my <00:00:51.960>customers <00:00:52.135>happy, <00:00:52.310>solving <00:00:52.485>their <00:00:52.660>problems, <00:00:52.835>uh,

21
00:00:54.135 --> 00:00:55.535
<00:00:54.135>with, <00:00:54.449>for <00:00:54.765>example, <00:00:55.080>spring, <00:00:55.394>uh,

22
00:00:55.535 --> 00:00:57.735
<00:00:55.535>developer <00:00:56.001>platform <00:00:56.468>data <00:00:56.934>solutions.

23
00:01:00.005 --> 00:01:02.795
<00:01:00.005>Let's <00:01:00.180>talk <00:01:00.355>about, <00:01:00.530>um, <00:01:00.705>yeah, <00:01:00.880>our <00:01:01.055>topic <00:01:01.230>for <00:01:01.405>today.

24
00:01:02.815 --> 00:01:04.515
<00:01:02.815>At <00:01:02.989>the <00:01:03.165>end, <00:01:03.339>it's <00:01:03.515>like <00:01:03.690>just <00:01:03.864>a <00:01:04.039>short <00:01:04.215>overview

25
00:01:04.515 --> 00:01:06.235
<00:01:04.515>or <00:01:04.715>foundation <00:01:04.915>of <00:01:05.114>what <00:01:05.315>we <00:01:05.515>are <00:01:05.715>talking <00:01:05.915>about.

26
00:01:06.835 --> 00:01:07.915
<00:01:06.835>A <00:01:07.029>lot <00:01:07.223>of <00:01:07.418>the <00:01:07.612>solutions <00:01:07.807>here,

27
00:01:07.915 --> 00:01:09.555
<00:01:07.915>and <00:01:08.090>there <00:01:08.265>were <00:01:08.440>a <00:01:08.615>lot <00:01:08.790>of <00:01:08.965>talks <00:01:09.140>about <00:01:09.315>ai.

28
00:01:09.755 --> 00:01:10.795
<00:01:09.755>I <00:01:09.942>would <00:01:10.129>say <00:01:10.316>most <00:01:10.503>of <00:01:10.691>them,

29
00:01:11.105 --> 00:01:13.555
<00:01:11.105>they <00:01:11.338>really <00:01:11.571>are <00:01:11.805>focused <00:01:12.038>on <00:01:12.271>generative <00:01:12.505>ai,

30
00:01:13.555 --> 00:01:15.475
<00:01:13.555>which <00:01:13.755>is <00:01:13.955>a <00:01:14.155>really <00:01:14.355>small <00:01:14.555>subset <00:01:14.755>of <00:01:14.955>ai.

31
00:01:15.895 --> 00:01:18.755
<00:01:15.895>And <00:01:16.011>as <00:01:16.128>you <00:01:16.244>know, <00:01:16.361>AI <00:01:16.478>is <00:01:16.595>also <00:01:16.711>not <00:01:16.828>new. <00:01:16.945>It's <00:01:17.061>there <00:01:17.178>for <00:01:17.295>years.

32
00:01:19.025 --> 00:01:20.075
<00:01:19.025>It's <00:01:19.340>just <00:01:19.655>like <00:01:19.970>because

33
00:01:20.135 --> 00:01:22.395
<00:01:20.135>of <00:01:20.415>this <00:01:20.695>compute <00:01:20.975>power <00:01:21.255>new <00:01:21.535>architectures,

34
00:01:22.395 --> 00:01:25.355
<00:01:22.395>it's <00:01:22.550>really <00:01:22.706>possible <00:01:22.861>to <00:01:23.017>get <00:01:23.172>those <00:01:23.328>outcomes <00:01:23.483>that <00:01:23.639>we <00:01:23.795>see

35
00:01:25.355 --> 00:01:26.475
<00:01:25.355>with <00:01:25.859>generative <00:01:26.363>ai.

36
00:01:27.515 --> 00:01:30.175
<00:01:27.515>So <00:01:27.670>also <00:01:27.826>this <00:01:27.981>talk <00:01:28.137>will <00:01:28.292>mainly <00:01:28.448>focus <00:01:28.603>on <00:01:28.759>generative <00:01:28.915>AI

37
00:01:30.175 --> 00:01:32.695
<00:01:30.175>and <00:01:30.350>how <00:01:30.524>to <00:01:30.700>integrate <00:01:30.875>them <00:01:31.050>into <00:01:31.225>your <00:01:31.399>Java <00:01:31.575>applications.

38
00:01:33.445 --> 00:01:35.415
<00:01:33.445>Important <00:01:33.725>terms <00:01:34.005>here <00:01:34.285>are <00:01:34.565>foundation <00:01:34.845>models.

39
00:01:35.425 --> 00:01:39.415
<00:01:35.425>Those <00:01:35.552>are <00:01:35.679>really <00:01:35.806>big, <00:01:35.934>um, <00:01:36.061>models <00:01:36.188>that <00:01:36.315>are <00:01:36.443>drained <00:01:36.570>of <00:01:36.697>a <00:01:36.825>lot

40
00:01:39.415 --> 00:01:42.015
<00:01:39.414>of <00:01:39.589>data, <00:01:39.764>and <00:01:39.940>with <00:01:40.115>that <00:01:40.289>they <00:01:40.464>are <00:01:40.639>really <00:01:40.815>capable

41
00:01:42.155 --> 00:01:44.975
<00:01:42.155>of <00:01:42.330>doing <00:01:42.505>a <00:01:42.680>lot <00:01:42.855>of <00:01:43.030>things, <00:01:43.205>understanding <00:01:43.380>our <00:01:43.555>languages,

42
00:01:44.975 --> 00:01:46.415
<00:01:44.975>so <00:01:45.298>those <00:01:45.622>last <00:01:45.946>language <00:01:46.270>models

43
00:01:46.875 --> 00:01:49.575
<00:01:46.875>and <00:01:47.050>um, <00:01:47.225>yeah, <00:01:47.400>they <00:01:47.575>feel <00:01:47.750>sometimes <00:01:47.925>really <00:01:48.100>like <00:01:48.275>magic

44
00:01:49.575 --> 00:01:52.295
<00:01:49.575>because <00:01:49.775>of <00:01:49.975>the <00:01:50.175>capabilities, <00:01:50.375>um, <00:01:50.575>they <00:01:50.775>can <00:01:50.975>achieve.

45
00:01:52.295 --> 00:01:54.455
<00:01:52.295>And <00:01:52.470>at <00:01:52.645>the <00:01:52.820>end, <00:01:52.995>they're <00:01:53.170>built <00:01:53.345>like <00:01:53.520>our <00:01:53.695>brain.

46
00:01:54.485 --> 00:01:56.975
<00:01:54.485>This <00:01:54.612>is <00:01:54.739>also <00:01:54.866>why <00:01:54.994>they <00:01:55.121>can, <00:01:55.248>it <00:01:55.375>looks <00:01:55.503>like <00:01:55.630>they <00:01:55.757>can <00:01:55.885>think

47
00:01:57.355 --> 00:02:01.075
<00:01:57.354>as <00:01:57.510>we <00:01:57.666>can <00:01:57.821>in <00:01:57.977>general, <00:01:58.132>that's <00:01:58.288>a <00:01:58.443>little <00:01:58.599>bit <00:01:58.755>different.

48
00:02:01.175 --> 00:02:04.475
<00:02:01.175>So <00:02:01.282>if <00:02:01.390>we, <00:02:01.498>uh, <00:02:01.605>have <00:02:01.713>a <00:02:01.821>look <00:02:01.928>here <00:02:02.036>on <00:02:02.144>the <00:02:02.251>right <00:02:02.359>of <00:02:02.467>the <00:02:02.575>slide,

49
00:02:04.975 --> 00:02:07.195
<00:02:04.975>um, <00:02:05.149>at <00:02:05.324>the <00:02:05.500>end <00:02:05.675>what <00:02:05.850>we <00:02:06.024>do <00:02:06.199>is <00:02:06.375>like,

50
00:02:07.195 --> 00:02:08.235
<00:02:07.195>we <00:02:07.429>have <00:02:07.663>a <00:02:07.897>so-called <00:02:08.131>brand.

51
00:02:08.235 --> 00:02:10.475
<00:02:08.235>This <00:02:08.435>is <00:02:08.635>where <00:02:08.835>we <00:02:09.035>put <00:02:09.235>our <00:02:09.435>instructions <00:02:09.635>in

52
00:02:11.015 --> 00:02:13.355
<00:02:11.014>and <00:02:11.214>um, <00:02:11.415>this, <00:02:11.614>um, <00:02:11.815>brand <00:02:12.015>will <00:02:12.214>be <00:02:12.415>sent

53
00:02:13.355 --> 00:02:17.795
<00:02:13.355>to <00:02:13.510>the <00:02:13.666>generative <00:02:13.821>AI <00:02:13.977>model <00:02:14.132>where, <00:02:14.288>um, <00:02:14.443>via <00:02:14.599>so-called <00:02:14.755>tokens,

54
00:02:17.805 --> 00:02:21.795
<00:02:17.805>which <00:02:17.921>are <00:02:18.038>here <00:02:18.155>words, <00:02:18.271>but <00:02:18.388>can <00:02:18.505>be <00:02:18.621>small, <00:02:18.738>uh, <00:02:18.855>parts <00:02:18.971>of <00:02:19.088>a <00:02:19.205>word.

55
00:02:22.375 --> 00:02:25.435
<00:02:22.375>And, <00:02:22.550>um, <00:02:22.725>those <00:02:22.900>will <00:02:23.075>be <00:02:23.250>sent <00:02:23.425>there <00:02:23.600>as <00:02:23.775>instructions

56
00:02:25.935 --> 00:02:28.955
<00:02:25.935>and <00:02:26.062>then <00:02:26.189>at <00:02:26.316>the <00:02:26.444>end, <00:02:26.571>what <00:02:26.698>the <00:02:26.825>large <00:02:26.953>language <00:02:27.080>model <00:02:27.207>is <00:02:27.335>doing.

57
00:02:29.015 --> 00:02:31.595
<00:02:29.015>And <00:02:29.170>he <00:02:29.326>could, <00:02:29.481>um, <00:02:29.637>actually <00:02:29.792>saw <00:02:29.948>that <00:02:30.103>in <00:02:30.259>the <00:02:30.415>past,

58
00:02:31.615 --> 00:02:34.715
<00:02:31.615>if <00:02:31.742>you <00:02:31.869>were <00:02:31.996>using <00:02:32.124>Jet <00:02:32.251>GPT <00:02:32.378>for <00:02:32.505>example, <00:02:32.633>there <00:02:32.760>was <00:02:32.887>like <00:02:33.015>that,

59
00:02:34.915 --> 00:02:36.315
<00:02:34.915>there <00:02:35.167>was <00:02:35.418>an <00:02:35.671>answer <00:02:35.923>with <00:02:36.175>everything.

60
00:02:36.315 --> 00:02:38.755
<00:02:36.315>It <00:02:36.548>was <00:02:36.781>like <00:02:37.015>token, <00:02:37.248>token, <00:02:37.481>token, <00:02:37.715>token.

61
00:02:39.175 --> 00:02:40.435
<00:02:39.175>And <00:02:39.364>the <00:02:39.553>reason <00:02:39.742>for <00:02:39.931>that <00:02:40.120>is <00:02:40.309>that

62
00:02:40.435 --> 00:02:42.195
<00:02:40.435>what <00:02:40.590>a <00:02:40.746>large <00:02:40.901>language <00:02:41.057>model <00:02:41.212>is <00:02:41.368>doing <00:02:41.523>at <00:02:41.679>the <00:02:41.835>end,

63
00:02:42.195 --> 00:02:45.915
<00:02:42.195>it's <00:02:42.370>just <00:02:42.545>generating <00:02:42.720>the <00:02:42.894>next <00:02:43.070>word <00:02:43.245>or <00:02:43.420>next <00:02:43.595>tokens

64
00:02:45.915 --> 00:02:48.595
<00:02:45.915>or <00:02:46.090>part <00:02:46.265>of <00:02:46.440>the <00:02:46.614>work <00:02:46.790>based <00:02:46.965>on <00:02:47.140>the <00:02:47.315>probability.

65
00:02:49.255 --> 00:02:52.505
<00:02:49.255>So <00:02:49.394>it's <00:02:49.535>not <00:02:49.674>able <00:02:49.815>to <00:02:49.954>really <00:02:50.095>think <00:02:50.234>about <00:02:50.375>stuff, <00:02:50.515>et <00:02:50.655>cetera.

66
00:02:52.575 --> 00:02:54.945
<00:02:52.575>It's <00:02:52.750>just <00:02:52.924>like <00:02:53.100>the <00:02:53.274>probability <00:02:53.450>of <00:02:53.625>the <00:02:53.799>next <00:02:53.975>word.

67
00:02:54.945 --> 00:02:56.625
<00:02:54.945>And <00:02:55.295>that's <00:02:55.644>important <00:02:55.995>to <00:02:56.345>understand

68
00:02:58.415 --> 00:03:00.765
<00:02:58.415>if <00:02:58.695>we <00:02:58.975>talk <00:02:59.255>about <00:02:59.535>those <00:02:59.815>models.

69
00:03:00.905 --> 00:03:04.945
<00:03:00.905>What's <00:03:01.138>important <00:03:01.371>also <00:03:01.605>to <00:03:01.838>understand, <00:03:02.071>um, <00:03:02.305>is

70
00:03:04.945 --> 00:03:07.505
<00:03:04.945>that <00:03:05.120>actually <00:03:05.295>those <00:03:05.470>models, <00:03:05.644>what <00:03:05.820>we <00:03:05.995>are <00:03:06.170>talking <00:03:06.345>about

71
00:03:07.525 --> 00:03:10.465
<00:03:07.525>and <00:03:07.725>the <00:03:07.925>integrations, <00:03:08.125>they <00:03:08.325>are <00:03:08.525>completely <00:03:08.725>via <00:03:08.925>rest.

72
00:03:10.925 --> 00:03:12.545
<00:03:10.925>So <00:03:11.205>it's <00:03:11.485>like <00:03:11.765>they're <00:03:12.045>not, <00:03:12.325>like,

73
00:03:12.545 --> 00:03:14.025
<00:03:12.545>you're <00:03:12.767>not <00:03:12.989>directly <00:03:13.210>interacting <00:03:13.433>with <00:03:13.655>the <00:03:13.877>model.

74
00:03:14.295 --> 00:03:17.305
<00:03:14.295>Usually <00:03:14.450>you <00:03:14.606>have <00:03:14.761>an <00:03:14.917>I <00:03:15.072>provider, <00:03:15.228>you're <00:03:15.383>sending <00:03:15.539>your <00:03:15.695>requests

75
00:03:17.305 --> 00:03:18.945
<00:03:17.305>to <00:03:17.771>an <00:03:18.238>API <00:03:18.705>and

76
00:03:18.945 --> 00:03:22.065
<00:03:18.945>therefore <00:03:19.072>you <00:03:19.199>can <00:03:19.326>integrate <00:03:19.454>it <00:03:19.581>in <00:03:19.708>any <00:03:19.835>way <00:03:19.963>you <00:03:20.090>can <00:03:20.217>think <00:03:20.345>of

77
00:03:22.075 --> 00:03:23.865
<00:03:22.075>where <00:03:22.308>you <00:03:22.541>just <00:03:22.774>have <00:03:23.008>an <00:03:23.241>HDP <00:03:23.475>client

78
00:03:25.375 --> 00:03:27.635
<00:03:25.375>for <00:03:25.655>our <00:03:25.935>examples <00:03:26.215>here, <00:03:26.495>or <00:03:26.775>examples.

79
00:03:27.635 --> 00:03:29.195
<00:03:27.635>So <00:03:27.868>we <00:03:28.101>built <00:03:28.334>one <00:03:28.568>example <00:03:28.801>with <00:03:29.035>several

80
00:03:29.795 --> 00:03:30.875
<00:03:29.795>actually, <00:03:30.281>uh, <00:03:30.767>frameworks.

81
00:03:31.175 --> 00:03:34.195
<00:03:31.175>Um, <00:03:31.350>we <00:03:31.525>are <00:03:31.700>using <00:03:31.875>spring <00:03:32.050>as <00:03:32.225>a <00:03:32.400>Java <00:03:32.575>framework.

82
00:03:34.195 --> 00:03:35.795
<00:03:34.195>You <00:03:34.428>could <00:03:34.661>also <00:03:34.894>use <00:03:35.128>caucus, <00:03:35.361>et <00:03:35.595>cetera.

83
00:03:35.795 --> 00:03:37.635
<00:03:35.795>And <00:03:35.995>even <00:03:36.195>if <00:03:36.395>you're <00:03:36.595>not <00:03:36.795>a <00:03:36.995>spring <00:03:37.195>developer,

84
00:03:37.635 --> 00:03:39.435
<00:03:37.635>so <00:03:37.915>more <00:03:38.195>preferring <00:03:38.475>Cocos <00:03:38.755>Micro, <00:03:39.035>no,

85
00:03:39.865 --> 00:03:41.755
<00:03:39.865>this <00:03:40.040>talk <00:03:40.215>I <00:03:40.390>think <00:03:40.565>is <00:03:40.740>really <00:03:40.915>relevant <00:03:41.090>to <00:03:41.265>you

86
00:03:41.755 --> 00:03:43.715
<00:03:41.755>because <00:03:41.988>we <00:03:42.221>are <00:03:42.454>also <00:03:42.688>like <00:03:42.921>talking <00:03:43.155>about

87
00:03:43.775 --> 00:03:47.155
<00:03:43.775>or <00:03:43.975>comparing <00:03:44.175>frameworks <00:03:44.375>that <00:03:44.575>are, <00:03:44.775>uh, <00:03:44.975>framework <00:03:45.175>agnostic

88
00:03:48.685 --> 00:03:50.555
<00:03:48.685>while <00:03:48.965>spring, <00:03:49.245>spring <00:03:49.525>at <00:03:49.805>the <00:03:50.085>end,

89
00:03:50.695 --> 00:03:51.915
<00:03:50.695>uh, <00:03:50.832>I <00:03:50.969>said <00:03:51.106>we <00:03:51.244>are <00:03:51.381>the <00:03:51.518>vendor <00:03:51.655>of <00:03:51.793>it.

90
00:03:51.915 --> 00:03:55.155
<00:03:51.915>It's <00:03:52.070>the <00:03:52.226>most <00:03:52.381>popular, <00:03:52.537>um, <00:03:52.692>language <00:03:52.848>used <00:03:53.003>on <00:03:53.159>the <00:03:53.315>JV

91
00:03:55.215 --> 00:03:57.035
<00:03:55.215>or <00:03:55.495>framework <00:03:55.775>used <00:03:56.055>on <00:03:56.335>the <00:03:56.615>JVM.

92
00:03:57.655 --> 00:04:00.995
<00:03:57.655>And <00:03:57.830>um, <00:03:58.005>it's <00:03:58.180>really <00:03:58.355>focusing <00:03:58.530>on <00:03:58.705>developer <00:03:58.880>productivity, <00:03:59.055>uh,

93
00:04:00.995 --> 00:04:03.395
<00:04:00.995>which <00:04:01.170>is <00:04:01.345>from <00:04:01.520>my <00:04:01.695>perspective, <00:04:01.870>the <00:04:02.045>most <00:04:02.220>important <00:04:02.395>thing

94
00:04:03.395 --> 00:04:05.515
<00:04:03.395>because <00:04:03.570>then <00:04:03.745>you <00:04:03.920>can <00:04:04.095>really <00:04:04.270>focus <00:04:04.445>on <00:04:04.620>business <00:04:04.795>value

95
00:04:05.615 --> 00:04:08.715
<00:04:05.615>by <00:04:05.770>writing <00:04:05.926>business <00:04:06.081>code <00:04:06.237>instead <00:04:06.392>of <00:04:06.548>like <00:04:06.703>caring <00:04:06.859>about <00:04:07.015>how

96
00:04:08.715 --> 00:04:10.635
<00:04:08.715>to <00:04:08.890>integrate <00:04:09.065>a <00:04:09.240>vector <00:04:09.415>database <00:04:09.590>or <00:04:09.765>something <00:04:09.940>like <00:04:10.115>that.

97
00:04:12.545 --> 00:04:14.035
<00:04:12.545>What <00:04:12.813>I <00:04:13.081>already <00:04:13.349>mentioned <00:04:13.617>is <00:04:13.886>like,

98
00:04:14.415 --> 00:04:16.555
<00:04:14.415>how <00:04:14.590>do <00:04:14.765>I <00:04:14.940>actually <00:04:15.114>interact <00:04:15.290>on <00:04:15.465>the <00:04:15.640>low <00:04:15.815>level

99
00:04:16.555 --> 00:04:18.315
<00:04:16.555>with <00:04:16.755>those <00:04:16.954>large <00:04:17.155>language <00:04:17.355>models <00:04:17.555>At <00:04:17.755>the <00:04:17.954>end,

100
00:04:18.505 --> 00:04:20.515
<00:04:18.505>this <00:04:18.704>interaction <00:04:18.904>is <00:04:19.105>just <00:04:19.305>done <00:04:19.505>by <00:04:19.704>rest <00:04:19.904>calls.

101
00:04:21.135 --> 00:04:22.475
<00:04:21.135>You <00:04:21.376>can <00:04:21.617>see <00:04:21.858>this <00:04:22.099>example <00:04:22.341>here.

102
00:04:22.655 --> 00:04:24.835
<00:04:22.655>So <00:04:22.830>for <00:04:23.005>sure <00:04:23.179>we <00:04:23.354>need <00:04:23.530>like <00:04:23.705>a, <00:04:23.880>a <00:04:24.054>token.

103
00:04:25.295 --> 00:04:28.515
<00:04:25.295>Um, <00:04:25.495>for <00:04:25.695>authorization <00:04:25.895>we <00:04:26.095>have <00:04:26.295>the <00:04:26.495>rest <00:04:26.695>endpoint.

104
00:04:28.655 --> 00:04:30.995
<00:04:28.655>So <00:04:28.810>in <00:04:28.966>this <00:04:29.121>case <00:04:29.277>it's <00:04:29.432>open <00:04:29.588>a, <00:04:29.743>uh, <00:04:29.899>open <00:04:30.054>ai.

105
00:04:31.255 --> 00:04:34.635
<00:04:31.255>We <00:04:31.395>send <00:04:31.534>like <00:04:31.675>some <00:04:31.815>re <00:04:31.955>uh, <00:04:32.094>some <00:04:32.235>data <00:04:32.375>with <00:04:32.515>it, <00:04:32.655>like

106
00:04:34.635 --> 00:04:36.595
<00:04:34.635>what <00:04:34.810>model <00:04:34.985>we'd <00:04:35.159>like <00:04:35.335>to <00:04:35.510>use <00:04:35.685>and <00:04:35.860>the <00:04:36.034>prompt,

107
00:04:37.055 --> 00:04:39.635
<00:04:37.055>and <00:04:37.230>then <00:04:37.405>we'll <00:04:37.580>get <00:04:37.755>an <00:04:37.930>answer <00:04:38.105>Jasons, <00:04:38.280>for <00:04:38.455>example,

108
00:04:39.735 --> 00:04:42.315
<00:04:39.735>and <00:04:39.910>then <00:04:40.085>we <00:04:40.260>will <00:04:40.435>just <00:04:40.610>passe, <00:04:40.785>uh, <00:04:40.960>this <00:04:41.135>Jasons

109
00:04:42.375 --> 00:04:45.435
<00:04:42.375>and <00:04:42.575>get, <00:04:42.775>um, <00:04:42.975>the <00:04:43.175>response <00:04:43.375>so <00:04:43.575>relatively <00:04:43.775>easy.

110
00:04:45.535 --> 00:04:47.875
<00:04:45.534>So <00:04:45.710>why <00:04:45.885>is <00:04:46.059>there <00:04:46.234>a <00:04:46.409>need <00:04:46.585>for <00:04:46.760>a <00:04:46.934>framework

111
00:04:48.145 --> 00:04:49.475
<00:04:48.145>because <00:04:48.544>of <00:04:48.943>several <00:04:49.342>reasons.

112
00:04:49.575 --> 00:04:51.115
<00:04:49.575>So <00:04:49.852>what <00:04:50.129>those <00:04:50.406>frameworks <00:04:50.683>all <00:04:50.961>try

113
00:04:51.115 --> 00:04:53.715
<00:04:51.115>to <00:04:51.290>do <00:04:51.465>is <00:04:51.640>really <00:04:51.815>provide <00:04:51.990>a <00:04:52.165>high <00:04:52.340>abstraction <00:04:52.515>so

114
00:04:53.715 --> 00:04:56.675
<00:04:53.715>that <00:04:53.915>you <00:04:54.115>don't <00:04:54.315>have <00:04:54.515>to <00:04:54.715>actually, <00:04:54.915>um, <00:04:55.115>yeah,

115
00:04:56.675 --> 00:04:59.355
<00:04:56.675>create <00:04:56.875>all <00:04:57.075>those <00:04:57.275>special <00:04:57.475>things <00:04:57.675>like <00:04:57.875>structured <00:04:58.075>output,

116
00:04:59.355 --> 00:05:01.995
<00:04:59.355>which <00:04:59.495>means <00:04:59.635>that <00:04:59.775>in <00:04:59.915>Java <00:05:00.055>you <00:05:00.195>want <00:05:00.335>to <00:05:00.475>work <00:05:00.615>with <00:05:00.755>objects

117
00:05:01.995 --> 00:05:06.435
<00:05:01.995>and <00:05:02.122>not <00:05:02.249>like <00:05:02.376>having <00:05:02.504>a <00:05:02.631>text <00:05:02.758>response <00:05:02.885>that <00:05:03.013>you, <00:05:03.140>uh, <00:05:03.267>then <00:05:03.395>try

118
00:05:06.435 --> 00:05:07.795
<00:05:06.435>to <00:05:06.843>interpret <00:05:07.251>et <00:05:07.659>cetera.

119
00:05:08.545 --> 00:05:10.635
<00:05:08.545>Instead, <00:05:08.895>what, <00:05:09.245>um, <00:05:09.595>for <00:05:09.945>example,

120
00:05:10.715 --> 00:05:13.515
<00:05:10.715>those <00:05:10.914>abstractions <00:05:11.114>too <00:05:11.315>is <00:05:11.515>they <00:05:11.715>provide <00:05:11.914>additional <00:05:12.114>abstract,

121
00:05:13.515 --> 00:05:18.355
<00:05:13.515>uh, <00:05:13.690>additional <00:05:13.865>introductions <00:05:14.039>to, <00:05:14.215>um, <00:05:14.390>actually <00:05:14.565>ask <00:05:14.740>the <00:05:14.914>LLM

122
00:05:18.355 --> 00:05:22.155
<00:05:18.355>to <00:05:18.462>re <00:05:18.570>to <00:05:18.678>respond <00:05:18.785>in <00:05:18.893>js <00:05:19.001>n <00:05:19.108>in <00:05:19.216>a <00:05:19.324>specific, <00:05:19.431>for <00:05:19.539>a <00:05:19.647>specific, <00:05:19.755>uh,

123
00:05:22.155 --> 00:05:25.675
<00:05:22.155>class, <00:05:22.354>and <00:05:22.554>it'll <00:05:22.755>just <00:05:22.955>return <00:05:23.155>the <00:05:23.354>specific <00:05:23.554>class

124
00:05:25.775 --> 00:05:26.995
<00:05:25.775>or <00:05:26.049>instance <00:05:26.324>of <00:05:26.598>the <00:05:26.873>class.

125
00:05:27.015 --> 00:05:29.875
<00:05:27.015>And <00:05:27.248>that's <00:05:27.481>what <00:05:27.715>really <00:05:27.948>those <00:05:28.181>abstractions <00:05:28.414>provide.

126
00:05:30.665 --> 00:05:33.555
<00:05:30.665>Also, <00:05:30.865>things <00:05:31.065>like <00:05:31.265>the <00:05:31.465>ease <00:05:31.665>of <00:05:31.865>switching <00:05:32.065>models.

127
00:05:33.775 --> 00:05:35.875
<00:05:33.775>So <00:05:34.008>maybe <00:05:34.241>start <00:05:34.474>on <00:05:34.708>your <00:05:34.941>local <00:05:35.174>machine

128
00:05:35.875 --> 00:05:37.115
<00:05:35.875>where <00:05:36.247>the <00:05:36.619>test <00:05:36.991>containers

129
00:05:37.255 --> 00:05:39.555
<00:05:37.255>and, <00:05:37.455>uh, <00:05:37.655>alama <00:05:37.855>model <00:05:38.055>with <00:05:38.255>a <00:05:38.455>few, <00:05:38.655>uh,

130
00:05:39.555 --> 00:05:42.835
<00:05:39.555>billion <00:05:39.835>parameters <00:05:40.115>versus <00:05:40.395>having <00:05:40.675>open <00:05:40.955>AI

131
00:05:43.015 --> 00:05:46.995
<00:05:43.015>and <00:05:43.142>um, <00:05:43.269>with <00:05:43.396>every <00:05:43.524>test <00:05:43.651>you, <00:05:43.778>uh, <00:05:43.905>use <00:05:44.033>some <00:05:44.160>tokens, <00:05:44.287>et <00:05:44.414>cetera.

132
00:05:48.595 --> 00:05:49.655
<00:05:48.595>All <00:05:48.913>of <00:05:49.231>the <00:05:49.549>frameworks,

133
00:05:49.655 --> 00:05:51.215
<00:05:49.655>they <00:05:49.934>usually <00:05:50.215>also <00:05:50.494>support <00:05:50.775>more <00:05:51.054>advanced

134
00:05:51.525 --> 00:05:52.775
<00:05:51.525>betters, <00:05:52.087>uh, <00:05:52.650>patterns.

135
00:05:52.915 --> 00:05:56.775
<00:05:52.915>Um, <00:05:53.070>that <00:05:53.226>really <00:05:53.381>in <00:05:53.537>a <00:05:53.692>way <00:05:53.848>mitigate <00:05:54.003>the, <00:05:54.159>the <00:05:54.315>limitations

136
00:05:56.775 --> 00:05:59.565
<00:05:56.775>of <00:05:56.930>large <00:05:57.086>language <00:05:57.241>models, <00:05:57.397>which <00:05:57.552>is <00:05:57.708>usually <00:05:57.863>the <00:05:58.019>context <00:05:58.174>size,

137
00:05:59.565 --> 00:06:02.845
<00:05:59.565>so <00:05:59.720>how <00:05:59.876>much <00:06:00.031>information <00:06:00.187>you <00:06:00.342>can <00:06:00.498>put <00:06:00.653>in <00:06:00.809>the <00:06:00.965>prompt.

138
00:06:03.545 --> 00:06:05.365
<00:06:03.545>Um, <00:06:03.745>and <00:06:03.945>there <00:06:04.145>are <00:06:04.345>patterns <00:06:04.545>like, <00:06:04.745>uh, <00:06:04.945>rejuve,

139
00:06:05.365 --> 00:06:08.085
<00:06:05.365>augmented <00:06:05.540>generation, <00:06:05.715>which <00:06:05.890>we'll <00:06:06.065>have <00:06:06.240>a <00:06:06.415>look <00:06:06.590>later <00:06:06.765>tool

140
00:06:08.205 --> 00:06:10.165
<00:06:08.205>callings, <00:06:08.555>very, <00:06:08.905>very <00:06:09.255>famous <00:06:09.604>currently

141
00:06:10.165 --> 00:06:11.925
<00:06:10.165>because <00:06:10.398>of <00:06:10.631>all <00:06:10.865>those <00:06:11.098>AI <00:06:11.331>engine <00:06:11.565>stuff,

142
00:06:12.255 --> 00:06:13.645
<00:06:12.255>which <00:06:12.567>we'll <00:06:12.880>also <00:06:13.193>see <00:06:13.506>later.

143
00:06:14.385 --> 00:06:16.965
<00:06:14.385>And, <00:06:14.512>um, <00:06:14.639>at <00:06:14.766>the <00:06:14.894>end <00:06:15.021>it's <00:06:15.148>like <00:06:15.275>what <00:06:15.403>this <00:06:15.530>talk <00:06:15.657>is <00:06:15.784>about.

144
00:06:16.985 --> 00:06:19.885
<00:06:16.985>And <00:06:17.112>that's <00:06:17.239>not, <00:06:17.366>not <00:06:17.494>only <00:06:17.621>for <00:06:17.748>Java, <00:06:17.875>the <00:06:18.003>case <00:06:18.130>also <00:06:18.257>for <00:06:18.385>our,

145
00:06:19.985 --> 00:06:22.885
<00:06:19.985>all <00:06:20.185>our, <00:06:20.385>uh, <00:06:20.585>all <00:06:20.785>other <00:06:20.985>enterprise <00:06:21.185>languages, <00:06:21.385>like

146
00:06:22.885 --> 00:06:24.605
<00:06:22.885>for <00:06:23.118>example <00:06:23.351>in <00:06:23.585>frameworks <00:06:23.818>like <00:06:24.051>T <00:06:24.284>net

147
00:06:24.605 --> 00:06:28.565
<00:06:24.605>and, <00:06:24.780>uh, <00:06:24.955>um, <00:06:25.130>C <00:06:25.305>is <00:06:25.480>that <00:06:25.655>with <00:06:25.830>those <00:06:26.005>frameworks

148
00:06:28.565 --> 00:06:31.885
<00:06:28.565>because, <00:06:28.705>um, <00:06:28.844>AI <00:06:28.985>in <00:06:29.125>the <00:06:29.265>past <00:06:29.405>was <00:06:29.545>really <00:06:29.685>like <00:06:29.825>more <00:06:29.965>related

149
00:06:31.905 --> 00:06:35.925
<00:06:31.905>to <00:06:32.104>Python, <00:06:32.304>also <00:06:32.505>the <00:06:32.705>Java <00:06:32.905>adv, <00:06:33.104>uh, <00:06:33.304>developers

150
00:06:36.025 --> 00:06:38.045
<00:06:36.025>and <00:06:36.258>uh, <00:06:36.491>net <00:06:36.724>developers, <00:06:36.958>they <00:06:37.191>get <00:06:37.424>access

151
00:06:38.265 --> 00:06:40.485
<00:06:38.265>to <00:06:38.498>all <00:06:38.731>those <00:06:38.965>amazing <00:06:39.198>gen <00:06:39.431>AI <00:06:39.664>capabilities

152
00:06:42.965 --> 00:06:44.055
<00:06:42.965>regarding <00:06:43.455>the <00:06:43.946>framework.

153
00:06:44.075 --> 00:06:45.695
<00:06:44.075>So <00:06:44.541>here <00:06:45.008>three <00:06:45.474>examples.

154
00:06:45.695 --> 00:06:48.295
<00:06:45.695>There <00:06:45.835>are <00:06:45.974>more, <00:06:46.115>I <00:06:46.255>would <00:06:46.395>say <00:06:46.534>the <00:06:46.675>most <00:06:46.815>famous <00:06:46.955>ones <00:06:47.094>are

155
00:06:48.295 --> 00:06:49.335
<00:06:48.295>launch <00:06:48.607>J <00:06:48.919>four <00:06:49.231>J.

156
00:06:50.115 --> 00:06:54.015
<00:06:50.115>Um, <00:06:50.348>there <00:06:50.581>was <00:06:50.815>initiated <00:06:51.048>in <00:06:51.281>early <00:06:51.515>2023,

157
00:06:54.195 --> 00:06:56.575
<00:06:54.195>and <00:06:54.302>at <00:06:54.410>the <00:06:54.518>end <00:06:54.625>it's <00:06:54.733>like, <00:06:54.841>I <00:06:54.948>would <00:06:55.056>say <00:06:55.164>it, <00:06:55.271>it <00:06:55.379>was <00:06:55.487>the <00:06:55.594>first

158
00:06:57.085 --> 00:07:00.375
<00:06:57.085>Java, <00:06:57.284>uh, <00:06:57.484>framework, <00:06:57.685>um, <00:06:57.885>related <00:06:58.085>to <00:06:58.284>gen <00:06:58.484>ai.

159
00:07:00.375 --> 00:07:02.575
<00:07:00.375>There <00:07:00.575>were <00:07:00.775>others <00:07:00.975>like <00:07:01.175>image <00:07:01.375>recognition, <00:07:01.575>et <00:07:01.775>cetera.

160
00:07:02.575 --> 00:07:04.695
<00:07:02.575>But <00:07:02.702>for <00:07:02.829>gen <00:07:02.956>ai, <00:07:03.084>that <00:07:03.211>was <00:07:03.338>more <00:07:03.465>or <00:07:03.593>less <00:07:03.720>the <00:07:03.847>first <00:07:03.974>one.

161
00:07:05.555 --> 00:07:07.695
<00:07:05.555>And <00:07:05.710>even <00:07:05.866>the <00:07:06.021>name <00:07:06.177>is <00:07:06.332>really <00:07:06.488>similar <00:07:06.643>to <00:07:06.799>long <00:07:06.955>chain,

162
00:07:07.695 --> 00:07:09.215
<00:07:07.695>which <00:07:07.890>is <00:07:08.085>a <00:07:08.281>Python <00:07:08.476>model <00:07:08.672>doing <00:07:08.867>the <00:07:09.063>same.

163
00:07:09.215 --> 00:07:12.895
<00:07:09.215>So <00:07:09.370>integrating <00:07:09.526>gen <00:07:09.681>ai, <00:07:09.837>that's <00:07:09.992>not <00:07:10.148>really <00:07:10.303>related <00:07:10.459>to <00:07:10.614>that.

164
00:07:12.895 --> 00:07:15.495
<00:07:12.895>It <00:07:13.050>was <00:07:13.206>more <00:07:13.361>like, <00:07:13.517>yeah, <00:07:13.672>let's <00:07:13.828>do <00:07:13.983>something <00:07:14.139>in <00:07:14.294>Java.

165
00:07:15.595 --> 00:07:19.015
<00:07:15.595>And <00:07:15.735>everyone <00:07:15.875>knows <00:07:16.015>long <00:07:16.155>chain, <00:07:16.295>so <00:07:16.435>use <00:07:16.575>this <00:07:16.715>name <00:07:16.855>for <00:07:16.995>it.

166
00:07:19.755 --> 00:07:22.495
<00:07:19.755>Um, <00:07:19.910>the <00:07:20.066>big <00:07:20.221>benefit <00:07:20.377>of <00:07:20.532>long <00:07:20.688>chain <00:07:20.843>four <00:07:20.999>J <00:07:21.155>is

167
00:07:22.495 --> 00:07:25.055
<00:07:22.495>that <00:07:22.650>it's <00:07:22.806>framework <00:07:22.961>agnostic, <00:07:23.117>which <00:07:23.272>means <00:07:23.428>you <00:07:23.583>can <00:07:23.739>use <00:07:23.895>it

168
00:07:25.055 --> 00:07:27.975
<00:07:25.055>with <00:07:25.195>spring, <00:07:25.335>you <00:07:25.475>can <00:07:25.615>use <00:07:25.755>it <00:07:25.895>with <00:07:26.035>cocus <00:07:26.175>micron <00:07:26.315>node, <00:07:26.455>um,

169
00:07:28.245 --> 00:07:29.575
<00:07:28.245>even <00:07:28.644>without <00:07:29.043>a <00:07:29.442>framework.

170
00:07:29.835 --> 00:07:31.455
<00:07:29.835>That's <00:07:30.301>really <00:07:30.768>great. <00:07:31.234>Um,

171
00:07:31.875 --> 00:07:34.455
<00:07:31.875>at <00:07:32.050>the <00:07:32.225>end <00:07:32.400>it <00:07:32.575>also <00:07:32.750>provides <00:07:32.925>integration <00:07:33.100>to <00:07:33.275>spring,

172
00:07:34.595 --> 00:07:37.895
<00:07:34.595>et <00:07:34.722>cetera, <00:07:34.849>which, <00:07:34.976>which <00:07:35.104>makes <00:07:35.231>it <00:07:35.358>a <00:07:35.485>lot <00:07:35.613>easier <00:07:35.740>to <00:07:35.867>use <00:07:35.995>also

173
00:07:37.895 --> 00:07:38.935
<00:07:37.895>for <00:07:38.363>spring <00:07:38.831>developers.

174
00:07:39.895 --> 00:07:41.355
<00:07:39.895>The <00:07:40.157>next <00:07:40.420>framework <00:07:40.683>is <00:07:40.946>spring <00:07:41.209>ai.

175
00:07:41.935 --> 00:07:43.515
<00:07:41.935>Um, <00:07:42.285>it's <00:07:42.635>an <00:07:42.985>official, <00:07:43.335>uh,

176
00:07:43.515 --> 00:07:46.195
<00:07:43.515>spring <00:07:43.794>project <00:07:44.075>also <00:07:44.354>started <00:07:44.635>in <00:07:44.914>2023,

177
00:07:46.335 --> 00:07:49.155
<00:07:46.335>but <00:07:46.510>you <00:07:46.685>can <00:07:46.859>see <00:07:47.034>in <00:07:47.210>late <00:07:47.385>2000, <00:07:47.560>uh, <00:07:47.734>23.

178
00:07:49.615 --> 00:07:51.355
<00:07:49.615>And <00:07:49.815>it's <00:07:50.015>also <00:07:50.215>why <00:07:50.415>you <00:07:50.615>can <00:07:50.815>really <00:07:51.015>see,

179
00:07:51.375 --> 00:07:53.275
<00:07:51.375>see <00:07:51.575>some <00:07:51.775>influence <00:07:51.975>from <00:07:52.175>lung <00:07:52.375>chip <00:07:52.575>four <00:07:52.775>J.

180
00:07:53.335 --> 00:07:54.995
<00:07:53.335>So, <00:07:53.614>uh, <00:07:53.895>it's <00:07:54.174>influenced <00:07:54.455>by <00:07:54.734>it,

181
00:07:54.995 --> 00:07:57.835
<00:07:54.995>but <00:07:55.135>on <00:07:55.275>the <00:07:55.415>other <00:07:55.555>side <00:07:55.695>also <00:07:55.835>with <00:07:55.975>newer <00:07:56.115>features <00:07:56.255>like <00:07:56.395>MCP,

182
00:07:57.975 --> 00:07:59.235
<00:07:57.975>et <00:07:58.164>cetera, <00:07:58.353>that's <00:07:58.542>the <00:07:58.731>other <00:07:58.920>way <00:07:59.109>around.

183
00:07:59.235 --> 00:08:01.915
<00:07:59.235>So <00:07:59.410>it's <00:07:59.585>like, <00:07:59.760>it's <00:07:59.935>always <00:08:00.110>with <00:08:00.285>competition, <00:08:00.460>even <00:08:00.635>if,

184
00:08:01.915 --> 00:08:04.395
<00:08:01.915>I <00:08:02.070>don't <00:08:02.226>wouldn't <00:08:02.381>call <00:08:02.537>it <00:08:02.692>competition, <00:08:02.848>but <00:08:03.003>it's <00:08:03.159>always <00:08:03.315>nice

185
00:08:04.395 --> 00:08:07.315
<00:08:04.395>because <00:08:04.550>it <00:08:04.706>really <00:08:04.861>helps <00:08:05.017>you, <00:08:05.172>uh, <00:08:05.328>to <00:08:05.483>improve <00:08:05.639>your <00:08:05.794>product.

186
00:08:08.785 --> 00:08:11.675
<00:08:08.785>It's <00:08:09.018>supported, <00:08:09.251>um, <00:08:09.485>since <00:08:09.718>spring <00:08:09.951>booth <00:08:10.185>3.4.

187
00:08:11.815 --> 00:08:13.475
<00:08:11.815>So <00:08:12.094>if <00:08:12.375>you <00:08:12.655>are <00:08:12.935>on <00:08:13.215>2.7

188
00:08:13.495 --> 00:08:15.355
<00:08:13.495>or <00:08:13.650>something <00:08:13.806>like <00:08:13.961>that, <00:08:14.117>now <00:08:14.272>it's <00:08:14.428>the <00:08:14.583>time <00:08:14.739>to <00:08:14.895>upgrade

189
00:08:15.415 --> 00:08:16.435
<00:08:15.415>to <00:08:15.721>get <00:08:16.027>those <00:08:16.333>capabilities.

190
00:08:17.315 --> 00:08:19.815
<00:08:17.315>If <00:08:17.455>you <00:08:17.594>want <00:08:17.735>to <00:08:17.875>more <00:08:18.015>information <00:08:18.155>about <00:08:18.295>how <00:08:18.435>you <00:08:18.575>you <00:08:18.715>migrate,

191
00:08:19.875 --> 00:08:21.735
<00:08:19.875>uh, <00:08:20.155>how <00:08:20.435>to <00:08:20.715>migrate <00:08:20.995>your <00:08:21.275>application

192
00:08:21.735 --> 00:08:23.655
<00:08:21.735>to <00:08:21.910>new <00:08:22.085>versions <00:08:22.260>in <00:08:22.435>an <00:08:22.610>automated <00:08:22.785>way, <00:08:22.960>feel <00:08:23.135>free

193
00:08:23.655 --> 00:08:25.055
<00:08:23.655>to <00:08:23.907>reach <00:08:24.159>out <00:08:24.411>to <00:08:24.663>me <00:08:24.915>afterwards.

194
00:08:25.915 --> 00:08:29.055
<00:08:25.915>And, <00:08:26.090>uh, <00:08:26.265>we <00:08:26.440>provide <00:08:26.615>enterprise <00:08:26.790>support, <00:08:26.965>um, <00:08:27.140>for <00:08:27.315>that

195
00:08:29.935 --> 00:08:31.645
<00:08:29.935>since <00:08:30.215>the <00:08:30.495>GA <00:08:30.775>in, <00:08:31.055>uh, <00:08:31.335>may.

196
00:08:32.115 --> 00:08:34.325
<00:08:32.115>Another <00:08:32.348>one <00:08:32.581>I <00:08:32.815>will <00:08:33.048>not <00:08:33.281>cover <00:08:33.515>today

197
00:08:34.325 --> 00:08:36.085
<00:08:34.325>because <00:08:34.500>of <00:08:34.675>the <00:08:34.850>time, <00:08:35.025>we <00:08:35.200>only <00:08:35.375>have <00:08:35.550>30 <00:08:35.725>minutes.

198
00:08:36.665 --> 00:08:39.445
<00:08:36.664>Um, <00:08:36.781>but <00:08:36.898>the <00:08:37.015>code <00:08:37.131>is <00:08:37.248>available <00:08:37.365>so <00:08:37.481>you <00:08:37.598>can <00:08:37.714>have <00:08:37.831>a <00:08:37.948>closer <00:08:38.064>look.

199
00:08:39.475 --> 00:08:41.085
<00:08:39.475>Asim <00:08:39.755>Monte <00:08:40.034>Kernel, <00:08:40.315>it's <00:08:40.595>from <00:08:40.875>Microsoft.

200
00:08:41.585 --> 00:08:44.445
<00:08:41.585>Um, <00:08:41.818>it's <00:08:42.051>also <00:08:42.285>like <00:08:42.518>launch <00:08:42.751>in <00:08:42.985>2023,

201
00:08:44.445 --> 00:08:46.165
<00:08:44.445>but <00:08:44.645>a <00:08:44.845>big <00:08:45.045>difference <00:08:45.245>there <00:08:45.445>is <00:08:45.645>also <00:08:45.845>like

202
00:08:46.165 --> 00:08:48.565
<00:08:46.165>that <00:08:46.398>it's <00:08:46.631>available <00:08:46.865>in <00:08:47.098>different, <00:08:47.331>uh, <00:08:47.564>languages.

203
00:08:48.565 --> 00:08:50.605
<00:08:48.565>So <00:08:48.740>it's <00:08:48.915>available <00:08:49.090>in <00:08:49.265>Java, <00:08:49.440>C <00:08:49.615>Sharp <00:08:49.790>and <00:08:49.965>Python.

204
00:08:51.305 --> 00:08:54.525
<00:08:51.305>And <00:08:51.444>you <00:08:51.584>can <00:08:51.724>imagine <00:08:51.864>even, <00:08:52.005>uh, <00:08:52.145>Microsoft <00:08:52.285>has <00:08:52.425>a <00:08:52.564>Java <00:08:52.704>team

205
00:08:54.555 --> 00:08:56.725
<00:08:54.555>with, <00:08:54.788>for <00:08:55.021>example, <00:08:55.255>ra <00:08:55.488>part <00:08:55.721>of <00:08:55.954>it.

206
00:08:57.025 --> 00:08:59.965
<00:08:57.025>Um, <00:08:57.141>at <00:08:57.258>the <00:08:57.375>end <00:08:57.491>it's <00:08:57.608>like <00:08:57.725>a <00:08:57.841>huge <00:08:57.958>focus <00:08:58.074>is <00:08:58.191>on <00:08:58.308>the <00:08:58.425>sharp

207
00:08:59.965 --> 00:09:02.325
<00:08:59.965>because <00:09:00.105>there, <00:09:00.245>it's, <00:09:00.385>as <00:09:00.525>far <00:09:00.665>as <00:09:00.805>I <00:09:00.945>know, <00:09:01.085>the <00:09:01.225>only, <00:09:01.365>uh,

208
00:09:02.325 --> 00:09:03.925
<00:09:02.325>like <00:09:02.675>framework <00:09:03.025>for <00:09:03.375>gen <00:09:03.725>ai.

209
00:09:04.705 --> 00:09:07.565
<00:09:04.705>Um, <00:09:04.905>the <00:09:05.105>Java <00:09:05.305>support <00:09:05.505>is <00:09:05.705>evolving, <00:09:05.905>which <00:09:06.105>means

210
00:09:07.565 --> 00:09:10.125
<00:09:07.565>that <00:09:07.720>it's <00:09:07.876>like <00:09:08.031>you <00:09:08.187>see <00:09:08.342>a <00:09:08.498>lot <00:09:08.653>of <00:09:08.809>capabilities, <00:09:08.965>uh,

211
00:09:10.265 --> 00:09:11.805
<00:09:10.265>and <00:09:10.496>things <00:09:10.727>that <00:09:10.958>don't <00:09:11.189>feel <00:09:11.420>that <00:09:11.651>natural,

212
00:09:11.945 --> 00:09:13.525
<00:09:11.945>so <00:09:12.225>they <00:09:12.505>really <00:09:12.785>have <00:09:13.065>to <00:09:13.345>improve.

213
00:09:13.545 --> 00:09:15.245
<00:09:13.545>But <00:09:13.719>zandra <00:09:13.895>and <00:09:14.069>the <00:09:14.245>team <00:09:14.420>is <00:09:14.594>working <00:09:14.770>on <00:09:14.944>that.

214
00:09:15.865 --> 00:09:17.885
<00:09:15.865>Uh, <00:09:16.215>it's <00:09:16.565>also <00:09:16.915>framework <00:09:17.265>agnostic

215
00:09:18.305 --> 00:09:20.605
<00:09:18.305>and <00:09:18.538>um, <00:09:18.771>yeah, <00:09:19.005>enterprise <00:09:19.238>support <00:09:19.471>is <00:09:19.704>available

216
00:09:23.235 --> 00:09:25.505
<00:09:23.235>as <00:09:23.468>that <00:09:23.701>because <00:09:23.935>we <00:09:24.168>have <00:09:24.401>30 <00:09:24.635>minutes,

217
00:09:25.515 --> 00:09:26.625
<00:09:25.515>we'll <00:09:25.764>focus <00:09:26.014>on <00:09:26.264>those <00:09:26.514>two,

218
00:09:26.645 --> 00:09:28.425
<00:09:26.645>but <00:09:26.800>the <00:09:26.956>code <00:09:27.111>is <00:09:27.267>available, <00:09:27.422>you <00:09:27.578>can <00:09:27.733>have <00:09:27.889>a <00:09:28.045>look.

219
00:09:28.425 --> 00:09:30.585
<00:09:28.425>There <00:09:28.658>are <00:09:28.891>also <00:09:29.125>currently <00:09:29.358>slides <00:09:29.591>also, <00:09:29.824>uh,

220
00:09:30.585 --> 00:09:34.185
<00:09:30.585>doing <00:09:30.760>the <00:09:30.935>comparison <00:09:31.110>with, <00:09:31.285>uh, <00:09:31.460>the <00:09:31.635>Monte <00:09:31.810>kernel, <00:09:31.985>um,

221
00:09:34.325 --> 00:09:36.505
<00:09:34.325>in <00:09:34.558>the <00:09:34.791>repository <00:09:35.025>and <00:09:35.258>also <00:09:35.491>the <00:09:35.725>repository.

222
00:09:36.705 --> 00:09:38.145
<00:09:36.705>I <00:09:36.921>will <00:09:37.137>share <00:09:37.353>a <00:09:37.569>QR <00:09:37.785>code <00:09:38.001>later.

223
00:09:40.155 --> 00:09:41.665
<00:09:40.155>Let's <00:09:40.494>talk <00:09:40.834>about <00:09:41.174>example <00:09:41.514>application.

224
00:09:41.665 --> 00:09:43.425
<00:09:41.665>So <00:09:41.820>at <00:09:41.976>the <00:09:42.131>end, <00:09:42.287>what <00:09:42.442>we <00:09:42.598>did <00:09:42.753>is <00:09:42.909>like, <00:09:43.064>um,

225
00:09:43.575 --> 00:09:47.345
<00:09:43.575>initially <00:09:43.750>I <00:09:43.925>created <00:09:44.100>team <00:09:44.275>application <00:09:44.450>for <00:09:44.625>spring <00:09:44.800>ai, <00:09:44.975>um,

226
00:09:47.685 --> 00:09:50.465
<00:09:47.685>to <00:09:47.885>showcase <00:09:48.084>that <00:09:48.285>to <00:09:48.484>customers <00:09:48.685>and <00:09:48.885>a <00:09:49.084>conferences.

227
00:09:50.685 --> 00:09:52.065
<00:09:50.685>And <00:09:50.891>then, <00:09:51.098>uh, <00:09:51.306>we <00:09:51.513>had <00:09:51.720>the <00:09:51.927>idea

228
00:09:52.065 --> 00:09:55.025
<00:09:52.065>to <00:09:52.298>implement <00:09:52.531>the <00:09:52.765>same <00:09:52.998>application, <00:09:53.231>same <00:09:53.465>features

229
00:09:55.485 --> 00:09:57.585
<00:09:55.485>for <00:09:55.660>long <00:09:55.835>chain <00:09:56.010>four <00:09:56.185>J <00:09:56.360>and <00:09:56.535>also <00:09:56.710>semantic <00:09:56.885>kernel.

230
00:09:57.585 --> 00:09:58.705
<00:09:57.585>So <00:09:57.837>we <00:09:58.089>have <00:09:58.341>three <00:09:58.593>versions

231
00:09:58.705 --> 00:10:00.705
<00:09:58.705>with <00:09:59.055>completely <00:09:59.405>same <00:09:59.755>user <00:10:00.105>experience.

232
00:10:00.705 --> 00:10:03.865
<00:10:00.705>This <00:10:00.821>is <00:10:00.938>also <00:10:01.055>why <00:10:01.171>I <00:10:01.288>will <00:10:01.405>only, <00:10:01.521>uh, <00:10:01.638>show <00:10:01.755>it <00:10:01.871>to <00:10:01.988>you <00:10:02.105>once

233
00:10:05.275 --> 00:10:06.535
<00:10:05.275>the <00:10:05.653>basic <00:10:06.031>functionality <00:10:06.409>is.

234
00:10:06.535 --> 00:10:08.375
<00:10:06.535>So <00:10:06.768>it's <00:10:07.001>a <00:10:07.235>recipe <00:10:07.468>finder, <00:10:07.701>so <00:10:07.935>uh,

235
00:10:08.375 --> 00:10:11.455
<00:10:08.375>you <00:10:08.515>can <00:10:08.655>easily <00:10:08.795>just <00:10:08.935>put <00:10:09.075>in <00:10:09.215>ingredients <00:10:09.355>which <00:10:09.495>you <00:10:09.635>have <00:10:09.775>at

236
00:10:11.535 --> 00:10:13.535
<00:10:11.535>home <00:10:11.735>or <00:10:11.935>you <00:10:12.135>want <00:10:12.334>to <00:10:12.535>do <00:10:12.735>something <00:10:12.935>with.

237
00:10:13.755 --> 00:10:16.335
<00:10:13.755>And, <00:10:13.955>um, <00:10:14.155>then <00:10:14.355>it'll <00:10:14.555>generate <00:10:14.755>you <00:10:14.955>a <00:10:15.155>recipe.

238
00:10:16.555 --> 00:10:19.015
<00:10:16.555>So <00:10:16.755>let's, <00:10:16.954>for <00:10:17.155>example, <00:10:17.354>uh, <00:10:17.555>use <00:10:17.755>GS <00:10:17.954>here.

239
00:10:19.695 --> 00:10:23.735
<00:10:19.695>I <00:10:20.161>click <00:10:20.628>find, <00:10:21.095>let's

240
00:10:23.735 --> 00:10:24.855
<00:10:23.735>see <00:10:24.071>whether <00:10:24.407>it <00:10:24.743>works.

241
00:10:24.995 --> 00:10:27.575
<00:10:24.995>Uh, <00:10:25.170>due <00:10:25.345>to <00:10:25.520>the <00:10:25.695>internet <00:10:25.870>connection, <00:10:26.045>by <00:10:26.220>the <00:10:26.395>end,

242
00:10:27.575 --> 00:10:28.695
<00:10:27.575>the <00:10:27.776>results <00:10:27.978>should <00:10:28.179>look <00:10:28.381>like <00:10:28.583>this.

243
00:10:29.235 --> 00:10:32.385
<00:10:29.235>So <00:10:29.375>you <00:10:29.515>see <00:10:29.655>which <00:10:29.795>model <00:10:29.935>is <00:10:30.075>currently <00:10:30.215>used, <00:10:30.355>you <00:10:30.495>can <00:10:30.635>switch

244
00:10:32.385 --> 00:10:34.265
<00:10:32.385>between <00:10:32.851>OpenAI, <00:10:33.318>Azure, <00:10:33.785>OpenAI,

245
00:10:34.405 --> 00:10:36.225
<00:10:34.405>and <00:10:34.755>uh, <00:10:35.105>Alama <00:10:35.454>models <00:10:35.805>currently.

246
00:10:36.285 --> 00:10:39.185
<00:10:36.285>So <00:10:36.440>also <00:10:36.596>run <00:10:36.751>something <00:10:36.907>local <00:10:37.062>if <00:10:37.218>you <00:10:37.373>don't <00:10:37.529>have <00:10:37.685>access

247
00:10:39.205 --> 00:10:40.545
<00:10:39.205>to <00:10:39.607>an <00:10:40.009>API <00:10:40.411>provider

248
00:10:40.925 --> 00:10:43.545
<00:10:40.925>and <00:10:41.125>it'll <00:10:41.324>provide <00:10:41.525>you <00:10:41.724>the <00:10:41.925>instructions, <00:10:42.125>um, <00:10:42.324>how

249
00:10:43.545 --> 00:10:45.265
<00:10:43.545>to <00:10:43.824>actually <00:10:44.104>cook <00:10:44.385>this, <00:10:44.665>uh, <00:10:44.944>recipe.

250
00:10:45.525 --> 00:10:49.065
<00:10:45.525>And <00:10:45.652>also <00:10:45.779>like <00:10:45.906>an <00:10:46.034>image <00:10:46.161>generated <00:10:46.288>by, <00:10:46.415>uh, <00:10:46.543>in <00:10:46.670>this <00:10:46.797>case, <00:10:46.925>Dolly

251
00:10:49.695 --> 00:10:52.835
<00:10:49.695>for <00:10:49.895>sure, <00:10:50.095>image <00:10:50.295>generation <00:10:50.495>is <00:10:50.695>not <00:10:50.895>supported <00:10:51.095>currently

252
00:10:52.835 --> 00:10:54.195
<00:10:52.835>for <00:10:53.141>local <00:10:53.447>models <00:10:53.753>for <00:10:54.059>alama

253
00:10:54.195 --> 00:10:55.875
<00:10:54.195>because <00:10:54.428>there <00:10:54.661>are <00:10:54.895>no <00:10:55.128>image <00:10:55.361>generation <00:10:55.595>models,

254
00:10:55.935 --> 00:10:58.115
<00:10:55.935>but <00:10:56.168>hopefully <00:10:56.401>there <00:10:56.635>will <00:10:56.868>be <00:10:57.101>soon <00:10:57.334>models

255
00:10:58.345 --> 00:10:59.635
<00:10:58.345>that <00:10:58.577>you <00:10:58.809>can <00:10:59.041>also <00:10:59.273>dare <00:10:59.506>see.

256
00:10:59.855 --> 00:11:03.645
<00:10:59.855>Um, <00:11:00.030>pictures. <00:11:00.205>Another, <00:11:00.380>uh, <00:11:00.555>thing <00:11:00.730>you <00:11:00.905>can <00:11:01.080>see <00:11:01.255>here,

257
00:11:03.825 --> 00:11:05.125
<00:11:03.825>uh, <00:11:04.215>are <00:11:04.605>check <00:11:04.995>boxes.

258
00:11:05.335 --> 00:11:07.805
<00:11:05.335>Those <00:11:05.510>check <00:11:05.685>boxes <00:11:05.860>are <00:11:06.035>for <00:11:06.210>advanced <00:11:06.385>features <00:11:06.560>like <00:11:06.735>rie,

259
00:11:07.805 --> 00:11:09.405
<00:11:07.805>block <00:11:08.084>manage <00:11:08.364>generation <00:11:08.645>and <00:11:08.925>two <00:11:09.204>calling,

260
00:11:09.405 --> 00:11:11.365
<00:11:09.405>which <00:11:09.685>I <00:11:09.964>will <00:11:10.245>present <00:11:10.525>you <00:11:10.805>later.

261
00:11:13.065 --> 00:11:14.305
<00:11:13.065>I <00:11:13.288>said <00:11:13.511>all <00:11:13.734>the <00:11:13.957>source <00:11:14.180>code

262
00:11:14.405 --> 00:11:16.265
<00:11:14.405>and <00:11:14.638>also <00:11:14.871>the <00:11:15.105>slides <00:11:15.338>are <00:11:15.571>available <00:11:15.805>online.

263
00:11:16.565 --> 00:11:19.705
<00:11:16.565>Um, <00:11:16.692>so <00:11:16.819>for <00:11:16.946>long <00:11:17.074>term <00:11:17.201>for <00:11:17.328>Chase <00:11:17.455>and <00:11:17.583>Monte <00:11:17.710>kernels, <00:11:17.837>spring <00:11:17.965>ai,

264
00:11:19.705 --> 00:11:22.265
<00:11:19.705>and <00:11:19.905>also <00:11:20.105>spring <00:11:20.305>IMCP, <00:11:20.505>there's <00:11:20.705>the <00:11:20.905>source <00:11:21.105>code

265
00:11:22.285 --> 00:11:23.945
<00:11:22.285>for <00:11:22.751>exactly <00:11:23.218>this <00:11:23.685>application.

266
00:11:23.965 --> 00:11:28.625
<00:11:23.965>So <00:11:24.081>you <00:11:24.198>can <00:11:24.315>have <00:11:24.431>a <00:11:24.548>closer <00:11:24.665>look <00:11:24.781>QR <00:11:24.898>code <00:11:25.015>later <00:11:25.131>for <00:11:25.248>those, <00:11:25.365>uh,

267
00:11:28.625 --> 00:11:29.985
<00:11:28.625>they <00:11:28.778>are <00:11:28.931>not <00:11:29.084>fast <00:11:29.237>enough <00:11:29.390>to <00:11:29.543>take <00:11:29.696>a <00:11:29.849>30.

268
00:11:30.605 --> 00:11:32.835
<00:11:30.605>So <00:11:31.071>let's <00:11:31.538>get <00:11:32.005>started.

269
00:11:33.015 --> 00:11:34.635
<00:11:33.015>So <00:11:33.189>what <00:11:33.365>the <00:11:33.540>idea <00:11:33.715>of <00:11:33.890>this <00:11:34.064>talk <00:11:34.240>is <00:11:34.415>really

270
00:11:34.635 --> 00:11:36.555
<00:11:34.635>to <00:11:34.835>give <00:11:35.035>you <00:11:35.235>some <00:11:35.435>insights <00:11:35.635>on <00:11:35.835>how, <00:11:36.035>um,

271
00:11:36.575 --> 00:11:37.955
<00:11:36.575>the <00:11:36.989>implementation <00:11:37.403>looks <00:11:37.817>like,

272
00:11:38.015 --> 00:11:39.875
<00:11:38.015>how <00:11:38.295>the <00:11:38.574>experience <00:11:38.855>is <00:11:39.135>for <00:11:39.415>sure.

273
00:11:39.875 --> 00:11:41.715
<00:11:39.875>We <00:11:40.050>are <00:11:40.225>not <00:11:40.400>able <00:11:40.575>to <00:11:40.750>cover <00:11:40.925>every, <00:11:41.100>any <00:11:41.275>feature,

274
00:11:41.775 --> 00:11:44.115
<00:11:41.775>so <00:11:41.930>it's <00:11:42.086>more <00:11:42.241>like <00:11:42.397>on <00:11:42.552>a <00:11:42.708>high <00:11:42.863>level <00:11:43.019>and, <00:11:43.175>um,

275
00:11:44.115 --> 00:11:46.395
<00:11:44.115>because <00:11:44.290>also <00:11:44.465>the <00:11:44.640>title <00:11:44.815>will <00:11:44.990>present <00:11:45.165>it <00:11:45.340>on <00:11:45.515>slides,

276
00:11:46.455 --> 00:11:48.755
<00:11:46.455>but <00:11:46.582>it <00:11:46.709>that <00:11:46.836>the <00:11:46.964>source <00:11:47.091>code <00:11:47.218>is <00:11:47.345>available, <00:11:47.473>you <00:11:47.600>can <00:11:47.727>run <00:11:47.855>it,

277
00:11:48.755 --> 00:11:49.995
<00:11:48.755>you <00:11:48.978>can, <00:11:49.201>uh, <00:11:49.424>check <00:11:49.647>it <00:11:49.871>out.

278
00:11:51.455 --> 00:11:53.005
<00:11:51.455>Let's <00:11:51.803>start <00:11:52.152>with <00:11:52.501>lung <00:11:52.850>chain.

279
00:11:53.105 --> 00:11:56.205
<00:11:53.105>At <00:11:53.232>end, <00:11:53.359>it's <00:11:53.486>like, <00:11:53.614>I <00:11:53.741>would <00:11:53.868>say <00:11:53.995>nearly <00:11:54.123>all <00:11:54.250>of <00:11:54.377>those <00:11:54.505>models,

280
00:11:56.235 --> 00:11:58.285
<00:11:56.235>they <00:11:56.585>have <00:11:56.935>different, <00:11:57.285>uh, <00:11:57.635>uh,

281
00:11:58.565 --> 00:12:00.245
<00:11:58.565>abstractions <00:11:58.845>available <00:11:59.125>for <00:11:59.405>you <00:11:59.685>to <00:11:59.965>consume.

282
00:12:00.945 --> 00:12:03.605
<00:12:00.945>And, <00:12:01.072>um, <00:12:01.199>for <00:12:01.326>long <00:12:01.454>chain <00:12:01.581>four <00:12:01.708>J, <00:12:01.835>the <00:12:01.963>lowest <00:12:02.090>one <00:12:02.217>is, <00:12:02.345>uh,

283
00:12:03.605 --> 00:12:05.765
<00:12:03.605>the <00:12:03.838>chat <00:12:04.071>model, <00:12:04.305>image <00:12:04.538>model, <00:12:04.771>audio <00:12:05.005>model.

284
00:12:06.225 --> 00:12:09.405
<00:12:06.225>So <00:12:06.365>those <00:12:06.505>are <00:12:06.645>really <00:12:06.785>like, <00:12:06.925>I <00:12:07.065>would <00:12:07.205>say <00:12:07.345>directly, <00:12:07.485>uh, <00:12:07.625>um,

285
00:12:09.405 --> 00:12:12.165
<00:12:09.405>related <00:12:09.638>to <00:12:09.871>the <00:12:10.105>rest <00:12:10.338>call <00:12:10.571>with, <00:12:10.805>uh,

286
00:12:12.185 --> 00:12:13.565
<00:12:12.185>not <00:12:12.495>too <00:12:12.806>much <00:12:13.116>additional <00:12:13.427>support

287
00:12:13.665 --> 00:12:15.365
<00:12:13.665>for <00:12:14.015>advanced <00:12:14.365>features, <00:12:14.714>et <00:12:15.064>cetera.

288
00:12:16.545 --> 00:12:18.155
<00:12:16.545>Here <00:12:16.824>we <00:12:17.104>just <00:12:17.385>inject <00:12:17.665>this <00:12:17.944>model

289
00:12:18.155 --> 00:12:19.835
<00:12:18.155>because <00:12:18.388>also <00:12:18.621>like <00:12:18.855>for <00:12:19.088>Lange <00:12:19.321>four <00:12:19.555>J,

290
00:12:19.835 --> 00:12:21.355
<00:12:19.835>we <00:12:20.108>have <00:12:20.382>this <00:12:20.655>spring <00:12:20.929>boot <00:12:21.203>integration,

291
00:12:21.355 --> 00:12:23.955
<00:12:21.355>which <00:12:21.555>means <00:12:21.755>you <00:12:21.955>have <00:12:22.155>just <00:12:22.355>some <00:12:22.555>configuration <00:12:22.755>properties.

292
00:12:24.685 --> 00:12:26.985
<00:12:24.685>Uh, <00:12:24.859>you <00:12:25.035>put <00:12:25.209>in <00:12:25.385>a <00:12:25.560>dependency <00:12:25.734>for, <00:12:25.910>for <00:12:26.084>example,

293
00:12:27.215 --> 00:12:29.145
<00:12:27.215>open <00:12:27.915>AI <00:12:28.615>configuration.

294
00:12:29.495 --> 00:12:32.305
<00:12:29.495>Okay, <00:12:29.728>what's <00:12:29.961>my <00:12:30.195>open <00:12:30.428>AI <00:12:30.661>token, <00:12:30.895>um,

295
00:12:32.795 --> 00:12:35.385
<00:12:32.795>which <00:12:32.950>temperature <00:12:33.106>I'd <00:12:33.261>like <00:12:33.417>to <00:12:33.572>use <00:12:33.728>and <00:12:33.883>stuff <00:12:34.039>like <00:12:34.194>that.

296
00:12:35.645 --> 00:12:38.305
<00:12:35.645>And <00:12:35.845>then, <00:12:36.045>uh, <00:12:36.245>with <00:12:36.444>the <00:12:36.645>spring <00:12:36.845>outer <00:12:37.045>configuration,

297
00:12:38.605 --> 00:12:40.385
<00:12:38.605>the <00:12:38.805>image <00:12:39.005>model <00:12:39.205>will <00:12:39.405>be <00:12:39.605>available <00:12:39.805>to <00:12:40.005>you.

298
00:12:40.385 --> 00:12:41.745
<00:12:40.385>You <00:12:40.589>can <00:12:40.793>just <00:12:40.997>inject <00:12:41.201>it <00:12:41.405>for <00:12:41.609>sure.

299
00:12:41.745 --> 00:12:43.425
<00:12:41.745>It <00:12:42.025>can <00:12:42.305>also <00:12:42.585>do <00:12:42.865>advanced <00:12:43.145>configuration

300
00:12:43.485 --> 00:12:45.185
<00:12:43.485>or <00:12:43.951>disabled <00:12:44.418>outer <00:12:44.885>configuration.

301
00:12:45.565 --> 00:12:47.065
<00:12:45.565>That's <00:12:45.835>all <00:12:46.105>possible, <00:12:46.375>but <00:12:46.645>here <00:12:46.915>as

302
00:12:47.065 --> 00:12:50.345
<00:12:47.065>that <00:12:47.220>it's <00:12:47.376>focused <00:12:47.531>on <00:12:47.687>the <00:12:47.842>most <00:12:47.998>easiest <00:12:48.153>uh, <00:12:48.309>uh, <00:12:48.465>experience.

303
00:12:51.425 --> 00:12:53.435
<00:12:51.425>Then <00:12:51.580>we <00:12:51.736>can <00:12:51.891>see <00:12:52.047>we <00:12:52.202>also <00:12:52.358>have <00:12:52.513>a <00:12:52.669>helper <00:12:52.824>class

304
00:12:53.495 --> 00:12:54.595
<00:12:53.495>for <00:12:53.990>prom <00:12:54.485>templating,

305
00:12:54.595 --> 00:12:56.715
<00:12:54.595>because <00:12:54.770>usually <00:12:54.945>you <00:12:55.120>have <00:12:55.295>some <00:12:55.470>variables <00:12:55.645>in <00:12:55.820>your <00:12:55.995>prom,

306
00:12:56.715 --> 00:12:58.635
<00:12:56.715>so <00:12:56.948>it's <00:12:57.181>not <00:12:57.415>like <00:12:57.648>I <00:12:57.881>always <00:12:58.115>want

307
00:12:58.635 --> 00:12:59.715
<00:12:58.635>to <00:12:58.878>have <00:12:59.121>the <00:12:59.364>same <00:12:59.607>instructions.

308
00:12:59.745 --> 00:13:01.675
<00:12:59.745>Here <00:12:59.920>we <00:13:00.095>have <00:13:00.270>the <00:13:00.445>user <00:13:00.620>input <00:13:00.795>of <00:13:00.970>the <00:13:01.145>cheese,

309
00:13:01.695 --> 00:13:02.995
<00:13:01.695>for <00:13:02.085>example, <00:13:02.475>the <00:13:02.865>ingredients.

310
00:13:03.495 --> 00:13:07.315
<00:13:03.495>Um, <00:13:03.635>or <00:13:03.775>for <00:13:03.915>this <00:13:04.055>specific <00:13:04.195>image <00:13:04.335>we <00:13:04.475>want <00:13:04.615>to <00:13:04.755>have, <00:13:04.895>like,

311
00:13:07.605 --> 00:13:10.635
<00:13:07.605>based <00:13:07.805>on <00:13:08.005>the <00:13:08.205>recipe <00:13:08.405>name, <00:13:08.605>uh, <00:13:08.805>this <00:13:09.005>is

312
00:13:10.635 --> 00:13:11.675
<00:13:10.635>what <00:13:10.822>we <00:13:11.009>put <00:13:11.196>in <00:13:11.383>a <00:13:11.570>template.

313
00:13:11.845 --> 00:13:13.435
<00:13:11.845>It'll <00:13:12.195>just <00:13:12.545>generate <00:13:12.895>the <00:13:13.245>prompt

314
00:13:13.615 --> 00:13:16.355
<00:13:13.615>and <00:13:13.742>uh, <00:13:13.869>then <00:13:13.996>the <00:13:14.124>prompt <00:13:14.251>will <00:13:14.378>be <00:13:14.505>put <00:13:14.633>into <00:13:14.760>the <00:13:14.887>image <00:13:15.015>model.

315
00:13:17.015 --> 00:13:20.155
<00:13:17.015>And <00:13:17.170>here <00:13:17.326>we <00:13:17.481>return <00:13:17.637>the <00:13:17.792>URL, <00:13:17.948>which <00:13:18.103>is <00:13:18.259>then <00:13:18.415>available.

316
00:13:20.335 --> 00:13:22.435
<00:13:20.335>So <00:13:20.510>you <00:13:20.685>can <00:13:20.860>directly <00:13:21.035>call <00:13:21.210>this <00:13:21.385>image <00:13:21.560>from, <00:13:21.735>uh,

317
00:13:22.495 --> 00:13:23.955
<00:13:22.495>in <00:13:22.823>this <00:13:23.152>case <00:13:23.480>open <00:13:23.809>ai.

318
00:13:24.575 --> 00:13:28.475
<00:13:24.575>Um, <00:13:24.691>but <00:13:24.808>it's <00:13:24.925>also <00:13:25.041>possible <00:13:25.158>to <00:13:25.275>get <00:13:25.391>the, <00:13:25.508>uh, <00:13:25.625>basic <00:13:25.741>D <00:13:25.858>four, <00:13:25.975>um,

319
00:13:28.745 --> 00:13:31.035
<00:13:28.745>encoded, <00:13:28.978>uh, <00:13:29.211>uh, <00:13:29.445>data <00:13:29.678>of <00:13:29.911>the <00:13:30.145>image.

320
00:13:34.785 --> 00:13:36.635
<00:13:34.785>Fortunately, <00:13:35.135>there's <00:13:35.485>a <00:13:35.834>high <00:13:36.185>abstraction

321
00:13:37.055 --> 00:13:38.715
<00:13:37.055>and <00:13:37.334>um, <00:13:37.614>in <00:13:37.895>long <00:13:38.175>four <00:13:38.454>J,

322
00:13:38.715 --> 00:13:41.155
<00:13:38.715>and <00:13:38.855>that's <00:13:38.995>really <00:13:39.135>how <00:13:39.275>it <00:13:39.415>also <00:13:39.555>looks <00:13:39.695>in <00:13:39.835>any <00:13:39.975>other <00:13:40.115>framework,

323
00:13:41.455 --> 00:13:42.995
<00:13:41.455>uh, <00:13:41.732>that's <00:13:42.009>called <00:13:42.286>an <00:13:42.563>AI <00:13:42.841>service.

324
00:13:44.975 --> 00:13:46.715
<00:13:44.975>To <00:13:45.208>actually <00:13:45.441>create <00:13:45.675>such <00:13:45.908>an <00:13:46.141>AI <00:13:46.375>service,

325
00:13:46.735 --> 00:13:48.515
<00:13:46.735>you <00:13:46.968>first <00:13:47.201>need <00:13:47.435>an <00:13:47.668>interface <00:13:47.901>which <00:13:48.135>is

326
00:13:48.515 --> 00:13:49.755
<00:13:48.515>related <00:13:48.794>to <00:13:49.073>your <00:13:49.352>business <00:13:49.631>logic.

327
00:13:49.975 --> 00:13:53.155
<00:13:49.975>So <00:13:50.130>here <00:13:50.286>can <00:13:50.441>see <00:13:50.597>this <00:13:50.752>interface <00:13:50.908>called <00:13:51.063>recipe <00:13:51.219>AI <00:13:51.375>service,

328
00:13:53.615 --> 00:13:56.795
<00:13:53.615>and <00:13:53.755>we <00:13:53.895>have <00:13:54.035>a <00:13:54.175>find, <00:13:54.315>um, <00:13:54.455>method <00:13:54.595>with <00:13:54.735>a <00:13:54.875>user <00:13:55.015>message.

329
00:13:56.855 --> 00:13:59.195
<00:13:56.855>So <00:13:57.055>that's <00:13:57.255>the <00:13:57.455>user <00:13:57.655>prompt, <00:13:57.855>the <00:13:58.055>generated <00:13:58.255>one,

330
00:14:00.415 --> 00:14:02.755
<00:14:00.415>we <00:14:00.589>inject <00:14:00.765>the <00:14:00.939>chat <00:14:01.115>model, <00:14:01.290>it's <00:14:01.464>also <00:14:01.640>out <00:14:01.814>configured.

331
00:14:03.095 --> 00:14:06.715
<00:14:03.095>And, <00:14:03.235>uh, <00:14:03.375>then <00:14:03.515>also, <00:14:03.655>uh, <00:14:03.795>create <00:14:03.935>this <00:14:04.075>user <00:14:04.215>message <00:14:04.355>like <00:14:04.495>with,

332
00:14:06.715 --> 00:14:09.195
<00:14:06.715>uh, <00:14:06.948>the <00:14:07.181>variable <00:14:07.415>in <00:14:07.648>this <00:14:07.881>case <00:14:08.115>cheese.

333
00:14:09.895 --> 00:14:10.995
<00:14:09.895>So <00:14:10.093>it's <00:14:10.290>not <00:14:10.489>a <00:14:10.687>variable <00:14:10.885>here,

334
00:14:10.995 --> 00:14:13.675
<00:14:10.995>but <00:14:11.135>it's <00:14:11.275>just <00:14:11.415>like <00:14:11.555>to <00:14:11.695>show, <00:14:11.835>uh, <00:14:11.975>uh, <00:14:12.115>the, <00:14:12.255>the <00:14:12.395>API.

335
00:14:14.255 --> 00:14:15.795
<00:14:14.255>And <00:14:14.532>then <00:14:14.809>we <00:14:15.086>put <00:14:15.363>this, <00:14:15.641>um,

336
00:14:15.885 --> 00:14:18.515
<00:14:15.885>after <00:14:16.060>we <00:14:16.235>created <00:14:16.410>the <00:14:16.585>AI <00:14:16.760>service <00:14:16.935>with <00:14:17.110>a <00:14:17.285>builder,

337
00:14:18.815 --> 00:14:20.235
<00:14:18.815>and <00:14:18.997>for <00:14:19.180>sure <00:14:19.362>you <00:14:19.545>can <00:14:19.727>provide <00:14:19.910>a <00:14:20.093>lot

338
00:14:20.235 --> 00:14:21.835
<00:14:20.235>of <00:14:20.515>more <00:14:20.795>configuration <00:14:21.075>than <00:14:21.355>I <00:14:21.635>here.

339
00:14:22.175 --> 00:14:25.355
<00:14:22.175>That's <00:14:22.330>the <00:14:22.486>minimal <00:14:22.641>configuration <00:14:22.797>you <00:14:22.952>can <00:14:23.108>from <00:14:23.263>the <00:14:23.419>AI <00:14:23.574>service

340
00:14:25.355 --> 00:14:27.795
<00:14:25.355>called <00:14:25.530>this <00:14:25.705>dot <00:14:25.880>find <00:14:26.055>method <00:14:26.230>with <00:14:26.405>the <00:14:26.580>user <00:14:26.755>message.

341
00:14:28.175 --> 00:14:31.315
<00:14:28.175>And <00:14:28.302>with <00:14:28.429>that, <00:14:28.556>we <00:14:28.684>have <00:14:28.811>not <00:14:28.938>only <00:14:29.065>all <00:14:29.193>the <00:14:29.320>interaction <00:14:29.447>in <00:14:29.574>the

342
00:14:31.315 --> 00:14:34.835
<00:14:31.315>background <00:14:31.470>with <00:14:31.626>a <00:14:31.781>rest <00:14:31.937>API, <00:14:32.092>we <00:14:32.248>also <00:14:32.403>have <00:14:32.559>for <00:14:32.715>example,

343
00:14:34.945 --> 00:14:36.675
<00:14:34.945>this <00:14:35.411>directly <00:14:35.878>structured <00:14:36.345>output.

344
00:14:37.945 --> 00:14:39.965
<00:14:37.945>And <00:14:38.100>yeah, <00:14:38.256>from <00:14:38.411>a <00:14:38.567>coding <00:14:38.722>perspective, <00:14:38.878>it <00:14:39.033>looks <00:14:39.189>like, <00:14:39.345>okay,

345
00:14:40.115 --> 00:14:42.565
<00:14:40.115>nice, <00:14:40.290>now <00:14:40.465>we <00:14:40.640>get <00:14:40.815>the <00:14:40.990>recipe <00:14:41.165>from <00:14:41.340>this <00:14:41.515>call,

346
00:14:43.025 --> 00:14:44.965
<00:14:43.025>but <00:14:43.225>there's <00:14:43.425>a <00:14:43.625>lot <00:14:43.824>of <00:14:44.025>matching <00:14:44.225>happening <00:14:44.425>underneath.

347
00:14:45.145 --> 00:14:48.525
<00:14:45.145>So <00:14:45.285>what <00:14:45.425>it <00:14:45.564>does <00:14:45.704>is <00:14:45.845>like, <00:14:45.985>okay, <00:14:46.125>the <00:14:46.265>recipe <00:14:46.405>AI <00:14:46.545>service

348
00:14:48.525 --> 00:14:49.885
<00:14:48.525>underneath <00:14:48.831>that <00:14:49.137>will <00:14:49.443>be <00:14:49.749>like,

349
00:14:49.955 --> 00:14:51.365
<00:14:49.955>okay, <00:14:50.166>I <00:14:50.378>have <00:14:50.589>to <00:14:50.801>return <00:14:51.012>a <00:14:51.224>recipe.

350
00:14:51.935 --> 00:14:55.685
<00:14:51.935>Let's <00:14:52.074>create <00:14:52.214>a <00:14:52.354>case, <00:14:52.494>a <00:14:52.635>Jason <00:14:52.775>schema <00:14:52.915>from <00:14:53.055>this <00:14:53.194>recipe <00:14:53.334>class,

351
00:14:56.305 --> 00:15:00.405
<00:14:56.305>put <00:14:56.432>it <00:14:56.559>in <00:14:56.686>the <00:14:56.814>prompt, <00:14:56.941>ask, <00:14:57.068>um, <00:14:57.195>our, <00:14:57.323>uh, <00:14:57.450>large <00:14:57.577>language <00:14:57.704>model

352
00:15:00.865 --> 00:15:04.085
<00:15:00.865>to, <00:15:01.065>based <00:15:01.265>on <00:15:01.465>the <00:15:01.665>schema, <00:15:01.865>create <00:15:02.065>the <00:15:02.265>response,

353
00:15:04.585 --> 00:15:07.605
<00:15:04.585>and <00:15:04.712>then <00:15:04.839>the <00:15:04.966>response <00:15:05.094>will <00:15:05.221>be <00:15:05.348>in <00:15:05.475>best <00:15:05.603>case <00:15:05.730>based <00:15:05.857>on <00:15:05.985>the

354
00:15:07.805 --> 00:15:10.525
<00:15:07.805>schema, <00:15:07.979>and <00:15:08.155>this <00:15:08.329>will <00:15:08.505>be <00:15:08.680>mapped <00:15:08.854>into <00:15:09.030>an <00:15:09.204>object.

355
00:15:10.525 --> 00:15:12.165
<00:15:10.525>There's <00:15:10.758>a <00:15:10.991>lot <00:15:11.225>of <00:15:11.458>stuff <00:15:11.691>happening <00:15:11.925>underneath,

356
00:15:12.425 --> 00:15:14.125
<00:15:12.425>and <00:15:12.704>it <00:15:12.984>really <00:15:13.265>shows <00:15:13.545>this <00:15:13.824>abstraction

357
00:15:14.345 --> 00:15:16.245
<00:15:14.345>and <00:15:14.520>yeah, <00:15:14.695>what <00:15:14.870>you <00:15:15.045>don't <00:15:15.220>have <00:15:15.395>to <00:15:15.570>care <00:15:15.745>of,

358
00:15:16.955 --> 00:15:18.625
<00:15:16.955>which <00:15:17.188>is <00:15:17.421>really <00:15:17.655>great <00:15:17.888>from <00:15:18.121>my <00:15:18.355>perspective

359
00:15:22.505 --> 00:15:25.075
<00:15:22.505>with <00:15:22.660>bring, <00:15:22.816>uh, <00:15:22.971>with <00:15:23.127>the <00:15:23.282>bring <00:15:23.438>boot <00:15:23.593>integration <00:15:23.749>of <00:15:23.905>lung.

360
00:15:25.625 --> 00:15:26.635
<00:15:25.625>This <00:15:25.928>goes <00:15:26.231>even <00:15:26.534>further

361
00:15:27.445 --> 00:15:28.975
<00:15:27.445>because <00:15:27.641>at <00:15:27.838>the <00:15:28.035>end <00:15:28.231>you <00:15:28.428>can <00:15:28.625>really <00:15:28.822>work

362
00:15:28.975 --> 00:15:30.455
<00:15:28.975>with <00:15:29.308>annotations <00:15:29.641>that <00:15:29.974>are <00:15:30.307>available.

363
00:15:30.595 --> 00:15:32.575
<00:15:30.595>So <00:15:30.828>we <00:15:31.061>have <00:15:31.295>this <00:15:31.528>AI <00:15:31.761>service <00:15:31.995>annotation

364
00:15:34.165 --> 00:15:36.825
<00:15:34.165>and <00:15:34.365>um, <00:15:34.564>then <00:15:34.765>to <00:15:34.964>our <00:15:35.165>in, <00:15:35.365>uh, <00:15:35.564>interface.

365
00:15:36.825 --> 00:15:38.225
<00:15:36.825>In <00:15:37.035>addition, <00:15:37.245>we <00:15:37.455>can <00:15:37.665>also <00:15:37.875>define <00:15:38.085>user

366
00:15:38.225 --> 00:15:39.665
<00:15:38.225>message, <00:15:38.657>a <00:15:39.089>system <00:15:39.521>message.

367
00:15:39.765 --> 00:15:41.265
<00:15:39.765>The <00:15:40.035>system <00:15:40.305>message <00:15:40.574>is <00:15:40.845>something <00:15:41.115>like,

368
00:15:41.685 --> 00:15:44.185
<00:15:41.685>please <00:15:41.859>only <00:15:42.035>answer <00:15:42.209>in <00:15:42.385>English <00:15:42.560>or <00:15:42.734>stuff <00:15:42.910>like <00:15:43.084>that.

369
00:15:45.265 --> 00:15:47.245
<00:15:45.265>We <00:15:45.545>also <00:15:45.824>change <00:15:46.105>like <00:15:46.385>the <00:15:46.665>input

370
00:15:47.245 --> 00:15:50.085
<00:15:47.245>of <00:15:47.400>this <00:15:47.556>fine <00:15:47.711>method <00:15:47.867>from <00:15:48.022>a <00:15:48.178>user <00:15:48.333>message <00:15:48.489>into <00:15:48.645>ingredients.

371
00:15:50.465 --> 00:15:53.085
<00:15:50.465>And <00:15:50.665>there <00:15:50.865>is <00:15:51.065>like <00:15:51.265>magic <00:15:51.465>I <00:15:51.665>would <00:15:51.865>say,

372
00:15:53.085 --> 00:15:56.165
<00:15:53.085>or <00:15:53.285>implementation <00:15:53.485>behind <00:15:53.685>it <00:15:53.885>that <00:15:54.085>maps <00:15:54.285>this <00:15:54.485>ingredients

373
00:15:56.965 --> 00:16:00.365
<00:15:56.965>variable <00:15:57.165>to <00:15:57.365>like <00:15:57.565>the <00:15:57.765>variable <00:15:57.965>in <00:15:58.165>my <00:15:58.365>prompt.

374
00:16:01.145 --> 00:16:03.965
<00:16:01.145>And, <00:16:01.345>um, <00:16:01.545>actually <00:16:01.745>then <00:16:01.944>if <00:16:02.145>there's <00:16:02.345>cheese, <00:16:02.545>it'll

375
00:16:04.605 --> 00:16:07.885
<00:16:04.605>generate <00:16:04.780>the <00:16:04.955>prompt, <00:16:05.130>templating <00:16:05.305>the <00:16:05.480>prompt <00:16:05.655>with, <00:16:05.830>uh, <00:16:06.005>the,

376
00:16:07.945 --> 00:16:10.085
<00:16:07.945>the, <00:16:08.225>the <00:16:08.505>value <00:16:08.785>of <00:16:09.065>these <00:16:09.345>ingredients.

377
00:16:11.485 --> 00:16:13.785
<00:16:11.485>You <00:16:11.718>can <00:16:11.951>see <00:16:12.185>also <00:16:12.418>like <00:16:12.651>the <00:16:12.885>configuration,

378
00:16:13.885 --> 00:16:15.185
<00:16:13.885>et <00:16:14.052>cetera, <00:16:14.219>all <00:16:14.386>will <00:16:14.553>be <00:16:14.720>done <00:16:14.887>for <00:16:15.055>you.

379
00:16:15.285 --> 00:16:18.345
<00:16:15.285>You <00:16:15.425>just <00:16:15.564>have <00:16:15.704>to <00:16:15.844>then, <00:16:15.985>uh, <00:16:16.125>inject <00:16:16.265>the <00:16:16.405>recipe <00:16:16.545>AI <00:16:16.685>service

380
00:16:19.325 --> 00:16:22.175
<00:16:19.325>into <00:16:19.500>your <00:16:19.675>class <00:16:19.850>and, <00:16:20.025>uh, <00:16:20.200>run <00:16:20.375>recipe <00:16:20.550>AI <00:16:20.725>service,

381
00:16:22.285 --> 00:16:23.735
<00:16:22.285>find <00:16:22.720>cheese <00:16:23.155>for <00:16:23.590>example.

382
00:16:24.595 --> 00:16:26.895
<00:16:24.595>So <00:16:24.795>that's <00:16:24.995>it. <00:16:25.195>So <00:16:25.395>that's <00:16:25.595>like <00:16:25.795>the <00:16:25.995>interaction

383
00:16:26.895 --> 00:16:28.055
<00:16:26.895>with <00:16:27.156>a <00:16:27.416>large <00:16:27.678>language <00:16:27.939>model

384
00:16:28.315 --> 00:16:29.855
<00:16:28.315>and <00:16:28.777>some <00:16:29.239>configuration <00:16:29.701>properties.

385
00:16:29.915 --> 00:16:31.815
<00:16:29.915>So <00:16:30.615>minimal <00:16:31.314>effort,

386
00:16:32.115 --> 00:16:35.055
<00:16:32.115>and <00:16:32.290>you <00:16:32.465>have <00:16:32.640>an <00:16:32.815>amazing, <00:16:32.990>uh, <00:16:33.165>enterprise <00:16:33.340>AI <00:16:33.515>integration.

387
00:16:37.855 --> 00:16:40.285
<00:16:37.855>Let's <00:16:37.982>now <00:16:38.109>have <00:16:38.236>a <00:16:38.364>look <00:16:38.491>how <00:16:38.618>that <00:16:38.745>looks <00:16:38.873>like <00:16:39.000>in <00:16:39.127>spring <00:16:39.255>AI

388
00:16:43.085 --> 00:16:44.305
<00:16:43.085>for <00:16:43.359>the <00:16:43.634>low <00:16:43.908>level <00:16:44.183>IPI,

389
00:16:44.305 --> 00:16:45.625
<00:16:44.305>you <00:16:44.542>can <00:16:44.780>maybe <00:16:45.017>see <00:16:45.255>even <00:16:45.492>the

390
00:16:45.625 --> 00:16:46.785
<00:16:45.625>code <00:16:45.799>link <00:16:45.973>looks <00:16:46.146>a <00:16:46.321>little <00:16:46.495>bit <00:16:46.669>different.

391
00:16:47.325 --> 00:16:48.625
<00:16:47.325>It <00:16:47.492>looks <00:16:47.659>like <00:16:47.826>it's <00:16:47.993>a <00:16:48.160>little <00:16:48.327>bit <00:16:48.495>influenced

392
00:16:48.625 --> 00:16:50.345
<00:16:48.625>by <00:16:48.800>launch <00:16:48.975>four <00:16:49.150>J <00:16:49.325>because <00:16:49.500>it's <00:16:49.675>very, <00:16:49.850>very <00:16:50.025>similar.

393
00:16:51.085 --> 00:16:53.795
<00:16:51.085>So <00:16:51.260>we <00:16:51.435>can <00:16:51.610>also <00:16:51.785>like <00:16:51.960>inject <00:16:52.135>all <00:16:52.310>our <00:16:52.485>models

394
00:16:53.795 --> 00:16:55.715
<00:16:53.795>because <00:16:54.028>there's <00:16:54.261>a <00:16:54.495>lot <00:16:54.728>of <00:16:54.961>outer <00:16:55.194>configuration.

395
00:16:56.605 --> 00:16:58.655
<00:16:56.605>From <00:16:56.780>my <00:16:56.955>perspective, <00:16:57.130>the <00:16:57.305>outer <00:16:57.480>configuration <00:16:57.655>is <00:16:57.830>even <00:16:58.005>a

396
00:16:58.655 --> 00:17:01.535
<00:16:58.655>little <00:16:58.829>bit <00:16:59.005>better <00:16:59.180>because <00:16:59.355>if <00:16:59.530>you <00:16:59.704>have <00:16:59.880>an <00:17:00.055>application,

397
00:17:01.535 --> 00:17:04.855
<00:17:01.535>different, <00:17:01.768>um, <00:17:02.001>libraries <00:17:02.235>for <00:17:02.468>different <00:17:02.701>AI <00:17:02.935>providers,

398
00:17:04.855 --> 00:17:07.575
<00:17:04.855>so <00:17:05.010>you <00:17:05.166>want <00:17:05.321>to <00:17:05.477>switch <00:17:05.632>them <00:17:05.788>tests, <00:17:05.943>visa <00:17:06.099>versus <00:17:06.255>production,

399
00:17:07.715 --> 00:17:11.495
<00:17:07.714>et <00:17:07.855>cetera, <00:17:07.994>they <00:17:08.135>are <00:17:08.274>like, <00:17:08.415>uh, <00:17:08.554>the <00:17:08.694>names <00:17:08.834>of <00:17:08.974>those <00:17:09.115>speeds

400
00:17:11.495 --> 00:17:15.615
<00:17:11.494>that <00:17:11.622>you <00:17:11.749>have, <00:17:11.876>they <00:17:12.004>are, <00:17:12.131>um, <00:17:12.258>not <00:17:12.385>specific <00:17:12.513>to <00:17:12.640>the <00:17:12.767>model <00:17:12.895>and

401
00:17:15.615 --> 00:17:17.295
<00:17:15.615>therefore <00:17:15.895>you <00:17:16.175>can <00:17:16.454>just <00:17:16.734>change <00:17:17.015>them.

402
00:17:17.475 --> 00:17:21.775
<00:17:17.474>And <00:17:17.708>it <00:17:17.941>works <00:17:18.175>for, <00:17:18.408>um, <00:17:18.641>open <00:17:18.875>ai,

403
00:17:22.395 --> 00:17:24.495
<00:17:22.395>uh, <00:17:22.535>for, <00:17:22.675>for <00:17:22.815>launch <00:17:22.954>four <00:17:23.095>J <00:17:23.234>that's <00:17:23.375>a <00:17:23.514>little <00:17:23.655>bit <00:17:23.795>different.

404
00:17:24.515 --> 00:17:27.055
<00:17:24.515>So <00:17:24.642>there <00:17:24.769>you <00:17:24.896>will <00:17:25.024>see <00:17:25.151>this <00:17:25.278>in <00:17:25.405>the <00:17:25.533>code <00:17:25.660>AI <00:17:25.787>put, <00:17:25.915>had

405
00:17:27.055 --> 00:17:29.855
<00:17:27.055>to <00:17:27.195>put <00:17:27.335>some <00:17:27.475>work <00:17:27.615>around <00:17:27.755>into <00:17:27.895>the <00:17:28.035>code <00:17:28.175>to <00:17:28.315>get <00:17:28.455>the,

406
00:17:29.995 --> 00:17:31.415
<00:17:29.995>the <00:17:30.420>same <00:17:30.847>functionality <00:17:31.273>working.

407
00:17:32.495 --> 00:17:35.035
<00:17:32.495>We <00:17:32.669>also <00:17:32.844>have <00:17:33.020>like <00:17:33.195>this, <00:17:33.370>uh, <00:17:33.544>prompt <00:17:33.719>templating <00:17:33.895>support,

408
00:17:35.035 --> 00:17:36.915
<00:17:35.035>even <00:17:35.210>if <00:17:35.385>the <00:17:35.560>API <00:17:35.735>is <00:17:35.910>a <00:17:36.085>little <00:17:36.260>bit <00:17:36.435>different.

409
00:17:37.415 --> 00:17:39.915
<00:17:37.415>And <00:17:37.555>then <00:17:37.695>we <00:17:37.835>have <00:17:37.975>to <00:17:38.115>create <00:17:38.254>a <00:17:38.395>image, <00:17:38.534>uh, <00:17:38.675>prompt <00:17:38.815>class

410
00:17:40.095 --> 00:17:42.675
<00:17:40.095>and <00:17:40.270>then <00:17:40.445>also <00:17:40.620>like <00:17:40.795>just <00:17:40.970>have <00:17:41.145>a <00:17:41.320>call <00:17:41.495>function

411
00:17:42.675 --> 00:17:47.315
<00:17:42.675>with <00:17:42.830>this <00:17:42.986>image <00:17:43.141>prompt <00:17:43.297>in, <00:17:43.452>uh, <00:17:43.608>for <00:17:43.763>our, <00:17:43.919>um, <00:17:44.075>uh,

412
00:17:47.465 --> 00:17:50.165
<00:17:47.465>yeah, <00:17:47.639>sending <00:17:47.814>this <00:17:47.990>prompt <00:17:48.165>to <00:17:48.340>the <00:17:48.514>large <00:17:48.689>language <00:17:48.865>model.

413
00:17:50.625 --> 00:17:52.405
<00:17:50.625>So <00:17:50.905>Dolly, <00:17:51.185>for <00:17:51.465>example, <00:17:51.745>our <00:17:52.025>example,

414
00:17:52.905 --> 00:17:55.925
<00:17:52.905>and <00:17:53.032>then <00:17:53.159>we <00:17:53.286>get <00:17:53.414>back <00:17:53.541>the <00:17:53.668>URL, <00:17:53.795>also <00:17:53.923>the <00:17:54.050>base, <00:17:54.177>uh, <00:17:54.305>uh,

415
00:17:55.925 --> 00:17:58.445
<00:17:55.925>64 <00:17:56.158>encoded, <00:17:56.391>uh, <00:17:56.625>data <00:17:56.858>of <00:17:57.091>the <00:17:57.325>image.

416
00:17:58.505 --> 00:18:00.925
<00:17:58.505>So <00:17:58.705>very, <00:17:58.905>very <00:17:59.105>similar. <00:17:59.305>Same <00:17:59.505>for <00:17:59.705>jet <00:17:59.905>model.

417
00:18:02.135 --> 00:18:05.745
<00:18:02.135>It's <00:18:02.310>also <00:18:02.485>important <00:18:02.660>to <00:18:02.835>know <00:18:03.010>that, <00:18:03.185>um, <00:18:03.360>I <00:18:03.535>said,

418
00:18:05.885 --> 00:18:07.065
<00:18:05.885>so <00:18:06.150>there's <00:18:06.416>a <00:18:06.681>lot <00:18:06.947>of,

419
00:18:07.205 --> 00:18:09.185
<00:18:07.205>on <00:18:07.379>this <00:18:07.554>high <00:18:07.730>abstraction, <00:18:07.905>a <00:18:08.080>lot <00:18:08.254>of <00:18:08.429>magic <00:18:08.605>happening.

420
00:18:09.205 --> 00:18:12.545
<00:18:09.205>But <00:18:09.345>on <00:18:09.485>the <00:18:09.625>other <00:18:09.764>side, <00:18:09.905>um, <00:18:10.044>there's <00:18:10.185>also <00:18:10.324>like <00:18:10.465>some <00:18:10.605>features

421
00:18:12.545 --> 00:18:14.425
<00:18:12.545>that <00:18:12.720>are <00:18:12.895>not <00:18:13.070>available <00:18:13.245>on <00:18:13.420>the <00:18:13.595>low <00:18:13.770>level, <00:18:13.945>uh,

422
00:18:14.425 --> 00:18:16.825
<00:18:14.425>on <00:18:14.552>the <00:18:14.679>high <00:18:14.806>level <00:18:14.934>API <00:18:15.061>and <00:18:15.188>only <00:18:15.315>on <00:18:15.443>the <00:18:15.570>low <00:18:15.697>level <00:18:15.825>API.

423
00:18:16.825 --> 00:18:19.545
<00:18:16.825>So <00:18:17.000>for <00:18:17.175>long <00:18:17.350>chain <00:18:17.525>four <00:18:17.700>J <00:18:17.875>for <00:18:18.050>example, <00:18:18.225>multimodality

424
00:18:19.815 --> 00:18:22.745
<00:18:19.815>that <00:18:19.970>you <00:18:20.126>have <00:18:20.281>like <00:18:20.437>here <00:18:20.592>is, <00:18:20.748>uh, <00:18:20.903>my <00:18:21.059>text <00:18:21.215>prompt.

425
00:18:22.745 --> 00:18:23.785
<00:18:22.745>And <00:18:22.932>here <00:18:23.119>I <00:18:23.306>have <00:18:23.493>an <00:18:23.681>image

426
00:18:23.845 --> 00:18:25.345
<00:18:23.845>that's <00:18:24.115>not <00:18:24.385>supported <00:18:24.655>in <00:18:24.925>the <00:18:25.195>high

427
00:18:25.625 --> 00:18:26.905
<00:18:25.625>abstraction <00:18:25.913>and <00:18:26.201>also <00:18:26.489>other <00:18:26.777>stuff.

428
00:18:26.925 --> 00:18:30.225
<00:18:26.925>So <00:18:27.100>always <00:18:27.274>like <00:18:27.450>you <00:18:27.625>have <00:18:27.800>to <00:18:27.975>really, <00:18:28.149>um, <00:18:28.325>yeah,

429
00:18:30.245 --> 00:18:31.465
<00:18:30.245>put <00:18:30.519>down <00:18:30.793>your <00:18:31.068>end <00:18:31.342>requirements

430
00:18:31.485 --> 00:18:33.625
<00:18:31.485>and <00:18:31.685>then <00:18:31.885>see <00:18:32.084>which <00:18:32.284>abstraction <00:18:32.485>is <00:18:32.685>the <00:18:32.885>right

431
00:18:33.625 --> 00:18:34.745
<00:18:33.625>for <00:18:34.129>those <00:18:34.632>requirements.

432
00:18:36.815 --> 00:18:39.005
<00:18:36.815>Let's <00:18:36.955>have <00:18:37.095>a <00:18:37.235>look <00:18:37.375>at <00:18:37.515>a <00:18:37.655>little <00:18:37.795>bit <00:18:37.935>more <00:18:38.075>interesting <00:18:38.215>stuff.

433
00:18:39.225 --> 00:18:43.265
<00:18:39.225>And <00:18:39.504>um, <00:18:39.784>what, <00:18:40.064>sorry, <00:18:40.344>it's <00:18:40.625>like,

434
00:18:44.895 --> 00:18:46.345
<00:18:44.895>it's <00:18:45.221>a <00:18:45.547>higher <00:18:45.873>level <00:18:46.200>abstraction,

435
00:18:46.345 --> 00:18:49.665
<00:18:46.345>which <00:18:46.500>is <00:18:46.656>at <00:18:46.811>the <00:18:46.967>end <00:18:47.122>completely <00:18:47.278>different <00:18:47.433>to <00:18:47.589>launch <00:18:47.745>J

436
00:18:49.665 --> 00:18:53.625
<00:18:49.665>because <00:18:49.805>what <00:18:49.945>we <00:18:50.085>here <00:18:50.225>have, <00:18:50.365>um, <00:18:50.504>is <00:18:50.645>the <00:18:50.784>chat <00:18:50.925>client, <00:18:51.065>API,

437
00:18:53.625 --> 00:18:55.585
<00:18:53.625>which <00:18:53.825>is, <00:18:54.025>we <00:18:54.225>call <00:18:54.425>it <00:18:54.625>the <00:18:54.825>fluent <00:18:55.025>API.

438
00:18:55.585 --> 00:18:57.465
<00:18:55.585>So <00:18:55.760>it's <00:18:55.935>like <00:18:56.110>a <00:18:56.285>builder <00:18:56.460>pattern <00:18:56.635>in <00:18:56.810>a <00:18:56.985>way.

439
00:18:58.215 --> 00:19:00.475
<00:18:58.215>We <00:18:58.355>first <00:18:58.495>have <00:18:58.635>to <00:18:58.774>configure <00:18:58.915>the <00:18:59.054>chat <00:18:59.195>client, <00:18:59.334>you <00:18:59.475>can <00:18:59.615>see

440
00:19:00.775 --> 00:19:02.995
<00:19:00.775>by <00:19:00.950>it's <00:19:01.125>necessary <00:19:01.300>because <00:19:01.475>you <00:19:01.650>can <00:19:01.825>configure <00:19:02.000>a <00:19:02.175>lot

441
00:19:02.995 --> 00:19:04.955
<00:19:02.995>of <00:19:03.274>default <00:19:03.554>configuration, <00:19:03.834>which <00:19:04.114>is <00:19:04.395>great.

442
00:19:05.135 --> 00:19:07.955
<00:19:05.135>So <00:19:05.290>here <00:19:05.446>I <00:19:05.601>can <00:19:05.757>always <00:19:05.912>like <00:19:06.068>add <00:19:06.223>a <00:19:06.379>system <00:19:06.535>prompt

443
00:19:08.095 --> 00:19:09.635
<00:19:08.095>or <00:19:08.372>later <00:19:08.649>we'll <00:19:08.926>see <00:19:09.203>tool <00:19:09.481>calling.

444
00:19:09.735 --> 00:19:11.955
<00:19:09.735>You <00:19:09.935>can <00:19:10.135>define <00:19:10.334>tools <00:19:10.534>that <00:19:10.735>are <00:19:10.935>always <00:19:11.135>available.

445
00:19:12.335 --> 00:19:14.355
<00:19:12.335>So <00:19:12.568>for <00:19:12.801>every <00:19:13.035>interaction <00:19:13.268>with <00:19:13.501>the <00:19:13.735>LLM,

446
00:19:16.085 --> 00:19:18.785
<00:19:16.085>and <00:19:16.260>then, <00:19:16.435>uh, <00:19:16.610>we <00:19:16.785>just <00:19:16.960>inject <00:19:17.135>this <00:19:17.310>chat <00:19:17.485>client

447
00:19:19.085 --> 00:19:22.225
<00:19:19.085>and <00:19:19.260>you <00:19:19.435>can <00:19:19.610>see <00:19:19.785>the <00:19:19.960>fluent, <00:19:20.135>uh, <00:19:20.310>um, <00:19:20.485>API.

448
00:19:22.325 --> 00:19:23.625
<00:19:22.325>So <00:19:22.617>with <00:19:22.910>a <00:19:23.202>prompt <00:19:23.495>method,

449
00:19:23.645 --> 00:19:25.985
<00:19:23.645>we <00:19:23.845>actually <00:19:24.045>start <00:19:24.245>the <00:19:24.445>interaction <00:19:24.645>with <00:19:24.845>an <00:19:25.045>LLM.

450
00:19:26.255 --> 00:19:28.225
<00:19:26.255>Then <00:19:26.455>we <00:19:26.655>define, <00:19:26.855>for <00:19:27.055>example, <00:19:27.255>the <00:19:27.455>user <00:19:27.655>message.

451
00:19:28.415 --> 00:19:31.145
<00:19:28.415>Also, <00:19:28.648>like <00:19:28.881>with <00:19:29.115>the <00:19:29.348>templating <00:19:29.581>support, <00:19:29.815>um,

452
00:19:31.525 --> 00:19:34.305
<00:19:31.525>we <00:19:31.700>do <00:19:31.875>the <00:19:32.050>call <00:19:32.225>function, <00:19:32.400>which <00:19:32.575>will <00:19:32.750>actually, <00:19:32.925>yeah,

453
00:19:34.335 --> 00:19:37.145
<00:19:34.335>send <00:19:34.475>the <00:19:34.615>request, <00:19:34.755>and <00:19:34.895>then <00:19:35.035>you <00:19:35.175>can <00:19:35.315>decide <00:19:35.455>whether <00:19:35.595>you <00:19:35.735>want

454
00:19:37.145 --> 00:19:38.185
<00:19:37.145>to <00:19:37.332>sprint <00:19:37.519>to <00:19:37.706>have <00:19:37.893>a <00:19:38.081>string

455
00:19:38.205 --> 00:19:42.705
<00:19:38.205>or <00:19:38.379>ex, <00:19:38.554>um, <00:19:38.730>explicitly, <00:19:38.905>um, <00:19:39.080>for <00:19:39.254>example, <00:19:39.429>define <00:19:39.605>it

456
00:19:42.705 --> 00:19:44.065
<00:19:42.705>as <00:19:42.949>structured <00:19:43.194>output <00:19:43.439>with <00:19:43.684>a <00:19:43.929>recipe.

457
00:19:44.205 --> 00:19:45.305
<00:19:44.205>So <00:19:44.452>the <00:19:44.700>same <00:19:44.947>is <00:19:45.195>happening.

458
00:19:45.905 --> 00:19:48.825
<00:19:45.905>Schema <00:19:46.060>will <00:19:46.216>be <00:19:46.371>generated, <00:19:46.527>sent <00:19:46.682>to <00:19:46.838>the <00:19:46.993>LLM <00:19:47.149>sent <00:19:47.305>back

459
00:19:48.845 --> 00:19:50.225
<00:19:48.845>and <00:19:49.155>mapped <00:19:49.466>to <00:19:49.776>the <00:19:50.087>object.

460
00:19:53.295 --> 00:19:55.275
<00:19:53.295>And, <00:19:53.575>um, <00:19:53.855>there's <00:19:54.135>a <00:19:54.415>lot <00:19:54.695>more.

461
00:19:55.455 --> 00:19:57.915
<00:19:55.455>So <00:19:55.655>because <00:19:55.855>everything <00:19:56.054>you <00:19:56.254>can <00:19:56.455>imagine <00:19:56.655>about <00:19:56.855>the

462
00:19:57.915 --> 00:20:00.795
<00:19:57.915>capabilities, <00:19:58.148>um, <00:19:58.381>that's <00:19:58.615>more <00:19:58.848>or <00:19:59.081>less <00:19:59.315>available.

463
00:20:01.375 --> 00:20:03.835
<00:20:01.375>Um, <00:20:01.550>and <00:20:01.725>uh, <00:20:01.900>yeah, <00:20:02.075>here's <00:20:02.250>the <00:20:02.425>comparison <00:20:02.600>of <00:20:02.775>that.

464
00:20:04.215 --> 00:20:07.155
<00:20:04.215>As <00:20:04.370>you <00:20:04.526>can <00:20:04.681>see, <00:20:04.837>it's <00:20:04.992>looking <00:20:05.148>really <00:20:05.303>great <00:20:05.459>as <00:20:05.615>mentioned

465
00:20:07.175 --> 00:20:08.235
<00:20:07.175>for <00:20:07.652>semantic <00:20:08.129>kernel.

466
00:20:08.235 --> 00:20:10.235
<00:20:08.235>If <00:20:08.362>you <00:20:08.489>have <00:20:08.616>a <00:20:08.744>look, <00:20:08.871>maybe <00:20:08.998>at <00:20:09.125>the <00:20:09.253>slides <00:20:09.380>in <00:20:09.507>the <00:20:09.635>GitHub

467
00:20:10.395 --> 00:20:12.195
<00:20:10.395>repository, <00:20:10.628>it <00:20:10.861>looks <00:20:11.095>a <00:20:11.328>little <00:20:11.561>bit <00:20:11.795>different.

468
00:20:12.295 --> 00:20:14.915
<00:20:12.295>So <00:20:12.395>it <00:20:12.495>has <00:20:12.595>to <00:20:12.695>be <00:20:12.795>to <00:20:12.895>keep <00:20:12.995>up <00:20:13.095>a <00:20:13.195>little <00:20:13.295>bit <00:20:13.395>more <00:20:13.495>with <00:20:13.595>the <00:20:13.695>pace

469
00:20:14.975 --> 00:20:16.115
<00:20:14.975>of <00:20:15.231>ai, <00:20:15.488>I <00:20:15.744>would <00:20:16.001>say.

470
00:20:16.495 --> 00:20:18.675
<00:20:16.495>Um, <00:20:16.695>but <00:20:16.895>here <00:20:17.094>everything <00:20:17.294>is <00:20:17.495>fine <00:20:17.695>from <00:20:17.895>my

471
00:20:18.675 --> 00:20:19.875
<00:20:18.675>perspective <00:20:19.034>or <00:20:19.395>our <00:20:19.755>perspective.

472
00:20:19.875 --> 00:20:21.555
<00:20:19.875>The <00:20:20.108>documentation <00:20:20.341>is <00:20:20.575>a <00:20:20.808>lot <00:20:21.041>better <00:20:21.275>by

473
00:20:21.695 --> 00:20:25.835
<00:20:21.695>or <00:20:21.811>not <00:20:21.928>a <00:20:22.044>lot, <00:20:22.161>a <00:20:22.278>little <00:20:22.395>bit <00:20:22.511>better <00:20:22.628>by, <00:20:22.745>um, <00:20:22.861>uh, <00:20:22.978>spring <00:20:23.095>AI,

474
00:20:25.835 --> 00:20:28.475
<00:20:25.835>because <00:20:26.010>sometimes <00:20:26.185>in <00:20:26.360>launch <00:20:26.535>chain <00:20:26.710>four <00:20:26.885>j <00:20:27.060>uh, <00:20:27.235>documentation,

475
00:20:28.475 --> 00:20:31.915
<00:20:28.475>you <00:20:28.615>have <00:20:28.754>just <00:20:28.895>links <00:20:29.034>to <00:20:29.175>code <00:20:29.314>without <00:20:29.455>any <00:20:29.594>additional <00:20:29.735>con <00:20:29.875>uh,

476
00:20:31.935 --> 00:20:33.075
<00:20:31.935>um, <00:20:32.961>documentation.

477
00:20:33.785 --> 00:20:35.035
<00:20:33.785>Also, <00:20:34.160>the <00:20:34.535>auto <00:20:34.910>configurations

478
00:20:35.055 --> 00:20:37.155
<00:20:35.055>or <00:20:35.288>mentions <00:20:35.521>a <00:20:35.755>little <00:20:35.988>bit <00:20:36.221>better, <00:20:36.455>uh,

479
00:20:37.345 --> 00:20:38.715
<00:20:37.345>it's <00:20:37.653>more <00:20:37.961>spring <00:20:38.269>developer <00:20:38.578>friendly,

480
00:20:39.135 --> 00:20:41.675
<00:20:39.135>but <00:20:39.275>at <00:20:39.415>the <00:20:39.555>end <00:20:39.695>it's <00:20:39.835>like <00:20:39.975>the <00:20:40.115>launch <00:20:40.254>chain <00:20:40.395>four <00:20:40.535>J.

481
00:20:41.735 --> 00:20:44.315
<00:20:41.735>The <00:20:41.875>big <00:20:42.014>benefit <00:20:42.155>of <00:20:42.294>it <00:20:42.435>is <00:20:42.574>that <00:20:42.715>it's <00:20:42.854>really <00:20:42.995>lang <00:20:43.135>uh,

482
00:20:44.315 --> 00:20:46.755
<00:20:44.315>framework <00:20:44.470>agnostic, <00:20:44.626>so <00:20:44.781>we <00:20:44.937>can <00:20:45.092>use <00:20:45.248>it <00:20:45.403>with <00:20:45.559>any <00:20:45.715>framework

483
00:20:47.225 --> 00:20:48.925
<00:20:47.225>and, <00:20:47.458>uh, <00:20:47.691>not <00:20:47.925>only <00:20:48.158>with <00:20:48.391>spring <00:20:48.625>ai.

484
00:20:51.035 --> 00:20:56.025
<00:20:51.035>So <00:20:51.162>that's <00:20:51.289>like, <00:20:51.416>yeah, <00:20:51.544>the <00:20:51.671>easy <00:20:51.798>for, <00:20:51.925>yeah, <00:20:52.053>simple <00:20:52.180>use <00:20:52.307>of, <00:20:52.435>uh,

485
00:20:56.165 --> 00:20:58.225
<00:20:56.165>um, <00:20:56.514>uh, <00:20:56.865>spring <00:20:57.215>AI <00:20:57.565>and,

486
00:20:58.245 --> 00:21:01.945
<00:20:58.245>and <00:20:58.400>language <00:20:58.556>four <00:20:58.711>J <00:20:58.867>for, <00:20:59.022>I <00:20:59.178>would <00:20:59.333>say <00:20:59.489>basic <00:20:59.645>interactions,

487
00:21:02.245 --> 00:21:05.385
<00:21:02.245>but <00:21:02.372>there's <00:21:02.499>a <00:21:02.626>lot <00:21:02.754>more <00:21:02.881>because <00:21:03.008>at <00:21:03.135>the <00:21:03.263>end <00:21:03.390>it's <00:21:03.517>like, <00:21:03.645>um,

488
00:21:06.615 --> 00:21:08.595
<00:21:06.615>the <00:21:06.790>context <00:21:06.965>size <00:21:07.140>of <00:21:07.315>large <00:21:07.490>language <00:21:07.665>model <00:21:07.840>is <00:21:08.015>limited.

489
00:21:08.735 --> 00:21:10.155
<00:21:08.735>You <00:21:09.054>cannot <00:21:09.374>put <00:21:09.693>unlimited <00:21:10.013>data

490
00:21:10.175 --> 00:21:12.075
<00:21:10.175>and <00:21:10.375>you <00:21:10.575>don't <00:21:10.774>want <00:21:10.975>to <00:21:11.175>put <00:21:11.375>unlimited <00:21:11.575>data

491
00:21:12.375 --> 00:21:14.035
<00:21:12.375>and <00:21:12.575>send <00:21:12.775>it <00:21:12.975>to <00:21:13.175>the <00:21:13.375>large <00:21:13.575>language <00:21:13.775>model,

492
00:21:14.095 --> 00:21:15.875
<00:21:14.095>so <00:21:14.445>entire <00:21:14.795>documents, <00:21:15.145>et <00:21:15.495>cetera.

493
00:21:16.455 --> 00:21:20.995
<00:21:16.455>Um, <00:21:16.582>and <00:21:16.709>also <00:21:16.836>like <00:21:16.964>if <00:21:17.091>you <00:21:17.218>have, <00:21:17.345>uh, <00:21:17.473>custom <00:21:17.600>data, <00:21:17.727>the, <00:21:17.855>the,

494
00:21:20.995 --> 00:21:22.795
<00:21:20.995>the <00:21:21.150>large <00:21:21.306>language <00:21:21.461>model, <00:21:21.617>they <00:21:21.772>are <00:21:21.928>trained <00:21:22.083>on <00:21:22.239>a <00:21:22.395>lot

495
00:21:22.795 --> 00:21:23.995
<00:21:22.795>of <00:21:23.011>data, <00:21:23.227>but <00:21:23.443>not <00:21:23.658>your <00:21:23.875>data.

496
00:21:24.095 --> 00:21:26.275
<00:21:24.095>So <00:21:24.375>you <00:21:24.655>have <00:21:24.935>to <00:21:25.215>tune <00:21:25.495>them

497
00:21:26.415 --> 00:21:29.515
<00:21:26.415>or <00:21:26.570>put <00:21:26.726>your <00:21:26.881>information <00:21:27.037>into <00:21:27.192>the <00:21:27.348>context <00:21:27.503>that <00:21:27.659>it's <00:21:27.815>able

498
00:21:29.575 --> 00:21:30.875
<00:21:29.575>to <00:21:29.867>answer <00:21:30.160>based <00:21:30.452>on <00:21:30.745>that.

499
00:21:31.565 --> 00:21:34.505
<00:21:31.565>And, <00:21:31.681>uh, <00:21:31.798>for <00:21:31.915>that <00:21:32.031>we <00:21:32.148>have, <00:21:32.265>uh, <00:21:32.381>several, <00:21:32.498>um, <00:21:32.615>ways <00:21:32.731>to <00:21:32.848>do <00:21:32.965>that.

500
00:21:34.565 --> 00:21:38.065
<00:21:34.565>So <00:21:34.705>the <00:21:34.845>first <00:21:34.985>one <00:21:35.125>is <00:21:35.265>fine <00:21:35.405>tuning, <00:21:35.545>which <00:21:35.685>is <00:21:35.825>actually <00:21:35.965>really,

501
00:21:38.285 --> 00:21:40.785
<00:21:38.285>um, <00:21:38.751>um, <00:21:39.218>compute <00:21:39.685>extensive.

502
00:21:40.805 --> 00:21:44.305
<00:21:40.805>So <00:21:40.945>this <00:21:41.085>means <00:21:41.225>that, <00:21:41.365>yeah, <00:21:41.505>some <00:21:41.645>big <00:21:41.785>companies, <00:21:41.925>they <00:21:42.065>are <00:21:42.205>doing

503
00:21:44.465 --> 00:21:46.025
<00:21:44.465>that <00:21:44.814>for <00:21:45.165>specific <00:21:45.514>use <00:21:45.865>cases,

504
00:21:46.245 --> 00:21:48.425
<00:21:46.245>but <00:21:46.419>most <00:21:46.594>of <00:21:46.770>the <00:21:46.945>companies, <00:21:47.120>they <00:21:47.294>will <00:21:47.469>probably <00:21:47.645>start

505
00:21:48.425 --> 00:21:51.145
<00:21:48.425>with <00:21:48.600>a <00:21:48.774>general <00:21:48.950>model <00:21:49.125>and <00:21:49.300>more <00:21:49.475>add <00:21:49.649>like <00:21:49.825>information

506
00:21:51.165 --> 00:21:53.785
<00:21:51.165>to <00:21:51.340>the <00:21:51.514>context <00:21:51.690>to <00:21:51.865>get <00:21:52.040>the <00:21:52.215>responses <00:21:52.389>they <00:21:52.565>want.

507
00:21:55.455 --> 00:21:59.075
<00:21:55.455>The <00:21:55.582>other <00:21:55.709>one <00:21:55.836>that <00:21:55.964>is, <00:21:56.091>I <00:21:56.218>would <00:21:56.345>say <00:21:56.473>very <00:21:56.600>cheap <00:21:56.727>com, <00:21:56.855>uh,

508
00:21:59.075 --> 00:22:01.195
<00:21:59.075>for <00:21:59.250>the, <00:21:59.425>uh, <00:21:59.600>regarding <00:21:59.775>the <00:21:59.950>effort <00:22:00.125>is <00:22:00.300>prompt <00:22:00.475>engineering,

509
00:22:01.195 --> 00:22:02.355
<00:22:01.195>but <00:22:01.543>has <00:22:01.891>it <00:22:02.239>limitations.

510
00:22:03.015 --> 00:22:05.995
<00:22:03.015>So <00:22:03.155>it's <00:22:03.295>about <00:22:03.435>like, <00:22:03.575>um, <00:22:03.715>trying <00:22:03.855>to <00:22:03.995>get <00:22:04.135>the <00:22:04.275>best <00:22:04.415>out

511
00:22:06.015 --> 00:22:08.675
<00:22:06.015>of <00:22:06.215>the <00:22:06.415>large <00:22:06.615>language <00:22:06.815>model <00:22:07.015>with, <00:22:07.215>uh, <00:22:07.415>yeah,

512
00:22:08.735 --> 00:22:10.475
<00:22:08.735>the <00:22:09.014>context <00:22:09.294>window <00:22:09.574>that <00:22:09.854>you <00:22:10.135>have.

513
00:22:11.345 --> 00:22:16.225
<00:22:11.345>Um, <00:22:11.520>there's <00:22:11.695>more <00:22:11.870>things <00:22:12.045>like <00:22:12.220>an <00:22:12.395>example <00:22:12.570>I <00:22:12.745>like,

514
00:22:16.225 --> 00:22:18.305
<00:22:16.225>so <00:22:16.365>I'm <00:22:16.504>not <00:22:16.645>a <00:22:16.784>native <00:22:16.925>English <00:22:17.064>speaker, <00:22:17.205>which <00:22:17.344>you <00:22:17.485>may <00:22:17.625>heard.

515
00:22:18.765 --> 00:22:20.185
<00:22:18.765>And, <00:22:19.020>um, <00:22:19.276>if <00:22:19.531>you, <00:22:19.787>for <00:22:20.043>example,

516
00:22:20.215 --> 00:22:22.305
<00:22:20.215>need <00:22:20.415>some <00:22:20.615>help <00:22:20.814>writing <00:22:21.014>some <00:22:21.215>documents, <00:22:21.415>et <00:22:21.615>cetera,

517
00:22:22.305 --> 00:22:25.545
<00:22:22.305>and <00:22:22.460>should <00:22:22.616>be <00:22:22.771>obvious <00:22:22.927>that <00:22:23.082>it's <00:22:23.238>not <00:22:23.393>like, <00:22:23.549>uh, <00:22:23.705>created

518
00:22:25.605 --> 00:22:29.085
<00:22:25.605>by <00:22:25.760>somebody <00:22:25.916>being <00:22:26.071>native <00:22:26.227>English, <00:22:26.382>you <00:22:26.538>can <00:22:26.693>just <00:22:26.849>add <00:22:27.005>like,

519
00:22:29.225 --> 00:22:30.485
<00:22:29.225>I'm <00:22:29.451>not <00:22:29.678>a <00:22:29.905>native <00:22:30.132>English <00:22:30.359>speaker.

520
00:22:30.585 --> 00:22:32.925
<00:22:30.585>And <00:22:30.760>then <00:22:30.935>the, <00:22:31.110>the <00:22:31.285>response <00:22:31.460>will <00:22:31.635>be <00:22:31.810>completely <00:22:31.985>different

521
00:22:32.945 --> 00:22:34.125
<00:22:32.945>and <00:22:33.157>really <00:22:33.369>like, <00:22:33.582>okay, <00:22:33.794>this <00:22:34.007>is

522
00:22:34.125 --> 00:22:36.245
<00:22:34.125>how <00:22:34.405>I <00:22:34.685>would've <00:22:34.965>written <00:22:35.245>it <00:22:35.525>myself.

523
00:22:36.845 --> 00:22:37.905
<00:22:36.845>And <00:22:37.083>those <00:22:37.322>are <00:22:37.560>things, <00:22:37.799>uh,

524
00:22:37.905 --> 00:22:39.105
<00:22:37.905>that <00:22:38.175>are <00:22:38.445>called <00:22:38.715>prompt <00:22:38.985>engineering.

525
00:22:39.105 --> 00:22:40.505
<00:22:39.105>They're <00:22:39.525>really <00:22:39.945>like <00:22:40.365>techniques.

526
00:22:40.605 --> 00:22:43.145
<00:22:40.605>So <00:22:40.760>there <00:22:40.916>are <00:22:41.071>papers <00:22:41.227>on <00:22:41.382>that, <00:22:41.538>like <00:22:41.693>few <00:22:41.849>prompt, <00:22:42.005>uh,

527
00:22:43.325 --> 00:22:45.385
<00:22:43.325>future <00:22:43.558>prompting <00:22:43.791>or <00:22:44.025>chain <00:22:44.258>of <00:22:44.491>thought <00:22:44.725>prompting

528
00:22:45.695 --> 00:22:47.185
<00:22:45.695>that <00:22:46.141>you <00:22:46.589>really <00:22:47.036>like.

529
00:22:47.295 --> 00:22:48.785
<00:22:47.295>Also <00:22:47.742>mitigate <00:22:48.189>the <00:22:48.636>limitations

530
00:22:48.785 --> 00:22:50.425
<00:22:48.785>of <00:22:49.065>like <00:22:49.345>language, <00:22:49.625>large <00:22:49.905>language <00:22:50.185>models.

531
00:22:50.485 --> 00:22:52.105
<00:22:50.485>So <00:22:50.718>also <00:22:50.951>if <00:22:51.185>you <00:22:51.418>use <00:22:51.651>chat <00:22:51.885>EPT,

532
00:22:52.455 --> 00:22:54.105
<00:22:52.455>it's <00:22:52.655>really <00:22:52.855>worth <00:22:53.054>having <00:22:53.254>a <00:22:53.455>look <00:22:53.655>at <00:22:53.855>that.

533
00:22:54.125 --> 00:22:56.705
<00:22:54.125>So <00:22:54.325>what's <00:22:54.525>possible <00:22:54.725>by <00:22:54.925>just <00:22:55.125>changing <00:22:55.325>your <00:22:55.525>instructions,

534
00:22:58.685 --> 00:23:01.745
<00:22:58.685>the <00:22:58.825>one <00:22:58.965>a <00:22:59.105>little <00:22:59.245>bit <00:22:59.385>more <00:22:59.524>interesting <00:22:59.665>for <00:22:59.804>us <00:22:59.945>are, <00:23:00.085>uh,

535
00:23:01.885 --> 00:23:03.705
<00:23:01.885>for <00:23:02.118>example, <00:23:02.351>tool <00:23:02.585>calling, <00:23:02.818>which <00:23:03.051>is <00:23:03.285>really,

536
00:23:03.705 --> 00:23:04.705
<00:23:03.705>really <00:23:04.155>famous <00:23:04.605>currently.

537
00:23:04.765 --> 00:23:07.385
<00:23:04.765>You <00:23:04.940>may <00:23:05.115>have <00:23:05.290>heard <00:23:05.465>about <00:23:05.640>MCP <00:23:05.815>agents, <00:23:05.990>et <00:23:06.165>cetera,

538
00:23:07.845 --> 00:23:09.425
<00:23:07.845>and <00:23:08.078>they <00:23:08.311>are <00:23:08.545>really <00:23:08.778>based <00:23:09.011>on, <00:23:09.245>uh,

539
00:23:09.425 --> 00:23:10.625
<00:23:09.425>something <00:23:09.784>called <00:23:10.145>tool <00:23:10.505>calling.

540
00:23:11.005 --> 00:23:15.105
<00:23:11.005>And <00:23:11.121>how <00:23:11.238>it <00:23:11.355>works <00:23:11.471>at <00:23:11.588>the <00:23:11.705>end <00:23:11.821>is <00:23:11.938>that <00:23:12.055>you <00:23:12.171>have <00:23:12.288>methods <00:23:12.405>in

541
00:23:15.165 --> 00:23:16.785
<00:23:15.165>or <00:23:15.514>functions <00:23:15.865>in <00:23:16.215>your <00:23:16.565>application,

542
00:23:17.485 --> 00:23:20.025
<00:23:17.485>and <00:23:17.764>you <00:23:18.044>send <00:23:18.324>information <00:23:18.604>about <00:23:18.885>that

543
00:23:20.025 --> 00:23:22.505
<00:23:20.025>to <00:23:20.180>the <00:23:20.336>large <00:23:20.491>language <00:23:20.647>model <00:23:20.802>to <00:23:20.958>those <00:23:21.113>that <00:23:21.269>support <00:23:21.425>it.

544
00:23:23.525 --> 00:23:27.135
<00:23:23.525>This <00:23:23.725>large <00:23:23.925>language <00:23:24.125>model <00:23:24.325>decides <00:23:24.525>whether <00:23:24.725>it's <00:23:24.925>necessary

545
00:23:27.195 --> 00:23:30.415
<00:23:27.195>to <00:23:27.335>fulfill <00:23:27.475>your <00:23:27.615>request <00:23:27.754>in <00:23:27.895>the <00:23:28.034>prompt <00:23:28.175>to <00:23:28.314>call <00:23:28.455>this <00:23:28.595>function.

546
00:23:30.985 --> 00:23:32.495
<00:23:30.985>It'll <00:23:31.324>send <00:23:31.664>back <00:23:32.004>a <00:23:32.343>response,

547
00:23:32.515 --> 00:23:34.095
<00:23:32.515>please <00:23:32.795>call <00:23:33.075>this <00:23:33.355>function <00:23:33.635>for <00:23:33.915>me.

548
00:23:34.435 --> 00:23:35.935
<00:23:34.435>The <00:23:34.705>application <00:23:34.975>will <00:23:35.245>call <00:23:35.514>the <00:23:35.784>function

549
00:23:36.355 --> 00:23:39.175
<00:23:36.355>and, <00:23:36.495>uh, <00:23:36.635>send <00:23:36.775>back <00:23:36.915>the <00:23:37.055>response <00:23:37.195>to <00:23:37.335>the <00:23:37.475>large <00:23:37.615>language <00:23:37.755>model.

550
00:23:40.505 --> 00:23:42.385
<00:23:40.505>A <00:23:40.785>standard <00:23:41.065>example <00:23:41.345>is <00:23:41.625>like, <00:23:41.905>um,

551
00:23:42.545 --> 00:23:44.505
<00:23:42.545>I <00:23:42.720>said <00:23:42.895>they <00:23:43.070>are <00:23:43.245>trained <00:23:43.420>on <00:23:43.595>data, <00:23:43.770>which <00:23:43.945>means

552
00:23:44.505 --> 00:23:46.725
<00:23:44.505>that <00:23:44.680>every <00:23:44.855>request <00:23:45.030>you're <00:23:45.205>sending <00:23:45.380>the <00:23:45.555>large <00:23:45.730>language <00:23:45.905>model,

553
00:23:47.185 --> 00:23:48.685
<00:23:47.185>the <00:23:47.409>response <00:23:47.635>will <00:23:47.860>be <00:23:48.085>from <00:23:48.310>the <00:23:48.534>past,

554
00:23:49.665 --> 00:23:53.355
<00:23:49.665>even <00:23:49.865>if <00:23:50.065>they're <00:23:50.264>like <00:23:50.465>things, <00:23:50.665>uh, <00:23:50.865>um, <00:23:51.065>mitigating

555
00:23:53.355 --> 00:23:54.835
<00:23:53.355>that <00:23:53.545>in <00:23:53.735>the <00:23:53.925>large <00:23:54.116>language <00:23:54.306>models, <00:23:54.496>this <00:23:54.687>is

556
00:23:54.835 --> 00:23:58.135
<00:23:54.835>how <00:23:55.010>they <00:23:55.185>usually <00:23:55.360>behave, <00:23:55.535>which <00:23:55.710>means <00:23:55.885>that, <00:23:56.060>for <00:23:56.235>example,

557
00:23:58.155 --> 00:23:59.255
<00:23:58.155>if <00:23:58.296>I <00:23:58.437>would <00:23:58.579>like <00:23:58.720>to <00:23:58.862>know <00:23:59.003>what <00:23:59.145>the,

558
00:23:59.255 --> 00:24:02.485
<00:23:59.255>whether <00:23:59.455>currently <00:23:59.655>in <00:23:59.855>Berlin <00:24:00.055>is <00:24:00.255>what, <00:24:00.455>um, <00:24:00.655>uh,

559
00:24:02.515 --> 00:24:05.165
<00:24:02.515>tool <00:24:02.655>calling <00:24:02.795>will <00:24:02.935>help <00:24:03.075>with <00:24:03.215>help <00:24:03.355>with <00:24:03.495>you, <00:24:03.635>you <00:24:03.775>will <00:24:03.915>ask

560
00:24:05.165 --> 00:24:06.285
<00:24:05.165>what <00:24:05.366>is <00:24:05.568>the <00:24:05.769>weather <00:24:05.971>in <00:24:06.173>Berlin?

561
00:24:07.485 --> 00:24:08.545
<00:24:07.485>The <00:24:07.803>large <00:24:08.121>language <00:24:08.439>model,

562
00:24:08.565 --> 00:24:12.025
<00:24:08.565>if <00:24:08.681>it's <00:24:08.798>aware <00:24:08.915>there <00:24:09.031>is <00:24:09.148>a <00:24:09.265>function <00:24:09.381>in <00:24:09.498>your <00:24:09.615>code <00:24:09.731>that <00:24:09.848>can, <00:24:09.965>uh,

563
00:24:12.165 --> 00:24:14.265
<00:24:12.165>ask <00:24:12.398>an <00:24:12.631>API <00:24:12.865>about <00:24:13.098>that, <00:24:13.331>it'll <00:24:13.565>return,

564
00:24:14.265 --> 00:24:18.025
<00:24:14.265>please <00:24:14.440>call <00:24:14.615>this <00:24:14.790>function <00:24:14.965>with, <00:24:15.140>uh, <00:24:15.315>the <00:24:15.490>parameter <00:24:15.665>Berlin,

565
00:24:18.845 --> 00:24:21.345
<00:24:18.845>and <00:24:18.985>then <00:24:19.125>you <00:24:19.265>do <00:24:19.405>the <00:24:19.545>call, <00:24:19.685>send <00:24:19.825>back <00:24:19.965>the <00:24:20.105>response <00:24:20.245>like,

566
00:24:21.625 --> 00:24:25.225
<00:24:21.625>whatever, <00:24:21.800>21 <00:24:21.975>degrees <00:24:22.150>and <00:24:22.325>it <00:24:22.500>can <00:24:22.675>answer <00:24:22.850>natural <00:24:23.025>language.

567
00:24:25.415 --> 00:24:28.425
<00:24:25.415>This <00:24:25.590>is <00:24:25.764>like, <00:24:25.940>um, <00:24:26.115>yeah, <00:24:26.290>the <00:24:26.465>result <00:24:26.639>of <00:24:26.815>that.

568
00:24:30.115 --> 00:24:32.245
<00:24:30.115>Last <00:24:30.290>but <00:24:30.465>not <00:24:30.640>least, <00:24:30.815>we <00:24:30.990>have <00:24:31.165>ve <00:24:31.340>augmented <00:24:31.515>generation.

569
00:24:32.265 --> 00:24:34.245
<00:24:32.265>The <00:24:32.440>idea <00:24:32.615>is <00:24:32.790>you, <00:24:32.965>you <00:24:33.140>could <00:24:33.315>achieve <00:24:33.490>a <00:24:33.665>lot

570
00:24:34.245 --> 00:24:35.565
<00:24:34.245>of <00:24:34.482>things <00:24:34.720>also <00:24:34.957>with <00:24:35.195>true <00:24:35.433>calling.

571
00:24:36.205 --> 00:24:38.625
<00:24:36.205>What's <00:24:36.405>special <00:24:36.605>about, <00:24:36.804>uh, <00:24:37.004>retrieve <00:24:37.205>augmented <00:24:37.405>generation <00:24:37.605>is

572
00:24:38.625 --> 00:24:39.825
<00:24:38.625>that <00:24:38.841>you <00:24:39.057>have <00:24:39.273>an <00:24:39.489>additional <00:24:39.705>component,

573
00:24:39.825 --> 00:24:40.945
<00:24:39.825>which <00:24:40.077>is <00:24:40.329>a <00:24:40.581>vector <00:24:40.832>database,

574
00:24:41.365 --> 00:24:42.785
<00:24:41.365>and <00:24:41.620>the <00:24:41.876>benefit <00:24:42.131>of <00:24:42.387>that <00:24:42.643>is,

575
00:24:42.785 --> 00:24:45.385
<00:24:42.785>you <00:24:42.912>can <00:24:43.039>see <00:24:43.166>it <00:24:43.294>here <00:24:43.421>on <00:24:43.548>the <00:24:43.675>right, <00:24:43.803>you <00:24:43.930>have <00:24:44.057>embedding <00:24:44.185>model,

576
00:24:45.385 --> 00:24:49.185
<00:24:45.385>which <00:24:45.585>will <00:24:45.785>translate <00:24:45.985>your <00:24:46.185>natural <00:24:46.385>text <00:24:46.585>into <00:24:46.785>embedding

577
00:24:49.185 --> 00:24:51.305
<00:24:49.185>so <00:24:49.418>vectors <00:24:49.651>and <00:24:49.885>on <00:24:50.118>the <00:24:50.351>vector <00:24:50.585>store,

578
00:24:51.885 --> 00:24:54.505
<00:24:51.885>you <00:24:52.060>can <00:24:52.235>run <00:24:52.410>a <00:24:52.585>so-called <00:24:52.760>similarity <00:24:52.935>search, <00:24:53.110>which <00:24:53.285>means

579
00:24:54.505 --> 00:24:56.785
<00:24:54.505>that <00:24:54.705>you <00:24:54.905>have <00:24:55.105>two <00:24:55.305>texts <00:24:55.505>in <00:24:55.705>natural <00:24:55.905>language.

580
00:24:57.545 --> 00:25:00.595
<00:24:57.545>They <00:24:57.672>are, <00:24:57.799>um, <00:24:57.926>you <00:24:58.054>will <00:24:58.181>get <00:24:58.308>a <00:24:58.435>response <00:24:58.563>how <00:24:58.690>close <00:24:58.817>they <00:24:58.945>are

581
00:25:00.595 --> 00:25:03.075
<00:25:00.595>regarding <00:25:00.875>the <00:25:01.155>context, <00:25:01.435>uh, <00:25:01.715>contextual <00:25:01.995>meaning.

582
00:25:03.855 --> 00:25:05.035
<00:25:03.855>And <00:25:04.120>with <00:25:04.386>that, <00:25:04.651>it's <00:25:04.917>possible

583
00:25:05.425 --> 00:25:07.635
<00:25:05.425>that <00:25:05.625>you <00:25:05.825>put <00:25:06.024>documents <00:25:06.225>in <00:25:06.425>this <00:25:06.625>vector <00:25:06.825>store.

584
00:25:07.635 --> 00:25:11.315
<00:25:07.635>So <00:25:07.775>they're <00:25:07.915>vectors. <00:25:08.055>And <00:25:08.195>then <00:25:08.335>you <00:25:08.475>ask <00:25:08.615>like <00:25:08.754>the <00:25:08.895>example <00:25:09.035>here,

585
00:25:11.815 --> 00:25:15.275
<00:25:11.815>um, <00:25:12.015>please <00:25:12.215>gimme <00:25:12.415>a <00:25:12.615>recipe <00:25:12.815>with, <00:25:13.015>uh, <00:25:13.215>strawberries

586
00:25:16.305 --> 00:25:20.735
<00:25:16.305>and <00:25:16.445>it'll <00:25:16.585>based <00:25:16.725>on <00:25:16.865>this <00:25:17.005>prompt, <00:25:17.145>you <00:25:17.285>run <00:25:17.425>a <00:25:17.565>similarity <00:25:17.705>search

587
00:25:20.735 --> 00:25:24.535
<00:25:20.735>to <00:25:20.875>the <00:25:21.014>database <00:25:21.155>and <00:25:21.294>it <00:25:21.435>will <00:25:21.574>provide <00:25:21.715>you <00:25:21.854>back, <00:25:21.995>uh, <00:25:22.135>recipes

588
00:25:24.535 --> 00:25:27.295
<00:25:24.535>with <00:25:24.735>strawberries, <00:25:24.935>even <00:25:25.135>if <00:25:25.335>that's <00:25:25.535>also <00:25:25.735>natural <00:25:25.935>language.

589
00:25:27.295 --> 00:25:29.935
<00:25:27.295>That's <00:25:27.528>the <00:25:27.761>magic <00:25:27.995>of <00:25:28.228>what <00:25:28.461>du <00:25:28.695>uh,

590
00:25:29.935 --> 00:25:31.975
<00:25:29.935>augmentation <00:25:30.168>is, <00:25:30.401>uh, <00:25:30.635>is <00:25:30.868>able <00:25:31.101>to <00:25:31.335>do.

591
00:25:32.595 --> 00:25:33.815
<00:25:32.595>And <00:25:32.869>that's <00:25:33.144>something <00:25:33.418>you <00:25:33.693>run

592
00:25:33.915 --> 00:25:36.135
<00:25:33.915>before <00:25:34.148>you <00:25:34.381>call <00:25:34.615>the <00:25:34.848>large <00:25:35.081>language <00:25:35.315>model.

593
00:25:36.755 --> 00:25:41.135
<00:25:36.755>So, <00:25:36.955>um, <00:25:37.155>yeah, <00:25:37.355>demo <00:25:37.555>of <00:25:37.755>that <00:25:37.955>as <00:25:38.155>that.

594
00:25:41.515 --> 00:25:43.655
<00:25:41.515>Um, <00:25:41.748>that's <00:25:41.981>all <00:25:42.215>implemented <00:25:42.448>in <00:25:42.681>this <00:25:42.915>application

595
00:25:43.755 --> 00:25:45.735
<00:25:43.755>for <00:25:44.105>all <00:25:44.455>three, <00:25:44.805>uh, <00:25:45.155>frameworks.

596
00:25:45.915 --> 00:25:48.255
<00:25:45.915>And <00:25:46.070>you <00:25:46.226>can <00:25:46.381>see <00:25:46.537>you <00:25:46.692>have <00:25:46.848>additional <00:25:47.003>check <00:25:47.159>marks <00:25:47.315>here.

597
00:25:48.255 --> 00:25:50.295
<00:25:48.255>So <00:25:48.455>if <00:25:48.655>I <00:25:48.855>click <00:25:49.055>this, <00:25:49.255>use <00:25:49.455>available <00:25:49.655>ingredients,

598
00:25:50.295 --> 00:25:52.415
<00:25:50.295>there <00:25:50.470>is <00:25:50.645>like <00:25:50.820>a <00:25:50.995>mock <00:25:51.170>for, <00:25:51.345>uh, <00:25:51.520>smart <00:25:51.695>fridge.

599
00:25:53.155 --> 00:25:56.215
<00:25:53.155>Um, <00:25:53.330>the <00:25:53.504>default <00:25:53.680>configuration <00:25:53.855>is <00:25:54.030>like <00:25:54.205>bacon <00:25:54.379>and <00:25:54.555>onion,

600
00:25:56.215 --> 00:25:59.855
<00:25:56.215>and <00:25:56.370>you <00:25:56.526>can <00:25:56.681>see <00:25:56.837>from, <00:25:56.992>uh, <00:25:57.148>like <00:25:57.303>this <00:25:57.459>recipe <00:25:57.615>cheese

601
00:26:00.075 --> 00:26:01.175
<00:26:00.075>and <00:26:00.570>uh, <00:26:01.065>spinach.

602
00:26:01.485 --> 00:26:05.095
<00:26:01.485>It's <00:26:01.625>now, <00:26:01.764>uh, <00:26:01.905>cheese <00:26:02.044>and <00:26:02.185>bacon <00:26:02.324>and <00:26:02.465>also <00:26:02.604>onion <00:26:02.745>is <00:26:02.885>included

603
00:26:05.095 --> 00:26:07.775
<00:26:05.095>because <00:26:05.295>that's <00:26:05.495>something <00:26:05.695>by <00:26:05.895>two <00:26:06.095>calling <00:26:06.295>I <00:26:06.495>added

604
00:26:07.835 --> 00:26:10.555
<00:26:07.835>to <00:26:08.068>the <00:26:08.301>prompt <00:26:08.535>re <00:26:08.768>log <00:26:09.001>augment <00:26:09.235>generation.

605
00:26:10.555 --> 00:26:12.955
<00:26:10.555>There <00:26:10.730>we <00:26:10.905>have <00:26:11.080>like <00:26:11.255>a, <00:26:11.430>a <00:26:11.605>book <00:26:11.780>of <00:26:11.955>recipes

606
00:26:12.955 --> 00:26:15.315
<00:26:12.955>and <00:26:13.188>there <00:26:13.421>is <00:26:13.655>one <00:26:13.888>recipe <00:26:14.121>like, <00:26:14.355>uh,

607
00:26:15.315 --> 00:26:17.035
<00:26:15.315>with <00:26:15.665>a <00:26:16.015>cheese <00:26:16.365>bedley <00:26:16.715>muffins.

608
00:26:17.615 --> 00:26:21.315
<00:26:17.615>And <00:26:17.770>um, <00:26:17.926>you <00:26:18.081>can <00:26:18.237>see <00:26:18.392>with <00:26:18.548>this <00:26:18.703>preferred <00:26:18.859>on <00:26:19.015>recipes,

609
00:26:21.315 --> 00:26:23.675
<00:26:21.315>after <00:26:21.490>I <00:26:21.665>uploaded <00:26:21.840>this <00:26:22.015>PDF, <00:26:22.190>which <00:26:22.365>is <00:26:22.540>also <00:26:22.715>part

610
00:26:23.675 --> 00:26:27.195
<00:26:23.675>of <00:26:23.802>this <00:26:23.929>document, <00:26:24.056>uh, <00:26:24.184>uh, <00:26:24.311>this, <00:26:24.438>this, <00:26:24.565>uh, <00:26:24.693>code, <00:26:24.820>I <00:26:24.947>was <00:26:25.075>able

611
00:26:27.195 --> 00:26:29.115
<00:26:27.195>to <00:26:27.544>get <00:26:27.895>the <00:26:28.245>right <00:26:28.595>information

612
00:26:29.115 --> 00:26:30.915
<00:26:29.115>because <00:26:29.581>the <00:26:30.048>vector <00:26:30.515>store

613
00:26:31.185 --> 00:26:33.435
<00:26:31.185>with <00:26:31.385>a <00:26:31.585>similarity <00:26:31.784>search <00:26:31.985>return <00:26:32.185>like <00:26:32.385>this <00:26:32.585>recipe,

614
00:26:34.175 --> 00:26:36.355
<00:26:34.175>and <00:26:34.408>there <00:26:34.641>was <00:26:34.875>an <00:26:35.108>instruction <00:26:35.341>only <00:26:35.575>used,

615
00:26:36.355 --> 00:26:39.435
<00:26:36.355>like <00:26:36.530>if <00:26:36.705>there's <00:26:36.880>a <00:26:37.055>recipe <00:26:37.230>available <00:26:37.405>in <00:26:37.580>the <00:26:37.755>context,

616
00:26:39.535 --> 00:26:41.835
<00:26:39.535>please <00:26:39.768>use <00:26:40.001>that <00:26:40.235>instead <00:26:40.468>of <00:26:40.701>generating <00:26:40.935>one.

617
00:26:43.995 --> 00:26:46.175
<00:26:43.995>How <00:26:44.122>does <00:26:44.249>this <00:26:44.376>look <00:26:44.504>like? <00:26:44.631>So <00:26:44.758>we <00:26:44.885>don't <00:26:45.013>have <00:26:45.140>too <00:26:45.267>much <00:26:45.395>time

618
00:26:46.175 --> 00:26:49.525
<00:26:46.175>anymore, <00:26:46.330>but <00:26:46.486>um, <00:26:46.641>for <00:26:46.797>long <00:26:46.952>chain <00:26:47.108>four <00:26:47.263>J <00:26:47.419>all <00:26:47.575>of

619
00:26:49.525 --> 00:26:51.365
<00:26:49.525>that <00:26:49.805>flow <00:26:50.085>is <00:26:50.365>really <00:26:50.645>abstracted <00:26:50.925>away

620
00:26:51.625 --> 00:26:54.445
<00:26:51.625>and <00:26:51.825>um, <00:26:52.025>helps <00:26:52.225>you, <00:26:52.425>uh, <00:26:52.625>with <00:26:52.825>implementing <00:26:53.025>it.

621
00:26:54.625 --> 00:26:56.525
<00:26:54.625>Um, <00:26:55.091>for <00:26:55.558>naive <00:26:56.025>rack.

622
00:26:56.625 --> 00:26:59.085
<00:26:56.625>So <00:26:56.825>the <00:26:57.025>standard <00:26:57.225>like <00:26:57.425>IF <00:26:57.625>one <00:26:57.825>database, <00:26:58.025>um,

623
00:27:00.245 --> 00:27:02.845
<00:27:00.245>I <00:27:00.478>don't <00:27:00.711>have <00:27:00.945>multiple <00:27:01.178>databases, <00:27:01.411>vector <00:27:01.645>databases,

624
00:27:03.005 --> 00:27:06.045
<00:27:03.005>any <00:27:03.160>routing, <00:27:03.316>et <00:27:03.471>cetera, <00:27:03.627>but <00:27:03.782>also <00:27:03.938>like <00:27:04.093>more <00:27:04.249>advanced <00:27:04.405>track.

625
00:27:06.845 --> 00:27:09.985
<00:27:06.845>And <00:27:07.020>uh, <00:27:07.195>with <00:27:07.370>this <00:27:07.545>re <00:27:07.720>maturation, <00:27:07.895>you <00:27:08.070>first <00:27:08.245>have

626
00:27:10.005 --> 00:27:11.865
<00:27:10.005>to <00:27:10.355>put <00:27:10.705>in <00:27:11.055>your <00:27:11.405>information,

627
00:27:11.925 --> 00:27:14.585
<00:27:11.925>so <00:27:12.100>your <00:27:12.274>documents <00:27:12.450>into <00:27:12.625>the <00:27:12.800>vector <00:27:12.975>data, <00:27:13.149>uh, <00:27:13.325>base

628
00:27:14.885 --> 00:27:19.295
<00:27:14.885>and <00:27:15.040>also <00:27:15.196>this <00:27:15.351>is <00:27:15.507>supported, <00:27:15.662>um, <00:27:15.818>regarding <00:27:15.973>the <00:27:16.129>tool <00:27:16.285>calling.

629
00:27:19.395 --> 00:27:21.735
<00:27:19.395>You <00:27:19.522>can <00:27:19.649>see, <00:27:19.776>and <00:27:19.904>this <00:27:20.031>is <00:27:20.158>how <00:27:20.285>all <00:27:20.413>the <00:27:20.540>frameworks <00:27:20.667>are <00:27:20.795>doing

630
00:27:21.735 --> 00:27:25.145
<00:27:21.735>that <00:27:21.890>you <00:27:22.046>have <00:27:22.201>a <00:27:22.357>at <00:27:22.512>tool <00:27:22.668>annotation, <00:27:22.823>which <00:27:22.979>you <00:27:23.135>add

631
00:27:25.145 --> 00:27:27.065
<00:27:25.145>to <00:27:25.495>the <00:27:25.845>method <00:27:26.195>and <00:27:26.545>um,

632
00:27:28.125 --> 00:27:30.065
<00:27:28.125>you <00:27:28.405>provide <00:27:28.685>information <00:27:28.965>about <00:27:29.245>this <00:27:29.525>tool.

633
00:27:30.165 --> 00:27:32.905
<00:27:30.165>So <00:27:30.340>also <00:27:30.514>if <00:27:30.690>you <00:27:30.865>have <00:27:31.040>variables <00:27:31.215>for <00:27:31.389>uh, <00:27:31.565>parameters,

634
00:27:33.205 --> 00:27:36.305
<00:27:33.205>you <00:27:33.332>add <00:27:33.459>an <00:27:33.586>annotation <00:27:33.714>there, <00:27:33.841>um, <00:27:33.968>which <00:27:34.095>is <00:27:34.223>not <00:27:34.350>the <00:27:34.477>case <00:27:34.605>here,

635
00:27:36.525 --> 00:27:39.065
<00:27:36.525>and <00:27:36.665>this <00:27:36.805>is <00:27:36.945>something <00:27:37.085>then <00:27:37.225>in <00:27:37.365>the <00:27:37.505>background <00:27:37.645>will <00:27:37.785>be <00:27:37.925>sent

636
00:27:39.065 --> 00:27:40.185
<00:27:39.065>to <00:27:39.317>the <00:27:39.569>large <00:27:39.821>language <00:27:40.072>model.

637
00:27:40.205 --> 00:27:43.975
<00:27:40.205>If <00:27:40.438>you <00:27:40.671>register <00:27:40.905>it <00:27:41.138>for <00:27:41.371>two <00:27:41.605>calling,

638
00:27:44.615 --> 00:27:47.015
<00:27:44.615>I <00:27:44.770>said <00:27:44.926>there's <00:27:45.081>also <00:27:45.237>really <00:27:45.392>good <00:27:45.548>support <00:27:45.703>you <00:27:45.859>can <00:27:46.015>see

639
00:27:47.015 --> 00:27:48.615
<00:27:47.015>that's <00:27:47.365>called <00:27:47.715>embedding <00:27:48.065>store <00:27:48.415>jester.

640
00:27:49.035 --> 00:27:51.775
<00:27:49.035>You <00:27:49.210>define <00:27:49.385>like <00:27:49.560>what's <00:27:49.735>my <00:27:49.910>model, <00:27:50.085>my <00:27:50.260>embedding <00:27:50.435>model

641
00:27:51.775 --> 00:27:53.535
<00:27:51.775>that <00:27:52.055>converts <00:27:52.335>like <00:27:52.615>this <00:27:52.895>natural <00:27:53.175>text

642
00:27:53.535 --> 00:27:58.425
<00:27:53.535>or <00:27:53.690>the <00:27:53.846>documents <00:27:54.001>to, <00:27:54.157>um, <00:27:54.312>to <00:27:54.468>my <00:27:54.623>uh, <00:27:54.779>uh, <00:27:54.935>vectors.

643
00:27:58.985 --> 00:28:00.085
<00:27:58.985>You <00:27:59.232>have <00:27:59.480>the <00:27:59.727>vector <00:27:59.975>store,

644
00:28:00.085 --> 00:28:03.685
<00:28:00.085>which <00:28:00.260>is <00:28:00.435>the <00:28:00.610>vector <00:28:00.785>database <00:28:00.960>integration <00:28:01.135>documents <00:28:01.310>split <00:28:01.485>us

645
00:28:03.685 --> 00:28:05.565
<00:28:03.685>because <00:28:03.860>of <00:28:04.034>the <00:28:04.210>context <00:28:04.385>size, <00:28:04.560>you, <00:28:04.735>you <00:28:04.909>still <00:28:05.085>have

646
00:28:05.565 --> 00:28:08.325
<00:28:05.565>to <00:28:05.720>split <00:28:05.876>also <00:28:06.031>the <00:28:06.187>documents <00:28:06.342>depending <00:28:06.498>on <00:28:06.653>like <00:28:06.809>the <00:28:06.965>context

647
00:28:08.345 --> 00:28:10.565
<00:28:08.345>you <00:28:08.485>have <00:28:08.625>in <00:28:08.765>the <00:28:08.905>model <00:28:09.045>because <00:28:09.185>otherwise <00:28:09.325>the <00:28:09.465>recipe <00:28:09.605>will <00:28:09.745>be

648
00:28:10.565 --> 00:28:12.805
<00:28:10.565>too <00:28:10.740>big, <00:28:10.915>um, <00:28:11.090>to <00:28:11.265>also <00:28:11.440>put <00:28:11.615>in <00:28:11.790>the <00:28:11.965>context.

649
00:28:13.545 --> 00:28:16.285
<00:28:13.545>And <00:28:13.672>then, <00:28:13.799>uh, <00:28:13.926>as <00:28:14.054>you <00:28:14.181>can <00:28:14.308>see, <00:28:14.435>you <00:28:14.563>just <00:28:14.690>parse <00:28:14.817>the <00:28:14.945>PDF,

650
00:28:16.465 --> 00:28:17.685
<00:28:16.465>put <00:28:16.684>it <00:28:16.904>in <00:28:17.123>the <00:28:17.343>inges <00:28:17.562>store

651
00:28:17.745 --> 00:28:22.185
<00:28:17.745>and <00:28:17.900>uh, <00:28:18.056>the <00:28:18.211>data <00:28:18.367>is <00:28:18.522>there <00:28:18.678>to <00:28:18.833>be <00:28:18.989>used <00:28:19.145>for,

652
00:28:22.285 --> 00:28:23.345
<00:28:22.285>uh, <00:28:22.603>like <00:28:22.921>the <00:28:23.239>retriever.

653
00:28:23.375 --> 00:28:25.145
<00:28:23.375>It's <00:28:23.608>even <00:28:23.841>more <00:28:24.075>abstract <00:28:24.308>away <00:28:24.541>without <00:28:24.775>a

654
00:28:25.305 --> 00:28:26.545
<00:28:25.305>configuration <00:28:26.421>offspring.

655
00:28:27.125 --> 00:28:31.485
<00:28:27.125>Um, <00:28:27.265>at <00:28:27.405>end, <00:28:27.545>like <00:28:27.685>you <00:28:27.825>can <00:28:27.965>see, <00:28:28.105>you <00:28:28.245>just <00:28:28.385>tune <00:28:28.525>it

656
00:28:31.485 --> 00:28:33.805
<00:28:31.485>with <00:28:31.685>configuration <00:28:31.885>properties, <00:28:32.084>how <00:28:32.284>many <00:28:32.485>results <00:28:32.685>you <00:28:32.885>want

657
00:28:33.805 --> 00:28:34.965
<00:28:33.805>to <00:28:34.153>have, <00:28:34.501>similarity <00:28:34.849>score,

658
00:28:35.545 --> 00:28:38.525
<00:28:35.545>and <00:28:35.700>uh, <00:28:35.856>then <00:28:36.011>you <00:28:36.167>run <00:28:36.322>this <00:28:36.478>standard <00:28:36.633>method <00:28:36.789>we <00:28:36.945>see.

659
00:28:38.665 --> 00:28:40.805
<00:28:38.665>So, <00:28:39.014>uh, <00:28:39.365>recipe <00:28:39.715>service <00:28:40.065>find,

660
00:28:41.475 --> 00:28:44.335
<00:28:41.475>so <00:28:41.649>like <00:28:41.824>this <00:28:42.000>high <00:28:42.175>AI <00:28:42.350>service <00:28:42.524>abstraction, <00:28:42.699>that's <00:28:42.875>it.

661
00:28:44.395 --> 00:28:46.255
<00:28:44.395>And <00:28:44.628>it's <00:28:44.861>enabled <00:28:45.095>also <00:28:45.328>for <00:28:45.561>tool <00:28:45.795>calling.

662
00:28:46.255 --> 00:28:48.055
<00:28:46.255>That's <00:28:46.455>all <00:28:46.655>auto <00:28:46.855>configured <00:28:47.055>for <00:28:47.255>you <00:28:47.455>for <00:28:47.655>sure.

663
00:28:48.055 --> 00:28:49.535
<00:28:48.055>You <00:28:48.221>can <00:28:48.388>also <00:28:48.554>control <00:28:48.721>it <00:28:48.887>if <00:28:49.054>you <00:28:49.220>like <00:28:49.387>to.

664
00:28:50.905 --> 00:28:54.905
<00:28:50.905>For <00:28:51.080>spring <00:28:51.254>ai, <00:28:51.430>it's <00:28:51.605>uh, <00:28:51.780>tool <00:28:51.955>calling <00:28:52.129>the <00:28:52.305>same,

665
00:28:55.165 --> 00:28:56.745
<00:28:55.165>you <00:28:55.398>just <00:28:55.631>have <00:28:55.865>this, <00:28:56.098>it's <00:28:56.331>tool <00:28:56.565>annotation,

666
00:28:57.245 --> 00:29:00.305
<00:28:57.245>but <00:28:57.372>you <00:28:57.499>have <00:28:57.626>to <00:28:57.754>define <00:28:57.881>in <00:28:58.008>the <00:28:58.135>fluent <00:28:58.263>API <00:28:58.390>the <00:28:58.517>start <00:28:58.645>tools,

667
00:29:00.885 --> 00:29:03.025
<00:29:00.885>and <00:29:01.060>in <00:29:01.235>this <00:29:01.410>case <00:29:01.585>it's <00:29:01.760>part <00:29:01.935>of <00:29:02.110>this <00:29:02.285>intense,

668
00:29:03.025 --> 00:29:04.345
<00:29:03.025>therefore <00:29:03.421>you <00:29:03.817>have <00:29:04.213>this.

669
00:29:05.465 --> 00:29:09.745
<00:29:05.465>So <00:29:05.639>this <00:29:05.814>instance, <00:29:05.990>uh, <00:29:06.165>identify <00:29:06.340>where <00:29:06.514>are <00:29:06.689>the <00:29:06.865>tools,

670
00:29:09.805 --> 00:29:11.665
<00:29:09.805>and <00:29:09.960>this <00:29:10.116>will <00:29:10.271>be <00:29:10.427>sent <00:29:10.582>to <00:29:10.738>the <00:29:10.893>large <00:29:11.049>language <00:29:11.205>model,

671
00:29:13.255 --> 00:29:14.295
<00:29:13.255>retrie <00:29:13.567>log <00:29:13.879>augment <00:29:14.191>generation.

672
00:29:14.295 --> 00:29:16.015
<00:29:14.295>Also <00:29:14.495>for <00:29:14.695>indexing, <00:29:14.895>we <00:29:15.095>have <00:29:15.295>everything <00:29:15.495>we <00:29:15.695>need.

673
00:29:16.115 --> 00:29:18.255
<00:29:16.115>So <00:29:16.315>putting <00:29:16.515>the <00:29:16.715>data <00:29:16.915>into <00:29:17.115>the <00:29:17.315>vector <00:29:17.515>store

674
00:29:19.045 --> 00:29:21.865
<00:29:19.045>and <00:29:19.278>um, <00:29:19.511>for <00:29:19.745>like <00:29:19.978>this <00:29:20.211>retrieve <00:29:20.445>logman

675
00:29:21.865 --> 00:29:24.265
<00:29:21.865>and <00:29:22.020>generation, <00:29:22.176>we <00:29:22.331>have <00:29:22.487>a <00:29:22.642>concept <00:29:22.798>called <00:29:22.953>advisors, <00:29:23.109>not <00:29:23.265>only,

676
00:29:24.325 --> 00:29:27.985
<00:29:24.325>uh, <00:29:24.480>related <00:29:24.636>to <00:29:24.791>that <00:29:24.947>in <00:29:25.102>general, <00:29:25.258>to <00:29:25.413>really <00:29:25.569>inject <00:29:25.725>code

677
00:29:28.965 --> 00:29:30.735
<00:29:28.965>into <00:29:29.314>like <00:29:29.665>the <00:29:30.014>request <00:29:30.365>flow.

678
00:29:30.835 --> 00:29:33.615
<00:29:30.835>So <00:29:31.035>like <00:29:31.235>sending <00:29:31.435>the <00:29:31.635>request, <00:29:31.835>retrieving <00:29:32.035>the <00:29:32.235>request,

679
00:29:34.035 --> 00:29:36.135
<00:29:34.035>and <00:29:34.210>in <00:29:34.385>this <00:29:34.560>case <00:29:34.735>there's <00:29:34.910>a <00:29:35.085>question <00:29:35.260>answer <00:29:35.435>advice,

680
00:29:36.135 --> 00:29:39.055
<00:29:36.135>and <00:29:36.262>also <00:29:36.389>one <00:29:36.516>for <00:29:36.644>more <00:29:36.771>advanced <00:29:36.898>track <00:29:37.025>that <00:29:37.153>you <00:29:37.280>just <00:29:37.407>put <00:29:37.535>in.

681
00:29:39.055 --> 00:29:42.405
<00:29:39.055>And <00:29:39.195>it'll <00:29:39.335>add <00:29:39.475>like <00:29:39.615>this <00:29:39.755>cont <00:29:39.895>in <00:29:40.035>context <00:29:40.175>from <00:29:40.315>the <00:29:40.455>vector

682
00:29:42.535 --> 00:29:44.605
<00:29:42.535>store <00:29:43.001>to <00:29:43.468>your <00:29:43.935>prompt.

683
00:29:45.225 --> 00:29:47.045
<00:29:45.225>And, <00:29:45.425>uh, <00:29:45.625>with <00:29:45.824>that <00:29:46.024>we <00:29:46.225>have <00:29:46.425>a <00:29:46.625>complete

684
00:29:47.205 --> 00:29:48.245
<00:29:47.205>retrieve <00:29:47.673>logman <00:29:48.140>generation.

685
00:29:49.835 --> 00:29:52.765
<00:29:49.835>Just <00:29:50.010>one <00:29:50.185>more <00:29:50.360>second, <00:29:50.535>and <00:29:50.710>then, <00:29:50.885>uh, <00:29:51.060>we <00:29:51.235>are,

686
00:29:52.765 --> 00:29:55.485
<00:29:52.765>because <00:29:52.905>we're <00:29:53.045>a <00:29:53.185>little <00:29:53.325>bit <00:29:53.465>over <00:29:53.605>time, <00:29:53.745>um, <00:29:53.885>so <00:29:54.025>this <00:29:54.165>is

687
00:29:55.485 --> 00:29:57.125
<00:29:55.485>how <00:29:55.659>it <00:29:55.834>looks <00:29:56.010>like <00:29:56.185>you <00:29:56.360>have <00:29:56.534>this <00:29:56.709>start <00:29:56.885>advisors,

688
00:29:57.125 --> 00:29:59.605
<00:29:57.125>it <00:29:57.252>could <00:29:57.379>be <00:29:57.506>also, <00:29:57.634>so <00:29:57.761>we <00:29:57.888>have <00:29:58.015>a <00:29:58.143>logging <00:29:58.270>advisor, <00:29:58.397>et <00:29:58.525>cetera.

689
00:29:59.625 --> 00:30:02.285
<00:29:59.625>So <00:29:59.752>everything <00:29:59.879>you <00:30:00.006>have <00:30:00.134>in <00:30:00.261>this <00:30:00.388>one, <00:30:00.515>you <00:30:00.643>put <00:30:00.770>into <00:30:00.897>this, <00:30:01.025>uh,

690
00:30:02.705 --> 00:30:06.805
<00:30:02.705>um, <00:30:02.832>uh, <00:30:02.959>you <00:30:03.086>put <00:30:03.214>into <00:30:03.341>this <00:30:03.468>flow <00:30:03.595>of, <00:30:03.723>of, <00:30:03.850>of <00:30:03.977>interacting <00:30:04.105>with,

691
00:30:06.805 --> 00:30:09.165
<00:30:06.805>uh, <00:30:07.155>ai, <00:30:07.505>uh, <00:30:07.855>um, <00:30:08.205>model.

692
00:30:10.645 --> 00:30:12.135
<00:30:10.645>Last <00:30:10.836>thing <00:30:11.028>I <00:30:11.219>want <00:30:11.411>to <00:30:11.602>mention, <00:30:11.794>we <00:30:11.985>also

693
00:30:12.135 --> 00:30:13.615
<00:30:12.135>for <00:30:12.401>sure <00:30:12.667>have <00:30:12.934>support <00:30:13.200>for <00:30:13.467>MCP.

694
00:30:14.255 --> 00:30:16.355
<00:30:14.255>So, <00:30:14.430>uh, <00:30:14.605>on <00:30:14.780>the <00:30:14.955>left <00:30:15.130>side, <00:30:15.305>this <00:30:15.480>is <00:30:15.655>more

695
00:30:16.355 --> 00:30:17.155
<00:30:16.355>or <00:30:16.535>less <00:30:16.715>how <00:30:16.895>retrieve <00:30:17.075>log

696
00:30:17.155 --> 00:30:18.795
<00:30:17.155>manipulation <00:30:17.435>looks <00:30:17.715>on <00:30:17.995>the <00:30:18.274>right <00:30:18.555>side.

697
00:30:18.795 --> 00:30:21.795
<00:30:18.795>This <00:30:18.995>is <00:30:19.195>how <00:30:19.395>so-called <00:30:19.595>agent <00:30:19.795>AI <00:30:19.995>looks <00:30:20.195>like.

698
00:30:22.175 --> 00:30:25.595
<00:30:22.175>The <00:30:22.315>thing <00:30:22.455>is <00:30:22.595>the <00:30:22.735>large <00:30:22.875>language <00:30:23.014>model <00:30:23.155>is <00:30:23.294>making <00:30:23.435>the <00:30:23.575>decision

699
00:30:26.105 --> 00:30:28.395
<00:30:26.105>what <00:30:26.245>it <00:30:26.385>needs, <00:30:26.525>whether <00:30:26.665>it <00:30:26.805>needs <00:30:26.945>some <00:30:27.085>data, <00:30:27.225>whether <00:30:27.365>it <00:30:27.505>needs,

700
00:30:28.415 --> 00:30:30.755
<00:30:28.415>uh, <00:30:28.648>connect <00:30:28.881>with <00:30:29.115>another <00:30:29.348>application, <00:30:29.581>et <00:30:29.815>cetera.

701
00:30:31.135 --> 00:30:33.395
<00:30:31.135>The <00:30:31.368>important <00:30:31.601>thing <00:30:31.835>is <00:30:32.068>this <00:30:32.301>illustrates, <00:30:32.535>uh,

702
00:30:33.395 --> 00:30:35.195
<00:30:33.395>really <00:30:33.745>only <00:30:34.095>the, <00:30:34.445>uh, <00:30:34.795>autonomy.

703
00:30:35.335 --> 00:30:37.155
<00:30:35.335>So <00:30:35.568>it's <00:30:35.801>like <00:30:36.035>who's <00:30:36.268>making <00:30:36.501>the <00:30:36.735>decision?

704
00:30:38.065 --> 00:30:40.445
<00:30:38.065>The <00:30:38.265>interaction <00:30:38.465>is <00:30:38.665>still <00:30:38.865>as <00:30:39.065>with <00:30:39.265>tool <00:30:39.465>calling.

705
00:30:40.585 --> 00:30:44.405
<00:30:40.585>So <00:30:40.760>the <00:30:40.935>client <00:30:41.110>that <00:30:41.285>is <00:30:41.460>calling, <00:30:41.635>this <00:30:41.810>is, <00:30:41.985>uh,

706
00:30:44.635 --> 00:30:46.565
<00:30:44.635>executing <00:30:44.915>all <00:30:45.195>the <00:30:45.475>functions, <00:30:45.754>et <00:30:46.035>cetera.

707
00:30:46.565 --> 00:30:48.765
<00:30:46.565>It's <00:30:46.705>just <00:30:46.845>like <00:30:46.985>the <00:30:47.125>LLM <00:30:47.265>is <00:30:47.405>in <00:30:47.545>the <00:30:47.685>center <00:30:47.825>doing <00:30:47.965>the

708
00:30:48.765 --> 00:30:50.285
<00:30:48.765>interaction, <00:30:49.449>uh, <00:30:50.133>deciding.

709
00:30:51.145 --> 00:30:55.485
<00:30:51.145>And, <00:30:51.272>um, <00:30:51.399>for <00:30:51.526>all <00:30:51.654>those <00:30:51.781>interactions, <00:30:51.908>we <00:30:52.035>have <00:30:52.163>this <00:30:52.290>m <00:30:52.417>uh, <00:30:52.545>uh,

710
00:30:55.485 --> 00:30:59.165
<00:30:55.485>model <00:30:55.625>context <00:30:55.764>protocol, <00:30:55.905>which <00:30:56.044>is <00:30:56.185>at <00:30:56.324>the <00:30:56.465>end <00:30:56.604>like <00:30:56.745>a <00:30:56.885>protocol

711
00:30:59.165 --> 00:31:00.965
<00:30:59.165>that <00:30:59.514>standardize <00:30:59.865>all <00:31:00.215>these <00:31:00.565>interactions

712
00:31:01.065 --> 00:31:03.165
<00:31:01.065>and <00:31:01.415>especially <00:31:01.765>for <00:31:02.115>developers, <00:31:02.465>they

713
00:31:03.235 --> 00:31:05.605
<00:31:03.235>that <00:31:03.435>they <00:31:03.635>are <00:31:03.834>using <00:31:04.034>like <00:31:04.235>nice <00:31:04.435>AI <00:31:04.635>tools.

714
00:31:05.605 --> 00:31:08.965
<00:31:05.605>They <00:31:05.805>add <00:31:06.005>all <00:31:06.205>those <00:31:06.405>agents, <00:31:06.605>uh, <00:31:06.805>MCP <00:31:07.005>servers

715
00:31:09.305 --> 00:31:13.195
<00:31:09.305>and <00:31:09.505>then <00:31:09.705>they <00:31:09.905>can <00:31:10.105>like <00:31:10.305>ask <00:31:10.505>for <00:31:10.705>stuff

716
00:31:13.195 --> 00:31:15.955
<00:31:13.195>and <00:31:13.350>the, <00:31:13.506>the, <00:31:13.661>the, <00:31:13.817>the <00:31:13.972>this <00:31:14.128>client <00:31:14.283>applications <00:31:14.439>deciding <00:31:14.595>who

717
00:31:15.955 --> 00:31:18.155
<00:31:15.955>to <00:31:16.235>call <00:31:16.514>to <00:31:16.794>fulfill <00:31:17.074>your <00:31:17.355>request.

718
00:31:18.665 --> 00:31:22.165
<00:31:18.665>That's <00:31:18.820>all. <00:31:18.976>Yeah, <00:31:19.131>that's <00:31:19.287>all <00:31:19.442>part <00:31:19.598>also <00:31:19.753>of <00:31:19.909>spring <00:31:20.065>AI

719
00:31:22.425 --> 00:31:24.045
<00:31:22.425>and <00:31:22.774>uh, <00:31:23.125>large <00:31:23.475>language <00:31:23.825>model.

720
00:31:24.115 --> 00:31:27.965
<00:31:24.115>Because <00:31:24.255>of <00:31:24.395>the <00:31:24.535>fact <00:31:24.675>that <00:31:24.815>we <00:31:24.955>created <00:31:25.095>initially <00:31:25.235>the <00:31:25.375>Java <00:31:25.515>SDK

721
00:31:27.965 --> 00:31:29.725
<00:31:27.965>for <00:31:28.165>MCP, <00:31:28.365>we <00:31:28.564>are <00:31:28.764>a <00:31:28.965>little <00:31:29.165>bit <00:31:29.365>ahead.

722
00:31:29.725 --> 00:31:31.805
<00:31:29.725>So <00:31:29.880>we <00:31:30.036>also <00:31:30.191>have <00:31:30.347>server <00:31:30.502>support, <00:31:30.658>not <00:31:30.813>only <00:31:30.969>client <00:31:31.125>support,

723
00:31:32.105 --> 00:31:34.685
<00:31:32.105>and <00:31:32.260>you <00:31:32.416>can <00:31:32.571>also <00:31:32.727>see <00:31:32.882>this <00:31:33.038>in <00:31:33.193>like <00:31:33.349>the <00:31:33.505>code.

724
00:31:35.065 --> 00:31:37.285
<00:31:35.065>So <00:31:35.345>it's <00:31:35.625>really <00:31:35.905>simplified, <00:31:36.185>high <00:31:36.465>abstraction.

725
00:31:37.445 --> 00:31:40.325
<00:31:37.445>I <00:31:37.572>can <00:31:37.699>see <00:31:37.826>also <00:31:37.954>like <00:31:38.081>here <00:31:38.208>we <00:31:38.335>have <00:31:38.463>support <00:31:38.590>from <00:31:38.717>both <00:31:38.845>side,

726
00:31:40.385 --> 00:31:42.645
<00:31:40.385>but <00:31:40.618>only <00:31:40.851>there, <00:31:41.085>there's <00:31:41.318>the <00:31:41.551>limitations. <00:31:41.785>Okay,

727
00:31:42.645 --> 00:31:43.645
<00:31:42.645>We <00:31:42.870>are <00:31:43.095>outta <00:31:43.320>time <00:31:43.545>Timo.

728
00:31:43.755 --> 00:31:45.845
<00:31:43.755>Perfect. <00:31:43.955>So <00:31:44.155>that's <00:31:44.355>the <00:31:44.555>summary <00:31:44.755>at <00:31:44.955>the <00:31:45.155>end.

729
00:31:45.845 --> 00:31:47.885
<00:31:45.845>It's <00:31:46.020>like <00:31:46.195>enterprise <00:31:46.370>Java <00:31:46.545>is <00:31:46.720>ready <00:31:46.895>for <00:31:47.070>gen <00:31:47.245>ai.

730
00:31:47.885 --> 00:31:49.085
<00:31:47.885>I <00:31:48.101>think <00:31:48.317>that's <00:31:48.533>a <00:31:48.749>summary. <00:31:48.965>Let's,

731
00:31:49.095 --> 00:31:51.285
<00:31:49.095>Let's <00:31:49.235>give <00:31:49.375>a <00:31:49.515>hand <00:31:49.655>of <00:31:49.795>a <00:31:49.935>pause <00:31:50.075>for, <00:31:50.215>uh, <00:31:50.355>Timo <00:31:50.495>and.