WEBVTT

1
00:00:02.145 --> 00:00:05.045
<00:00:02.145>So <00:00:02.300>the <00:00:02.456>name <00:00:02.611>of <00:00:02.767>the <00:00:02.922>stock <00:00:03.078>is <00:00:03.233>Reducing <00:00:03.389>Calls <00:00:03.545>With

2
00:00:05.145 --> 00:00:06.445
<00:00:05.145>Vector <00:00:05.729>Search <00:00:06.315>Patterns.

3
00:00:06.485 --> 00:00:07.925
<00:00:06.485>I <00:00:06.670>have <00:00:06.855>already <00:00:07.040>gave <00:00:07.225>you <00:00:07.410>an <00:00:07.595>idea <00:00:07.781>of

4
00:00:07.925 --> 00:00:09.565
<00:00:07.925>what <00:00:08.158>we're <00:00:08.391>gonna <00:00:08.625>be <00:00:08.858>talking <00:00:09.091>about, <00:00:09.325>but

5
00:00:09.565 --> 00:00:11.605
<00:00:09.565>before <00:00:09.798>we <00:00:10.031>actually <00:00:10.264>get <00:00:10.498>started, <00:00:10.731>I'd <00:00:10.965>like

6
00:00:11.605 --> 00:00:15.845
<00:00:11.605>to <00:00:11.760>talk <00:00:11.916>about <00:00:12.071>the <00:00:12.227>Stack <00:00:12.382>Overflow <00:00:12.538>developer <00:00:12.693>survey <00:00:12.849>that <00:00:13.005>came,

7
00:00:16.105 --> 00:00:18.285
<00:00:16.105>uh, <00:00:16.305>out <00:00:16.505>like <00:00:16.705>two <00:00:16.905>or <00:00:17.105>three <00:00:17.305>weeks <00:00:17.505>ago.

8
00:00:18.365 --> 00:00:21.125
<00:00:18.365>I <00:00:18.520>just <00:00:18.676>wanted <00:00:18.831>to <00:00:18.987>mention <00:00:19.142>that <00:00:19.298>Redis <00:00:19.453>has <00:00:19.609>been <00:00:19.764>selected

9
00:00:21.305 --> 00:00:24.805
<00:00:21.305>as <00:00:21.460>the <00:00:21.616>agent <00:00:21.771>data <00:00:21.927>storage <00:00:22.082>tool, <00:00:22.238>the <00:00:22.393>most <00:00:22.549>popular <00:00:22.705>one

10
00:00:24.865 --> 00:00:26.085
<00:00:24.865>by <00:00:25.230>the <00:00:25.597>developer <00:00:25.963>community.

11
00:00:26.465 --> 00:00:28.205
<00:00:26.465>Uh, <00:00:26.815>and <00:00:27.165>this <00:00:27.515>is <00:00:27.865>interesting

12
00:00:28.205 --> 00:00:32.045
<00:00:28.205>because <00:00:28.404>if <00:00:28.604>you've <00:00:28.805>built, <00:00:29.005>uh, <00:00:29.205>real <00:00:29.404>time <00:00:29.604>applications

13
00:00:32.045 --> 00:00:33.805
<00:00:32.045>before <00:00:32.395>you've <00:00:32.745>probably <00:00:33.095>used <00:00:33.445>Redis.

14
00:00:33.805 --> 00:00:36.125
<00:00:33.805>So <00:00:33.980>Redis <00:00:34.155>has <00:00:34.330>become <00:00:34.505>kind <00:00:34.680>of <00:00:34.855>the <00:00:35.030>foundational <00:00:35.205>infrastructure

15
00:00:36.425 --> 00:00:37.845
<00:00:36.425>for <00:00:36.851>real <00:00:37.277>time <00:00:37.702>applications.

16
00:00:37.845 --> 00:00:40.845
<00:00:37.845>And <00:00:38.000>what <00:00:38.156>we're <00:00:38.311>trying <00:00:38.467>to <00:00:38.622>position <00:00:38.778>ourselves <00:00:38.933>today <00:00:39.089>is <00:00:39.245>also

17
00:00:40.865 --> 00:00:42.125
<00:00:40.865>as <00:00:41.243>the <00:00:41.621>foundational <00:00:41.999>infrastructure

18
00:00:42.225 --> 00:00:44.645
<00:00:42.225>for <00:00:42.691>applied <00:00:43.158>AI <00:00:43.625>applications.

19
00:00:44.865 --> 00:00:47.965
<00:00:44.865>Having <00:00:45.020>said <00:00:45.176>that, <00:00:45.331>I'd <00:00:45.487>like <00:00:45.642>to <00:00:45.798>talk <00:00:45.953>about <00:00:46.109>something <00:00:46.265>else.

20
00:00:48.395 --> 00:00:50.965
<00:00:48.395>That <00:00:48.550>is <00:00:48.706>just <00:00:48.861>because <00:00:49.017>you <00:00:49.172>can, <00:00:49.328>doesn't <00:00:49.483>mean <00:00:49.639>you <00:00:49.795>should.

21
00:00:51.025 --> 00:00:53.965
<00:00:51.025>All <00:00:51.165>right? <00:00:51.305>So <00:00:51.445>Deputy <00:00:51.585>five <00:00:51.725>was <00:00:51.864>out <00:00:52.004>a <00:00:52.144>couple <00:00:52.285>weeks <00:00:52.425>ago

22
00:00:54.105 --> 00:00:57.125
<00:00:54.105>as <00:00:54.232>well, <00:00:54.359>and <00:00:54.486>every <00:00:54.614>time <00:00:54.741>a <00:00:54.868>new <00:00:54.995>model <00:00:55.123>comes <00:00:55.250>out, <00:00:55.377>people <00:00:55.504>say

23
00:00:57.125 --> 00:00:58.565
<00:00:57.125>that <00:00:57.384>it's <00:00:57.643>the <00:00:57.902>death <00:00:58.161>of <00:00:58.421>rags.

24
00:00:58.565 --> 00:01:00.925
<00:00:58.565>So <00:00:58.692>you <00:00:58.819>can <00:00:58.946>see <00:00:59.074>in <00:00:59.201>this <00:00:59.328>example, <00:00:59.455>for <00:00:59.583>example, <00:00:59.710>this <00:00:59.837>guy <00:00:59.964>says,

25
00:01:01.025 --> 00:01:03.205
<00:01:01.025>gyp, <00:01:01.141>T <00:01:01.258>five <00:01:01.375>is <00:01:01.491>out, <00:01:01.608>but <00:01:01.725>it's <00:01:01.841>not <00:01:01.958>a <00:01:02.074>good <00:01:02.191>news <00:01:02.308>to <00:01:02.425>rag.

26
00:01:03.505 --> 00:01:05.525
<00:01:03.505>And <00:01:03.785>the <00:01:04.065>rationale <00:01:04.345>behind <00:01:04.625>it <00:01:04.905>is

27
00:01:05.525 --> 00:01:07.725
<00:01:05.525>because <00:01:05.758>as <00:01:05.991>you <00:01:06.225>can <00:01:06.458>see <00:01:06.691>here, <00:01:06.925>um,

28
00:01:08.465 --> 00:01:12.285
<00:01:08.465>gyp <00:01:08.640>T <00:01:08.815>five <00:01:08.990>has <00:01:09.165>a <00:01:09.340>context <00:01:09.515>window <00:01:09.690>of <00:01:09.865>256,000

29
00:01:13.145 --> 00:01:16.405
<00:01:13.145>tokens, <00:01:13.320>which <00:01:13.494>is <00:01:13.670>not <00:01:13.845>something <00:01:14.020>out <00:01:14.195>of <00:01:14.369>this <00:01:14.545>world

30
00:01:16.405 --> 00:01:18.805
<00:01:16.405>because <00:01:16.638>we <00:01:16.871>had <00:01:17.105>models <00:01:17.338>with <00:01:17.571>contact <00:01:17.805>windows

31
00:01:18.865 --> 00:01:20.245
<00:01:18.865>of <00:01:19.175>a <00:01:19.486>million <00:01:19.796>tokens <00:01:20.107>before.

32
00:01:20.465 --> 00:01:24.405
<00:01:20.465>But <00:01:20.592>the <00:01:20.719>difference <00:01:20.846>with <00:01:20.974>GPT <00:01:21.101>five <00:01:21.228>is <00:01:21.355>that <00:01:21.483>even <00:01:21.610>when <00:01:21.737>using <00:01:21.865>all

33
00:01:24.405 --> 00:01:27.125
<00:01:24.405>of <00:01:24.560>the <00:01:24.716>tokens, <00:01:24.871>you, <00:01:25.027>you <00:01:25.182>can <00:01:25.338>still <00:01:25.493>expect <00:01:25.649>the <00:01:25.805>model

34
00:01:27.385 --> 00:01:29.725
<00:01:27.385>to <00:01:27.665>produce <00:01:27.945>responses <00:01:28.225>that <00:01:28.505>are <00:01:28.785>accurate

35
00:01:29.785 --> 00:01:31.605
<00:01:29.785>and <00:01:30.018>that <00:01:30.251>uses <00:01:30.485>all <00:01:30.718>of <00:01:30.951>the <00:01:31.185>information

36
00:01:31.605 --> 00:01:32.965
<00:01:31.605>that <00:01:31.911>you <00:01:32.217>send <00:01:32.523>there, <00:01:32.829>right?

37
00:01:32.965 --> 00:01:36.005
<00:01:32.965>So <00:01:33.120>that's <00:01:33.276>basically <00:01:33.431>the <00:01:33.587>rationale <00:01:33.742>that <00:01:33.898>people <00:01:34.053>use <00:01:34.209>this <00:01:34.365>time

38
00:01:36.105 --> 00:01:38.925
<00:01:36.104>to <00:01:36.244>say <00:01:36.384>that <00:01:36.524>G <00:01:36.664>PT <00:01:36.804>five <00:01:36.945>is <00:01:37.085>the <00:01:37.225>death <00:01:37.365>of <00:01:37.505>rag.

39
00:01:39.385 --> 00:01:41.045
<00:01:39.384>But <00:01:39.664>the <00:01:39.945>problem <00:01:40.225>is <00:01:40.505>it's <00:01:40.785>not

40
00:01:41.045 --> 00:01:45.525
<00:01:41.045>because <00:01:41.220>you <00:01:41.395>can <00:01:41.570>send <00:01:41.745>256,000 <00:01:41.920>tokens <00:01:42.095>with <00:01:42.270>every <00:01:42.445>prompt

41
00:01:45.875 --> 00:01:48.165
<00:01:45.875>that <00:01:46.050>it <00:01:46.225>should <00:01:46.400>do <00:01:46.575>it <00:01:46.750>because <00:01:46.925>it <00:01:47.100>may <00:01:47.275>become

42
00:01:48.315 --> 00:01:49.565
<00:01:48.315>expensive <00:01:48.690>very <00:01:49.065>easily, <00:01:49.440>right?

43
00:01:49.565 --> 00:01:51.805
<00:01:49.565>So <00:01:49.845>G <00:01:50.125>PT <00:01:50.405>five <00:01:50.685>takes <00:01:50.965>$1

44
00:01:51.825 --> 00:01:56.285
<00:01:51.825>and <00:01:51.980>25 <00:01:52.136>cents <00:01:52.291>for <00:01:52.447>every, <00:01:52.602>uh, <00:01:52.758>million <00:01:52.913>tokens <00:01:53.069>that <00:01:53.225>you,

45
00:01:57.485 --> 00:01:59.625
<00:01:57.485>uh, <00:01:57.765>that, <00:01:58.045>that <00:01:58.325>you <00:01:58.605>put <00:01:58.885>basically.

46
00:02:00.205 --> 00:02:03.865
<00:02:00.205>So <00:02:00.380>it <00:02:00.554>would <00:02:00.730>mean <00:02:00.905>that <00:02:01.080>with <00:02:01.255>every <00:02:01.429>four <00:02:01.605>requests,

47
00:02:04.365 --> 00:02:08.225
<00:02:04.365>you <00:02:04.520>would <00:02:04.676>pay, <00:02:04.831>uh, <00:02:04.987>$1 <00:02:05.142>25 <00:02:05.298>cents <00:02:05.453>to <00:02:05.609>open <00:02:05.765>ai,

48
00:02:08.555 --> 00:02:11.745
<00:02:08.555>which <00:02:08.710>is <00:02:08.866>not <00:02:09.021>ideal, <00:02:09.177>and <00:02:09.332>it's <00:02:09.488>not <00:02:09.643>scalable <00:02:09.799>as <00:02:09.955>well.

49
00:02:11.805 --> 00:02:14.385
<00:02:11.805>And <00:02:11.960>this <00:02:12.116>is <00:02:12.271>one <00:02:12.427>of <00:02:12.582>the <00:02:12.738>reasons <00:02:12.893>why <00:02:13.049>I <00:02:13.205>wanted

50
00:02:14.405 --> 00:02:15.705
<00:02:14.405>to <00:02:14.639>make <00:02:14.873>this <00:02:15.107>talk <00:02:15.341>as <00:02:15.575>well,

51
00:02:15.935 --> 00:02:19.265
<00:02:15.935>because <00:02:16.135>I <00:02:16.335>wanna <00:02:16.535>talk <00:02:16.735>about <00:02:16.935>vector <00:02:17.135>search <00:02:17.335>patterns

52
00:02:19.485 --> 00:02:22.065
<00:02:19.485>to <00:02:19.951>make <00:02:20.418>agentic <00:02:20.885>applications

53
00:02:22.065 --> 00:02:24.825
<00:02:22.065>and <00:02:22.220>also <00:02:22.376>chat <00:02:22.531>bots <00:02:22.687>more <00:02:22.842>efficiently, <00:02:22.998>not <00:02:23.153>only <00:02:23.309>in <00:02:23.465>terms

54
00:02:25.125 --> 00:02:27.985
<00:02:25.125>of <00:02:25.325>pricing <00:02:25.525>of <00:02:25.725>the <00:02:25.925>money <00:02:26.125>that <00:02:26.325>we're <00:02:26.525>spending,

55
00:02:27.985 --> 00:02:30.825
<00:02:27.985>but <00:02:28.112>also <00:02:28.239>in <00:02:28.366>terms <00:02:28.494>of <00:02:28.621>the <00:02:28.748>time <00:02:28.875>that <00:02:29.003>it <00:02:29.130>takes <00:02:29.257>to <00:02:29.385>process

56
00:02:31.785 --> 00:02:33.865
<00:02:31.785>responses <00:02:31.984>or <00:02:32.185>do <00:02:32.385>whatever <00:02:32.585>it <00:02:32.785>has <00:02:32.984>to <00:02:33.185>do.

57
00:02:34.195 --> 00:02:36.385
<00:02:34.195>Today <00:02:34.394>you're <00:02:34.595>gonna <00:02:34.795>talk <00:02:34.995>about <00:02:35.195>three <00:02:35.394>different <00:02:35.595>patterns.

58
00:02:36.385 --> 00:02:38.265
<00:02:36.385>The <00:02:36.665>first <00:02:36.945>one <00:02:37.225>is <00:02:37.505>semantic <00:02:37.785>classification,

59
00:02:38.285 --> 00:02:39.865
<00:02:38.285>the <00:02:38.565>second <00:02:38.845>one <00:02:39.125>is <00:02:39.405>semantic <00:02:39.685>routing.

60
00:02:40.045 --> 00:02:42.385
<00:02:40.045>And <00:02:40.245>finally <00:02:40.445>the <00:02:40.645>last <00:02:40.845>one <00:02:41.045>is <00:02:41.245>semantic <00:02:41.445>caching.

61
00:02:42.405 --> 00:02:44.545
<00:02:42.405>And <00:02:42.605>you're <00:02:42.805>gonna <00:02:43.005>go <00:02:43.205>through <00:02:43.405>three <00:02:43.605>different <00:02:43.805>challenges

62
00:02:44.765 --> 00:02:46.025
<00:02:44.765>to <00:02:45.899>exemplify

63
00:02:46.605 --> 00:02:49.945
<00:02:46.605>how <00:02:46.780>we <00:02:46.954>can <00:02:47.130>use <00:02:47.304>this <00:02:47.480>patterns <00:02:47.655>in <00:02:47.829>our <00:02:48.005>applications.

64
00:02:51.005 --> 00:02:53.145
<00:02:51.005>All <00:02:51.204>right, <00:02:51.405>so <00:02:51.605>before <00:02:51.805>we <00:02:52.005>get <00:02:52.204>started <00:02:52.405>actually

65
00:02:53.145 --> 00:02:54.865
<00:02:53.145>with <00:02:53.425>the <00:02:53.705>patterns, <00:02:53.985>I'd <00:02:54.265>just <00:02:54.545>like

66
00:02:54.865 --> 00:02:58.345
<00:02:54.865>to <00:02:54.992>do <00:02:55.119>a <00:02:55.246>quick <00:02:55.374>recap <00:02:55.501>on <00:02:55.628>vector <00:02:55.755>on <00:02:55.883>vectors <00:02:56.010>and <00:02:56.137>vector <00:02:56.265>search.

67
00:02:58.685 --> 00:03:01.685
<00:02:58.685>As <00:02:58.840>it <00:02:58.996>was <00:02:59.151>mentioned, <00:02:59.307>I <00:02:59.462>think <00:02:59.618>the <00:02:59.773>audience <00:02:59.929>is <00:03:00.085>kind

68
00:03:01.685 --> 00:03:03.085
<00:03:01.685>of <00:03:02.105>familiar <00:03:02.525>with <00:03:02.945>vectors

69
00:03:03.105 --> 00:03:05.085
<00:03:03.105>and <00:03:03.304>vector <00:03:03.505>search, <00:03:03.704>so <00:03:03.905>I'm <00:03:04.105>just <00:03:04.304>gonna <00:03:04.505>do

70
00:03:05.085 --> 00:03:06.125
<00:03:05.085>something <00:03:05.553>very <00:03:06.021>quick.

71
00:03:06.665 --> 00:03:10.045
<00:03:06.665>So <00:03:06.864>basically, <00:03:07.065>when <00:03:07.265>you're <00:03:07.465>talking <00:03:07.665>about <00:03:07.864>text, <00:03:08.065>uh,

72
00:03:10.755 --> 00:03:12.885
<00:03:10.755>text <00:03:11.105>cast <00:03:11.454>encoded <00:03:11.805>meaning, <00:03:12.155>right?

73
00:03:12.885 --> 00:03:17.495
<00:03:12.885>So <00:03:13.040>it <00:03:13.196>has <00:03:13.351>discre <00:03:13.507>meaning <00:03:13.662>that <00:03:13.818>it's <00:03:13.973>not, <00:03:14.129>uh, <00:03:14.285>encoded

74
00:03:17.515 --> 00:03:21.295
<00:03:17.515>by <00:03:17.670>the <00:03:17.826>characters <00:03:17.981>or <00:03:18.137>the <00:03:18.292>ask <00:03:18.448>two <00:03:18.603>numbers <00:03:18.759>themselves, <00:03:18.915>right?

75
00:03:21.315 --> 00:03:24.095
<00:03:21.315>So <00:03:21.490>one <00:03:21.665>of <00:03:21.840>the <00:03:22.015>challenges <00:03:22.190>computer <00:03:22.365>scientists <00:03:22.540>have <00:03:22.715>had

76
00:03:24.155 --> 00:03:27.455
<00:03:24.155>for <00:03:24.282>quite <00:03:24.409>a <00:03:24.536>long <00:03:24.664>time <00:03:24.791>is <00:03:24.918>actually <00:03:25.045>how <00:03:25.173>to <00:03:25.300>encode <00:03:25.427>the <00:03:25.555>meaning

77
00:03:27.455 --> 00:03:30.095
<00:03:27.454>behind <00:03:27.630>text, <00:03:27.804>because <00:03:27.980>if <00:03:28.154>you <00:03:28.329>get <00:03:28.505>something <00:03:28.679>like <00:03:28.855>bad,

78
00:03:30.165 --> 00:03:33.695
<00:03:30.165>that <00:03:30.304>means <00:03:30.445>that <00:03:30.584>something <00:03:30.725>is, <00:03:30.864>is <00:03:31.005>bad, <00:03:31.144>is, <00:03:31.285>is, <00:03:31.424>is, <00:03:31.565>is,

79
00:03:34.075 --> 00:03:35.295
<00:03:34.075>uh, <00:03:34.349>one <00:03:34.624>definition <00:03:34.898>for <00:03:35.173>it.

80
00:03:35.295 --> 00:03:37.375
<00:03:35.295>But <00:03:35.470>if <00:03:35.645>you <00:03:35.820>think <00:03:35.995>about, <00:03:36.170>for <00:03:36.345>example, <00:03:36.520>not <00:03:36.695>bad,

81
00:03:37.715 --> 00:03:39.095
<00:03:37.715>it <00:03:37.963>actually <00:03:38.211>means <00:03:38.460>the <00:03:38.708>opposite, <00:03:38.957>right?

82
00:03:39.095 --> 00:03:41.295
<00:03:39.095>So <00:03:39.250>how <00:03:39.406>can <00:03:39.561>you <00:03:39.717>encode <00:03:39.872>all <00:03:40.028>the <00:03:40.183>meaning <00:03:40.339>of <00:03:40.495>decks?

83
00:03:41.395 --> 00:03:45.415
<00:03:41.395>And <00:03:41.535>couple <00:03:41.675>of <00:03:41.815>years <00:03:41.955>ago, <00:03:42.095>2013, <00:03:42.235>a <00:03:42.375>couple <00:03:42.515>of <00:03:42.655>researchers, <00:03:42.795>uh,

84
00:03:45.475 --> 00:03:48.495
<00:03:45.475>at <00:03:45.602>Google <00:03:45.729>Deep <00:03:45.856>Mind, <00:03:45.984>if <00:03:46.111>I'm <00:03:46.238>not <00:03:46.365>mistaken, <00:03:46.493>they <00:03:46.620>came <00:03:46.747>up <00:03:46.875>with,

85
00:03:48.635 --> 00:03:51.095
<00:03:48.635>uh, <00:03:48.774>word <00:03:48.915>to <00:03:49.054>vac, <00:03:49.195>which <00:03:49.334>was <00:03:49.475>one <00:03:49.614>of <00:03:49.755>the <00:03:49.894>first, <00:03:50.035>uh,

86
00:03:51.405 --> 00:03:56.015
<00:03:51.405>embedding <00:03:51.580>models <00:03:51.755>for <00:03:51.930>actually <00:03:52.105>encoding <00:03:52.280>the <00:03:52.455>meaning <00:03:52.630>of <00:03:52.805>words

87
00:03:56.435 --> 00:03:59.855
<00:03:56.435>as <00:03:56.635>numerical <00:03:56.835>representations <00:03:57.035>so <00:03:57.235>that <00:03:57.435>computers <00:03:57.635>could <00:03:57.835>work

88
00:03:59.855 --> 00:04:03.095
<00:03:59.855>with <00:04:00.135>these <00:04:00.415>numerical <00:04:00.695>representations <00:04:00.975>faster, <00:04:01.255>faster,

89
00:04:03.405 --> 00:04:05.255
<00:04:03.405>most <00:04:03.871>efficiently <00:04:04.338>as <00:04:04.805>well.

90
00:04:05.795 --> 00:04:08.935
<00:04:05.795>So <00:04:05.950>basically, <00:04:06.106>a <00:04:06.261>vector <00:04:06.417>is <00:04:06.572>a <00:04:06.728>representation <00:04:06.883>in <00:04:07.039>this <00:04:07.195>case

91
00:04:09.395 --> 00:04:10.815
<00:04:09.395>of <00:04:09.714>a <00:04:10.034>word <00:04:10.353>as <00:04:10.673>numbers

92
00:04:10.845 --> 00:04:12.615
<00:04:10.845>that <00:04:11.078>encodes <00:04:11.311>the <00:04:11.545>meaning <00:04:11.778>of <00:04:12.011>these <00:04:12.245>words.

93
00:04:13.195 --> 00:04:16.215
<00:04:13.195>And <00:04:13.350>by <00:04:13.506>having <00:04:13.661>those, <00:04:13.817>we <00:04:13.972>can <00:04:14.128>use <00:04:14.283>vector <00:04:14.439>search <00:04:14.595>then

94
00:04:16.235 --> 00:04:19.495
<00:04:16.235>to <00:04:16.468>perform, <00:04:16.701>uh, <00:04:16.935>mathematical <00:04:17.168>operations <00:04:17.401>on <00:04:17.635>them

95
00:04:19.835 --> 00:04:23.495
<00:04:19.834>and <00:04:19.990>understand <00:04:20.146>how <00:04:20.301>similar <00:04:20.457>two <00:04:20.612>pieces <00:04:20.768>of <00:04:20.923>text <00:04:21.079>actually <00:04:21.234>are.

96
00:04:23.595 --> 00:04:25.255
<00:04:23.595>So <00:04:23.770>you <00:04:23.945>can <00:04:24.120>look <00:04:24.295>at <00:04:24.470>two <00:04:24.645>words, <00:04:24.820>for <00:04:24.995>example,

97
00:04:25.515 --> 00:04:26.655
<00:04:25.515>and <00:04:25.720>see <00:04:25.925>how <00:04:26.130>similar <00:04:26.335>they <00:04:26.541>are.

98
00:04:26.655 --> 00:04:30.495
<00:04:26.655>We <00:04:26.771>can <00:04:26.888>look <00:04:27.005>at <00:04:27.121>two <00:04:27.238>snippets <00:04:27.354>of <00:04:27.471>text <00:04:27.588>or <00:04:27.705>even, <00:04:27.821>uh, <00:04:27.938>larger <00:04:28.054>text

99
00:04:30.515 --> 00:04:32.815
<00:04:30.515>and <00:04:30.748>try <00:04:30.981>to <00:04:31.215>understand <00:04:31.448>if <00:04:31.681>they're <00:04:31.914>similar

100
00:04:32.875 --> 00:04:34.295
<00:04:32.875>to <00:04:33.130>each <00:04:33.386>other, <00:04:33.641>if <00:04:33.897>they're <00:04:34.153>synonyms.

101
00:04:34.435 --> 00:04:37.735
<00:04:34.435>So <00:04:34.562>if <00:04:34.689>you <00:04:34.816>look <00:04:34.944>at <00:04:35.071>the <00:04:35.198>word <00:04:35.325>rep <00:04:35.453>at <00:04:35.580>the <00:04:35.707>vector <00:04:35.835>representation

102
00:04:38.075 --> 00:04:42.615
<00:04:38.075>of <00:04:38.191>the <00:04:38.308>text, <00:04:38.425>uh, <00:04:38.541>did <00:04:38.658>the <00:04:38.775>Apol <00:04:38.891>11 <00:04:39.008>crew <00:04:39.125>go <00:04:39.241>to <00:04:39.358>the <00:04:39.474>toilet?

103
00:04:42.795 --> 00:04:45.295
<00:04:42.795>And <00:04:43.075>the <00:04:43.355>representation <00:04:43.635>of <00:04:43.915>the <00:04:44.195>text

104
00:04:45.295 --> 00:04:48.495
<00:04:45.295>that <00:04:45.470>is <00:04:45.645>did <00:04:45.820>the <00:04:45.995>astronauts <00:04:46.170>of <00:04:46.345>Apol <00:04:46.520>11 <00:04:46.695>went

105
00:04:48.495 --> 00:04:50.335
<00:04:48.495>to <00:04:48.845>the, <00:04:49.195>to <00:04:49.545>the <00:04:49.895>bathroom.

106
00:04:50.925 --> 00:04:51.975
<00:04:50.925>When <00:04:51.114>you <00:04:51.303>look <00:04:51.492>at <00:04:51.681>those <00:04:51.870>numbers,

107
00:04:52.085 --> 00:04:53.575
<00:04:52.085>they <00:04:52.420>should <00:04:52.755>be <00:04:53.090>somehow <00:04:53.426>similar.

108
00:04:53.795 --> 00:04:55.695
<00:04:53.795>And <00:04:54.028>this <00:04:54.261>could <00:04:54.495>be <00:04:54.728>seen <00:04:54.961>mathematically <00:04:55.195>so

109
00:04:55.695 --> 00:04:56.895
<00:04:55.695>that <00:04:55.965>a <00:04:56.235>computer <00:04:56.505>could <00:04:56.775>understand

110
00:04:56.895 --> 00:05:00.135
<00:04:56.895>that <00:04:57.094>these <00:04:57.294>two <00:04:57.495>sentences <00:04:57.695>are <00:04:57.895>actually <00:04:58.094>semantically <00:04:58.294>related.

111
00:05:00.475 --> 00:05:02.575
<00:05:00.475>So <00:05:00.675>that's <00:05:00.875>vectors <00:05:01.075>and <00:05:01.275>vector <00:05:01.475>search <00:05:01.675>in <00:05:01.875>a,

112
00:05:02.795 --> 00:05:05.935
<00:05:02.795>in <00:05:02.935>a <00:05:03.075>very <00:05:03.215>nutshell, <00:05:03.355>I <00:05:03.495>had <00:05:03.635>prepared <00:05:03.775>some <00:05:03.915>slides <00:05:04.055>for <00:05:04.195>that,

113
00:05:06.715 --> 00:05:09.575
<00:05:06.715>but <00:05:07.065>since, <00:05:07.414>uh, <00:05:07.765>I <00:05:08.114>understand

114
00:05:09.575 --> 00:05:10.855
<00:05:09.575>that <00:05:09.739>the <00:05:09.904>audience <00:05:10.068>is <00:05:10.233>already <00:05:10.397>familiar <00:05:10.562>with <00:05:10.727>that,

115
00:05:10.935 --> 00:05:12.535
<00:05:10.935>I <00:05:11.090>just <00:05:11.246>wanted <00:05:11.401>to <00:05:11.557>get <00:05:11.712>everybody <00:05:11.868>on <00:05:12.023>the <00:05:12.179>same <00:05:12.335>page.

116
00:05:12.795 --> 00:05:13.855
<00:05:12.795>But <00:05:12.985>I <00:05:13.176>also <00:05:13.367>have <00:05:13.558>those <00:05:13.749>videos.

117
00:05:14.235 --> 00:05:16.175
<00:05:14.235>So, <00:05:14.468>uh, <00:05:14.701>on <00:05:14.935>YouTube, <00:05:15.168>if <00:05:15.401>you <00:05:15.635>want

118
00:05:16.175 --> 00:05:19.015
<00:05:16.175>to <00:05:16.291>dive <00:05:16.408>a <00:05:16.525>little <00:05:16.641>bit <00:05:16.758>deeper <00:05:16.875>later <00:05:16.991>on, <00:05:17.108>I <00:05:17.225>invite <00:05:17.341>to <00:05:17.458>watch <00:05:17.575>you,

119
00:05:19.355 --> 00:05:20.575
<00:05:19.355>uh, <00:05:19.629>watch <00:05:19.904>them <00:05:20.178>as <00:05:20.453>well.

120
00:05:20.575 --> 00:05:21.695
<00:05:20.575>They're <00:05:20.827>very <00:05:21.079>short, <00:05:21.331>like <00:05:21.582>three

121
00:05:21.715 --> 00:05:23.095
<00:05:21.715>to <00:05:21.963>six <00:05:22.211>minutes <00:05:22.460>depending <00:05:22.708>on <00:05:22.957>them.

122
00:05:24.035 --> 00:05:27.055
<00:05:24.035>All <00:05:24.190>right, <00:05:24.346>so <00:05:24.501>let's <00:05:24.657>talk <00:05:24.812>about <00:05:24.968>the <00:05:25.123>first <00:05:25.279>challenge <00:05:25.435>now,

123
00:05:27.175 --> 00:05:29.575
<00:05:27.175>which <00:05:27.408>is <00:05:27.641>filtering <00:05:27.875>posts <00:05:28.108>or <00:05:28.341>filtering <00:05:28.575>texts

124
00:05:29.575 --> 00:05:30.655
<00:05:29.575>or <00:05:30.061>classifying <00:05:30.546>texts.

125
00:05:30.675 --> 00:05:33.335
<00:05:30.675>The <00:05:30.815>example <00:05:30.955>that <00:05:31.095>I'm <00:05:31.235>giving <00:05:31.375>here <00:05:31.515>is <00:05:31.655>based <00:05:31.795>on <00:05:31.935>blue <00:05:32.075>sky.

126
00:05:33.435 --> 00:05:35.935
<00:05:33.435>So <00:05:33.575>we <00:05:33.715>have, <00:05:33.855>like, <00:05:33.995>if <00:05:34.135>guys <00:05:34.275>are <00:05:34.415>familiar <00:05:34.555>with <00:05:34.695>Blue <00:05:34.835>Sky,

127
00:05:36.285 --> 00:05:38.655
<00:05:36.284>it's <00:05:36.460>a <00:05:36.635>social <00:05:36.809>network <00:05:36.984>that <00:05:37.159>is <00:05:37.335>similar <00:05:37.510>to <00:05:37.684>Twitter.

128
00:05:38.715 --> 00:05:42.255
<00:05:38.715>So <00:05:38.870>you <00:05:39.026>can <00:05:39.181>post, <00:05:39.337>uh, <00:05:39.492>posts <00:05:39.648>there <00:05:39.803>that <00:05:39.959>are <00:05:40.115>up

129
00:05:42.255 --> 00:05:44.175
<00:05:42.255>to <00:05:42.605>300 <00:05:42.955>characters, <00:05:43.305>small <00:05:43.655>ones.

130
00:05:44.195 --> 00:05:47.575
<00:05:44.195>And <00:05:44.335>the <00:05:44.474>challenge <00:05:44.615>that <00:05:44.755>I <00:05:44.895>bringing <00:05:45.034>here <00:05:45.175>is <00:05:45.315>giving <00:05:45.455>a <00:05:45.594>certain

131
00:05:47.725 --> 00:05:50.575
<00:05:47.725>post, <00:05:47.900>how <00:05:48.075>can <00:05:48.250>I <00:05:48.425>classify <00:05:48.600>that <00:05:48.775>it <00:05:48.950>actually <00:05:49.125>belongs

132
00:05:50.575 --> 00:05:51.855
<00:05:50.575>to <00:05:50.863>some <00:05:51.151>kind <00:05:51.439>of <00:05:51.727>label?

133
00:05:51.915 --> 00:05:53.495
<00:05:51.915>So <00:05:52.148>for <00:05:52.381>example, <00:05:52.615>I <00:05:52.848>get <00:05:53.081>some <00:05:53.315>posts

134
00:05:53.495 --> 00:05:54.895
<00:05:53.495>where <00:05:53.810>they're <00:05:54.125>talking <00:05:54.440>about <00:05:54.755>Redis

135
00:05:54.895 --> 00:05:57.245
<00:05:54.895>and <00:05:55.034>I <00:05:55.174>want <00:05:55.315>to <00:05:55.455>make <00:05:55.594>sure <00:05:55.734>it's <00:05:55.875>actually <00:05:56.015>about <00:05:56.155>Redis, <00:05:56.294>right?

136
00:05:57.245 --> 00:05:59.885
<00:05:57.245>How <00:05:57.372>can <00:05:57.499>I <00:05:57.626>do <00:05:57.754>that? <00:05:57.881>There <00:05:58.008>are <00:05:58.135>different <00:05:58.263>ways <00:05:58.390>of <00:05:58.517>doing <00:05:58.645>that.

137
00:06:00.005 --> 00:06:03.765
<00:06:00.005>I <00:06:00.112>know <00:06:00.220>at <00:06:00.328>least <00:06:00.435>three <00:06:00.543>ways. <00:06:00.651>One <00:06:00.758>of <00:06:00.866>them <00:06:00.974>is <00:06:01.081>by <00:06:01.189>using <00:06:01.297>an <00:06:01.405>LLM.

138
00:06:03.785 --> 00:06:05.325
<00:06:03.785>So <00:06:03.983>you <00:06:04.181>have <00:06:04.379>here <00:06:04.577>a <00:06:04.775>social <00:06:04.973>media <00:06:05.171>post.

139
00:06:05.345 --> 00:06:08.525
<00:06:05.345>For <00:06:05.520>example, <00:06:05.695>every <00:06:05.870>repeated <00:06:06.045>LLM <00:06:06.220>calls <00:06:06.395>money <00:06:06.570>on <00:06:06.745>fire,

140
00:06:08.695 --> 00:06:09.965
<00:06:08.695>Redis <00:06:09.075>eight <00:06:09.457>semantic <00:06:09.837>caching

141
00:06:09.965 --> 00:06:11.205
<00:06:09.965>understands <00:06:10.244>meaning <00:06:10.522>not <00:06:10.801>just <00:06:11.080>keys.

142
00:06:11.905 --> 00:06:15.125
<00:06:11.905>And <00:06:12.044>what <00:06:12.184>you <00:06:12.325>can <00:06:12.465>do <00:06:12.604>is <00:06:12.744>get <00:06:12.885>the <00:06:13.025>social <00:06:13.164>media <00:06:13.304>posts

143
00:06:15.125 --> 00:06:18.285
<00:06:15.125>and <00:06:15.252>together <00:06:15.379>with <00:06:15.506>a <00:06:15.634>prompt, <00:06:15.761>send <00:06:15.888>that <00:06:16.015>to <00:06:16.143>the <00:06:16.270>LLM <00:06:16.397>asking <00:06:16.525>you

144
00:06:18.285 --> 00:06:21.325
<00:06:18.285>to <00:06:18.460>return <00:06:18.635>a <00:06:18.810>response <00:06:18.985>in <00:06:19.160>adjacent <00:06:19.335>format, <00:06:19.510>for <00:06:19.685>example,

145
00:06:21.395 --> 00:06:24.085
<00:06:21.395>with <00:06:21.550>a <00:06:21.706>proper <00:06:21.861>inside <00:06:22.017>of <00:06:22.172>it <00:06:22.328>saying <00:06:22.483>that <00:06:22.639>it's <00:06:22.794>related

146
00:06:24.105 --> 00:06:25.525
<00:06:24.105>to <00:06:24.318>Redis <00:06:24.531>with <00:06:24.744>a <00:06:24.957>true <00:06:25.169>or <00:06:25.383>false.

147
00:06:26.065 --> 00:06:27.885
<00:06:26.065>And <00:06:26.415>then <00:06:26.765>using <00:06:27.115>that <00:06:27.465>response

148
00:06:27.905 --> 00:06:29.925
<00:06:27.905>for <00:06:28.138>whatever <00:06:28.371>your <00:06:28.604>application <00:06:28.838>needs <00:06:29.071>to <00:06:29.304>do.

149
00:06:30.665 --> 00:06:33.805
<00:06:30.665>The <00:06:30.820>problem <00:06:30.976>with <00:06:31.131>this <00:06:31.287>approach <00:06:31.442>is <00:06:31.598>that, <00:06:31.753>as <00:06:31.909>I <00:06:32.065>mentioned

150
00:06:33.805 --> 00:06:37.445
<00:06:33.805>before, <00:06:33.960>when <00:06:34.116>leveraging <00:06:34.271>LMS <00:06:34.427>for <00:06:34.582>that, <00:06:34.738>you're <00:06:34.893>gonna <00:06:35.049>be <00:06:35.205>paying

151
00:06:37.445 --> 00:06:39.205
<00:06:37.445>for <00:06:37.724>the <00:06:38.005>tokens <00:06:38.284>that <00:06:38.565>you're <00:06:38.844>inputting

152
00:06:39.205 --> 00:06:40.285
<00:06:39.205>and <00:06:39.448>already <00:06:39.691>inputting <00:06:39.933>for <00:06:40.176>that.

153
00:06:40.585 --> 00:06:42.685
<00:06:40.585>But <00:06:40.784>also <00:06:40.984>it <00:06:41.185>might <00:06:41.385>take <00:06:41.585>a <00:06:41.784>little <00:06:41.984>while

154
00:06:42.785 --> 00:06:45.205
<00:06:42.784>to <00:06:43.064>compute <00:06:43.344>the <00:06:43.624>response <00:06:43.905>for <00:06:44.184>you.

155
00:06:45.225 --> 00:06:49.085
<00:06:45.225>So <00:06:45.365>let's <00:06:45.505>say <00:06:45.645>that <00:06:45.785>you're <00:06:45.925>classifying <00:06:46.065>a <00:06:46.205>million, <00:06:46.345>uh, <00:06:46.485>so, <00:06:46.625>uh,

156
00:06:49.095 --> 00:06:51.325
<00:06:49.095>posts, <00:06:49.295>for <00:06:49.495>example, <00:06:49.695>and <00:06:49.895>each <00:06:50.095>one <00:06:50.295>is <00:06:50.495>taking

157
00:06:51.465 --> 00:06:52.485
<00:06:51.465>at <00:06:51.771>least <00:06:52.077>one <00:06:52.383>second.

158
00:06:52.745 --> 00:06:55.925
<00:06:52.745>You're <00:06:52.872>gonna <00:06:52.999>take <00:06:53.126>at <00:06:53.254>least <00:06:53.381>a <00:06:53.508>million <00:06:53.635>seconds <00:06:53.763>if <00:06:53.890>you <00:06:54.017>don't <00:06:54.145>do

159
00:06:55.925 --> 00:06:59.165
<00:06:55.925>that <00:06:56.125>concurrently <00:06:56.325>to <00:06:56.525>compute <00:06:56.725>all <00:06:56.925>of <00:06:57.125>them, <00:06:57.325>right?

160
00:06:59.265 --> 00:07:01.085
<00:06:59.265>So <00:06:59.498>this <00:06:59.731>is <00:06:59.965>one <00:07:00.198>of <00:07:00.431>the <00:07:00.664>approaches,

161
00:07:01.085 --> 00:07:03.445
<00:07:01.085>and <00:07:01.260>I <00:07:01.435>wanna <00:07:01.609>talk <00:07:01.784>about <00:07:01.960>another <00:07:02.135>one <00:07:02.310>that <00:07:02.484>is

162
00:07:03.465 --> 00:07:04.765
<00:07:03.465>by <00:07:03.757>using <00:07:04.049>a <00:07:04.342>Vector <00:07:04.635>database.

163
00:07:04.765 --> 00:07:06.285
<00:07:04.765>But <00:07:04.960>before <00:07:05.155>I <00:07:05.351>actually <00:07:05.546>talk <00:07:05.742>about <00:07:05.937>that <00:07:06.133>one,

164
00:07:06.415 --> 00:07:07.645
<00:07:06.415>there <00:07:06.599>is <00:07:06.784>one <00:07:06.968>that <00:07:07.153>is <00:07:07.337>hidden <00:07:07.522>here.

165
00:07:07.725 --> 00:07:09.725
<00:07:07.725>I <00:07:07.880>didn't <00:07:08.036>put <00:07:08.191>in <00:07:08.347>the <00:07:08.502>slides, <00:07:08.658>but <00:07:08.813>it's <00:07:08.969>also <00:07:09.125>interesting

166
00:07:09.725 --> 00:07:12.445
<00:07:09.725>to <00:07:09.900>talk <00:07:10.075>about <00:07:10.250>that <00:07:10.425>is <00:07:10.600>by <00:07:10.775>using <00:07:10.950>zero, <00:07:11.125>uh,

167
00:07:12.675 --> 00:07:14.085
<00:07:12.675>shot <00:07:13.309>classification <00:07:13.943>models.

168
00:07:14.265 --> 00:07:17.485
<00:07:14.265>So <00:07:14.440>those <00:07:14.615>are <00:07:14.789>AI <00:07:14.965>models <00:07:15.140>that <00:07:15.315>are <00:07:15.490>not <00:07:15.664>LLMs,

169
00:07:17.485 --> 00:07:19.925
<00:07:17.485>they're <00:07:17.685>a <00:07:17.885>little <00:07:18.085>bit, <00:07:18.285>uh, <00:07:18.485>they're <00:07:18.685>smaller <00:07:18.885>actually.

170
00:07:19.925 --> 00:07:22.365
<00:07:19.925>They <00:07:20.125>can <00:07:20.325>run <00:07:20.525>locally, <00:07:20.725>they're <00:07:20.925>more <00:07:21.125>efficiently <00:07:21.325>and,

171
00:07:22.505 --> 00:07:23.805
<00:07:22.505>and <00:07:22.797>they're <00:07:23.090>faster <00:07:23.382>as <00:07:23.675>well.

172
00:07:24.345 --> 00:07:27.725
<00:07:24.345>Uh, <00:07:24.485>so <00:07:24.625>for <00:07:24.765>example, <00:07:24.905>I <00:07:25.045>have <00:07:25.185>a <00:07:25.325>a, <00:07:25.465>a <00:07:25.605>GIF <00:07:25.745>here.

173
00:07:29.265 --> 00:07:32.885
<00:07:29.265>So <00:07:29.440>in <00:07:29.615>this <00:07:29.789>case, <00:07:29.965>reclassifying <00:07:30.140>the <00:07:30.315>tax <00:07:30.490>Java's <00:07:30.664>great

174
00:07:32.885 --> 00:07:37.405
<00:07:32.885>programming <00:07:33.040>language <00:07:33.196>with <00:07:33.351>a <00:07:33.507>few <00:07:33.662>possible, <00:07:33.818>uh, <00:07:33.973>labels <00:07:34.129>as <00:07:34.284>such

175
00:07:37.405 --> 00:07:39.485
<00:07:37.405>as <00:07:37.755>software <00:07:38.104>programming <00:07:38.455>or <00:07:38.804>politics

176
00:07:39.905 --> 00:07:42.525
<00:07:39.905>or, <00:07:40.371>uh, <00:07:40.838>something <00:07:41.304>else.

177
00:07:42.745 --> 00:07:44.765
<00:07:42.745>And <00:07:42.978>then <00:07:43.211>when <00:07:43.445>you <00:07:43.678>compute <00:07:43.911>that <00:07:44.145>using

178
00:07:45.325 --> 00:07:49.075
<00:07:45.325>a <00:07:45.500>zero <00:07:45.675>shot <00:07:45.849>classification <00:07:46.025>model, <00:07:46.200>it's <00:07:46.375>gonna <00:07:46.550>tell <00:07:46.724>us

179
00:07:49.545 --> 00:07:52.755
<00:07:49.545>what <00:07:49.700>is <00:07:49.856>the <00:07:50.011>probability <00:07:50.167>that <00:07:50.322>this <00:07:50.478>stacks <00:07:50.633>actually <00:07:50.789>is <00:07:50.945>related

180
00:07:52.775 --> 00:07:53.795
<00:07:52.775>to <00:07:53.004>one <00:07:53.234>of <00:07:53.463>those <00:07:53.693>labels.

181
00:07:54.295 --> 00:07:56.315
<00:07:54.295>So <00:07:54.575>that's <00:07:54.855>zero <00:07:55.135>shot <00:07:55.415>classification <00:07:55.695>models,

182
00:07:56.695 --> 00:07:59.475
<00:07:56.695>but <00:07:56.895>this <00:07:57.094>is <00:07:57.295>still <00:07:57.495>using <00:07:57.695>ai, <00:07:57.895>all <00:07:58.094>right?

183
00:07:59.535 --> 00:08:01.275
<00:07:59.534>And <00:07:59.814>it <00:08:00.094>may <00:08:00.374>still <00:08:00.655>take, <00:08:00.934>uh,

184
00:08:01.395 --> 00:08:02.995
<00:08:01.395>a <00:08:01.674>few <00:08:01.955>hundred <00:08:02.234>milliseconds <00:08:02.515>to <00:08:02.794>compute.

185
00:08:03.335 --> 00:08:05.875
<00:08:03.335>And <00:08:03.510>that <00:08:03.685>takes <00:08:03.859>us <00:08:04.034>to <00:08:04.210>our <00:08:04.385>third <00:08:04.560>approach <00:08:04.734>here,

186
00:08:06.045 --> 00:08:08.235
<00:08:06.045>which <00:08:06.325>is <00:08:06.605>using <00:08:06.885>a <00:08:07.165>vector <00:08:07.445>database.

187
00:08:08.415 --> 00:08:11.755
<00:08:08.415>So <00:08:08.542>the <00:08:08.669>way <00:08:08.796>you <00:08:08.924>can <00:08:09.051>classify <00:08:09.178>tax <00:08:09.305>with <00:08:09.433>a <00:08:09.560>vector <00:08:09.687>database <00:08:09.815>is

188
00:08:11.755 --> 00:08:13.195
<00:08:11.755>by <00:08:12.014>getting <00:08:12.273>a <00:08:12.532>bunch <00:08:12.791>of <00:08:13.051>references.

189
00:08:13.575 --> 00:08:15.115
<00:08:13.575>So <00:08:13.806>in <00:08:14.037>this <00:08:14.268>case, <00:08:14.499>I <00:08:14.730>generated <00:08:14.961>all

190
00:08:15.115 --> 00:08:18.875
<00:08:15.115>of <00:08:15.270>these <00:08:15.426>references <00:08:15.581>using <00:08:15.737>an <00:08:15.892>LLM, <00:08:16.048>using, <00:08:16.203>uh, <00:08:16.359>CHATT <00:08:16.515>PT

191
00:08:18.875 --> 00:08:19.995
<00:08:18.875>for <00:08:19.127>example, <00:08:19.379>s <00:08:19.631>chatt <00:08:19.883>PT,

192
00:08:19.995 --> 00:08:23.475
<00:08:19.995>to <00:08:20.195>generate <00:08:20.395>150 <00:08:20.595>tweets <00:08:20.795>about <00:08:20.995>Redis, <00:08:21.195>for <00:08:21.395>example.

193
00:08:23.535 --> 00:08:25.395
<00:08:23.535>And <00:08:23.735>it <00:08:23.935>came <00:08:24.135>up <00:08:24.335>with <00:08:24.535>all <00:08:24.735>of <00:08:24.935>them.

194
00:08:25.745 --> 00:08:27.275
<00:08:25.745>Here <00:08:26.020>are <00:08:26.295>four <00:08:26.571>examples <00:08:26.846>of <00:08:27.121>those.

195
00:08:27.335 --> 00:08:29.715
<00:08:27.335>So <00:08:27.534>for <00:08:27.734>example, <00:08:27.935>pro <00:08:28.135>tip <00:08:28.335>uses <00:08:28.534>scan <00:08:28.734>instead

196
00:08:29.715 --> 00:08:31.355
<00:08:29.715>of <00:08:29.994>keys <00:08:30.275>in <00:08:30.554>production <00:08:30.835>keys <00:08:31.114>blocks,

197
00:08:31.535 --> 00:08:34.595
<00:08:31.535>the <00:08:31.675>entire <00:08:31.815>server <00:08:31.955>wide <00:08:32.095>scan <00:08:32.235>is <00:08:32.375>not <00:08:32.515>blocking <00:08:32.655>and <00:08:32.795>so <00:08:32.935>on.

198
00:08:34.675 --> 00:08:36.515
<00:08:34.674>A <00:08:34.830>lot <00:08:34.986>of <00:08:35.141>those <00:08:35.297>references. <00:08:35.452>And <00:08:35.608>what <00:08:35.763>I <00:08:35.919>wanna <00:08:36.074>do

199
00:08:36.515 --> 00:08:39.115
<00:08:36.515>with <00:08:36.689>those <00:08:36.865>references <00:08:37.039>that <00:08:37.215>are <00:08:37.390>all <00:08:37.564>related <00:08:37.740>to, <00:08:37.914>um,

200
00:08:39.525 --> 00:08:41.195
<00:08:39.525>Redis <00:08:39.875>tweets <00:08:40.225>that <00:08:40.574>mentioned <00:08:40.924>Redis,

201
00:08:41.195 --> 00:08:44.675
<00:08:41.195>or <00:08:41.311>that <00:08:41.428>are <00:08:41.545>about <00:08:41.661>Redis, <00:08:41.778>I <00:08:41.895>wanna <00:08:42.011>get <00:08:42.128>them, <00:08:42.245>I <00:08:42.361>wanna <00:08:42.478>run <00:08:42.595>them

202
00:08:44.675 --> 00:08:47.395
<00:08:44.675>through <00:08:44.814>an <00:08:44.954>embedding <00:08:45.094>model <00:08:45.234>so <00:08:45.375>I <00:08:45.515>can <00:08:45.655>turn <00:08:45.795>them, <00:08:45.935>each <00:08:46.074>one

203
00:08:47.395 --> 00:08:49.635
<00:08:47.395>of <00:08:47.745>them <00:08:48.095>into <00:08:48.444>vector <00:08:48.795>representations.

204
00:08:49.655 --> 00:08:52.755
<00:08:49.655>And <00:08:49.829>then <00:08:50.005>I <00:08:50.180>wanna <00:08:50.355>store <00:08:50.530>these <00:08:50.704>vector <00:08:50.880>representations <00:08:51.055>inside

205
00:08:52.755 --> 00:08:55.765
<00:08:52.755>of <00:08:52.882>VA <00:08:53.009>of <00:08:53.136>a <00:08:53.264>vector <00:08:53.391>database, <00:08:53.518>which <00:08:53.645>is <00:08:53.773>Redis <00:08:53.900>in <00:08:54.027>this <00:08:54.155>case.

206
00:08:56.585 --> 00:08:57.805
<00:08:56.585>And <00:08:56.859>after <00:08:57.134>I've <00:08:57.408>done <00:08:57.683>that,

207
00:08:58.365 --> 00:08:59.445
<00:08:58.365>whenever <00:08:58.559>I <00:08:58.753>get <00:08:58.948>a <00:08:59.142>new <00:08:59.337>post,

208
00:08:59.635 --> 00:09:01.645
<00:08:59.635>what <00:08:59.790>I <00:08:59.946>can <00:09:00.101>do <00:09:00.257>is <00:09:00.412>I <00:09:00.568>can <00:09:00.723>run <00:09:00.879>this <00:09:01.035>post

209
00:09:01.645 --> 00:09:03.925
<00:09:01.645>through <00:09:01.819>an <00:09:01.995>embedding <00:09:02.170>model <00:09:02.345>as <00:09:02.520>well, <00:09:02.694>the <00:09:02.870>same <00:09:03.045>one,

210
00:09:04.585 --> 00:09:07.325
<00:09:04.585>and <00:09:04.785>get <00:09:04.985>the <00:09:05.185>vector <00:09:05.385>representation <00:09:05.585>of <00:09:05.785>this <00:09:05.985>post

211
00:09:07.545 --> 00:09:11.365
<00:09:07.545>and <00:09:07.685>run <00:09:07.824>a <00:09:07.964>similarity <00:09:08.104>search <00:09:08.245>in <00:09:08.385>the <00:09:08.525>vector <00:09:08.665>database <00:09:08.805>Redis <00:09:08.944>in

212
00:09:11.365 --> 00:09:14.965
<00:09:11.365>this <00:09:11.540>case <00:09:11.715>to <00:09:11.890>understand <00:09:12.065>how <00:09:12.240>similar <00:09:12.415>this <00:09:12.590>post <00:09:12.765>is

213
00:09:15.305 --> 00:09:17.285
<00:09:15.305>to <00:09:15.538>all <00:09:15.771>the <00:09:16.005>references <00:09:16.238>that <00:09:16.471>I <00:09:16.704>generated

214
00:09:17.465 --> 00:09:19.245
<00:09:17.465>and <00:09:17.815>stored <00:09:18.165>inside <00:09:18.515>of <00:09:18.865>Redis.

215
00:09:19.545 --> 00:09:23.405
<00:09:19.545>So <00:09:19.719>hypothetically, <00:09:19.895>this <00:09:20.069>one <00:09:20.245>could <00:09:20.420>actually <00:09:20.594>match <00:09:20.770>the <00:09:20.944>closest

216
00:09:23.625 --> 00:09:26.725
<00:09:23.625>to <00:09:23.780>this <00:09:23.936>reference <00:09:24.091>that <00:09:24.247>was <00:09:24.402>store <00:09:24.558>stored <00:09:24.713>inside <00:09:24.869>of <00:09:25.025>Redis

217
00:09:26.955 --> 00:09:29.325
<00:09:26.955>with <00:09:27.155>a <00:09:27.355>similarity <00:09:27.555>score <00:09:27.755>of <00:09:27.955>zero <00:09:28.155>point <00:09:28.355>28.

218
00:09:29.325 --> 00:09:33.245
<00:09:29.325>And <00:09:29.452>the <00:09:29.579>similarity <00:09:29.706>score <00:09:29.834>can <00:09:29.961>go <00:09:30.088>from <00:09:30.215>zero <00:09:30.343>to <00:09:30.470>one <00:09:30.597>being <00:09:30.725>zero,

219
00:09:33.425 --> 00:09:35.605
<00:09:33.425>the <00:09:33.625>most <00:09:33.824>similar <00:09:34.025>and <00:09:34.224>one <00:09:34.425>the <00:09:34.625>most <00:09:34.824>different,

220
00:09:35.905 --> 00:09:38.165
<00:09:35.905>and <00:09:36.105>given <00:09:36.305>the <00:09:36.505>threshold <00:09:36.704>that <00:09:36.905>I <00:09:37.105>have <00:09:37.305>defined.

221
00:09:38.185 --> 00:09:40.325
<00:09:38.185>So <00:09:38.340>let's <00:09:38.496>say <00:09:38.651>that <00:09:38.807>I <00:09:38.962>say <00:09:39.118>that <00:09:39.273>everything <00:09:39.429>that <00:09:39.584>is

222
00:09:40.325 --> 00:09:43.645
<00:09:40.325>below <00:09:40.480>0.3 <00:09:40.636>is <00:09:40.791>similar <00:09:40.947>enough, <00:09:41.102>I <00:09:41.258>could <00:09:41.413>say, <00:09:41.569>all <00:09:41.725>right,

223
00:09:43.675 --> 00:09:46.445
<00:09:43.675>this <00:09:43.830>post <00:09:43.986>is <00:09:44.141>actually <00:09:44.297>about <00:09:44.452>Redis, <00:09:44.608>so <00:09:44.763>I <00:09:44.919>don't <00:09:45.074>have

224
00:09:46.445 --> 00:09:47.685
<00:09:46.445>to <00:09:46.668>call <00:09:46.891>an <00:09:47.114>LLM <00:09:47.337>to <00:09:47.560>to,

225
00:09:48.105 --> 00:09:51.485
<00:09:48.105>or <00:09:48.260>a <00:09:48.416>zero <00:09:48.571>shot <00:09:48.727>classification <00:09:48.882>model <00:09:49.038>to <00:09:49.193>classify <00:09:49.349>this <00:09:49.505>text.

226
00:09:51.605 --> 00:09:53.005
<00:09:51.605>I <00:09:51.785>can <00:09:51.965>do <00:09:52.145>that <00:09:52.325>with <00:09:52.505>a <00:09:52.685>vector <00:09:52.865>database

227
00:09:53.305 --> 00:09:55.445
<00:09:53.305>and <00:09:53.584>a <00:09:53.864>couple <00:09:54.145>hundred, <00:09:54.425>uh, <00:09:54.704>references

228
00:09:55.445 --> 00:09:56.605
<00:09:55.445>that <00:09:55.653>I <00:09:55.862>have <00:09:56.071>stored <00:09:56.280>in <00:09:56.489>there.

229
00:09:56.665 --> 00:10:00.285
<00:09:56.665>And <00:09:56.820>I'm <00:09:56.976>just <00:09:57.131>checking <00:09:57.287>if <00:09:57.442>the <00:09:57.598>post <00:09:57.753>is <00:09:57.909>semantically <00:09:58.064>similar

230
00:10:00.665 --> 00:10:02.605
<00:10:00.665>to <00:10:00.839>these <00:10:01.015>references, <00:10:01.189>and <00:10:01.365>if <00:10:01.540>it <00:10:01.714>is, <00:10:01.890>I <00:10:02.064>know

231
00:10:02.605 --> 00:10:04.805
<00:10:02.605>that <00:10:02.885>I <00:10:03.165>have <00:10:03.445>classified <00:10:03.725>that <00:10:04.005>correctly

232
00:10:05.065 --> 00:10:07.965
<00:10:05.065>or <00:10:05.531>yeah, <00:10:05.998>correctly <00:10:06.465>basically.

233
00:10:09.065 --> 00:10:13.965
<00:10:09.065>So, <00:10:09.181>uh, <00:10:09.298>I <00:10:09.415>have <00:10:09.531>um, <00:10:09.648>a <00:10:09.765>quick <00:10:09.881>demo <00:10:09.998>to <00:10:10.115>show <00:10:10.231>you <00:10:10.348>as <00:10:10.465>well.

234
00:10:14.175 --> 00:10:16.965
<00:10:14.175>Where <00:10:14.375>is <00:10:14.574>it? <00:10:14.775>So <00:10:14.974>this <00:10:15.175>demo <00:10:15.375>is <00:10:15.574>available

235
00:10:17.025 --> 00:10:18.405
<00:10:17.025>for <00:10:17.232>anybody <00:10:17.439>who <00:10:17.646>wants <00:10:17.853>to <00:10:18.060>try <00:10:18.266>it.

236
00:10:18.405 --> 00:10:21.645
<00:10:18.405>We <00:10:18.560>have <00:10:18.716>this <00:10:18.871>repository, <00:10:19.027>Redis <00:10:19.182>AI <00:10:19.338>resources, <00:10:19.493>uh, <00:10:19.649>on <00:10:19.805>GitHub.

237
00:10:21.645 --> 00:10:23.405
<00:10:21.645>We <00:10:21.800>have <00:10:21.956>a <00:10:22.111>lot <00:10:22.267>of <00:10:22.422>recipes <00:10:22.578>for <00:10:22.733>people <00:10:22.889>that <00:10:23.045>want

238
00:10:23.405 --> 00:10:26.485
<00:10:23.405>to <00:10:23.605>get <00:10:23.805>it <00:10:24.005>started <00:10:24.204>with <00:10:24.405>AI <00:10:24.605>using <00:10:24.805>Redis.

239
00:10:26.785 --> 00:10:30.565
<00:10:26.785>And <00:10:26.901>the <00:10:27.018>one <00:10:27.135>that <00:10:27.251>I <00:10:27.368>wanna <00:10:27.485>focus <00:10:27.601>on <00:10:27.718>right <00:10:27.834>now <00:10:27.951>is <00:10:28.068>this <00:10:28.185>one

240
00:10:30.565 --> 00:10:31.685
<00:10:30.565>that <00:10:30.901>is <00:10:31.237>basic <00:10:31.573>routing.

241
00:10:31.685 --> 00:10:32.725
<00:10:31.685>So <00:10:32.153>semantic <00:10:32.621>routing.

242
00:10:32.905 --> 00:10:35.045
<00:10:32.905>So <00:10:33.079>semantic <00:10:33.255>routing <00:10:33.430>is <00:10:33.605>the <00:10:33.780>name <00:10:33.954>of <00:10:34.130>the <00:10:34.305>technique

243
00:10:35.195 --> 00:10:40.005
<00:10:35.195>that <00:10:35.370>we're <00:10:35.545>applying <00:10:35.720>here <00:10:35.895>for <00:10:36.070>different, <00:10:36.245>um, <00:10:36.420>use <00:10:36.595>cases.

244
00:10:40.245 --> 00:10:43.645
<00:10:40.245>I <00:10:40.445>just <00:10:40.645>saw <00:10:40.845>that <00:10:41.045>my <00:10:41.245>Google <00:10:41.445>collab <00:10:41.645>reset.

245
00:10:43.645 --> 00:10:48.385
<00:10:43.645>So <00:10:43.761>let's <00:10:43.878>see <00:10:43.995>if <00:10:44.111>it <00:10:44.228>if, <00:10:44.345>um, <00:10:44.461>I'll <00:10:44.578>have <00:10:44.694>to <00:10:44.811>run <00:10:44.928>everything <00:10:45.045>again

246
00:10:48.385 --> 00:10:49.505
<00:10:48.385>or <00:10:48.586>if <00:10:48.788>this <00:10:48.989>is <00:10:49.191>still <00:10:49.393>running.

247
00:10:49.965 --> 00:10:51.425
<00:10:49.965>So, <00:10:51.279>uh,

248
00:10:51.445 --> 00:10:53.345
<00:10:51.445>before <00:10:51.725>I <00:10:52.005>actually <00:10:52.285>show <00:10:52.565>the <00:10:52.845>examples,

249
00:10:53.785 --> 00:10:55.745
<00:10:53.785>I <00:10:53.959>also <00:10:54.135>wanna <00:10:54.310>talk <00:10:54.485>about <00:10:54.660>the <00:10:54.834>Redis <00:10:55.010>VL <00:10:55.185>library,

250
00:10:55.745 --> 00:10:58.625
<00:10:55.745>which <00:10:55.920>is <00:10:56.095>the <00:10:56.270>Redis <00:10:56.445>Vector <00:10:56.620>Library, <00:10:56.795>which <00:10:56.970>is <00:10:57.145>basically

251
00:10:59.585 --> 00:11:03.385
<00:10:59.585>a <00:10:59.740>library <00:10:59.896>that <00:11:00.051>is, <00:11:00.207>uh, <00:11:00.362>implemented <00:11:00.518>by <00:11:00.673>Redis <00:11:00.829>in <00:11:00.985>Python.

252
00:11:03.495 --> 00:11:04.945
<00:11:03.495>It's <00:11:03.821>also <00:11:04.147>coming <00:11:04.473>to <00:11:04.800>Java

253
00:11:04.945 --> 00:11:08.185
<00:11:04.945>and <00:11:05.120>JavaScript <00:11:05.295>to <00:11:05.470>allow <00:11:05.645>people <00:11:05.820>to <00:11:05.995>do <00:11:06.170>semantic <00:11:06.345>caching

254
00:11:08.185 --> 00:11:09.185
<00:11:08.185>and <00:11:08.635>semantic <00:11:09.084>routing

255
00:11:09.285 --> 00:11:11.825
<00:11:09.285>and <00:11:09.485>vector <00:11:09.685>search <00:11:09.885>with <00:11:10.084>Redis <00:11:10.285>in <00:11:10.485>a <00:11:10.685>more

256
00:11:12.105 --> 00:11:13.385
<00:11:12.105>abstract <00:11:12.489>and <00:11:12.873>easier <00:11:13.257>way.

257
00:11:14.005 --> 00:11:15.585
<00:11:14.005>Uh, <00:11:14.205>and <00:11:14.405>that's <00:11:14.605>what <00:11:14.805>we're <00:11:15.005>gonna <00:11:15.205>be <00:11:15.405>using

258
00:11:15.645 --> 00:11:17.345
<00:11:15.645>for <00:11:15.995>this <00:11:16.345>example <00:11:16.694>as <00:11:17.045>well.

259
00:11:17.605 --> 00:11:20.785
<00:11:17.605>So <00:11:17.745>you <00:11:17.885>can <00:11:18.025>see <00:11:18.165>that <00:11:18.305>here <00:11:18.445>I'm <00:11:18.585>using <00:11:18.725>the <00:11:18.865>route <00:11:19.005>object

260
00:11:21.105 --> 00:11:23.105
<00:11:21.105>provided <00:11:21.280>by <00:11:21.455>the <00:11:21.630>Redis <00:11:21.805>vl, <00:11:21.980>the <00:11:22.155>Redis <00:11:22.330>Vector <00:11:22.505>Library.

261
00:11:23.525 --> 00:11:26.185
<00:11:23.525>And <00:11:23.725>here <00:11:23.925>I'm <00:11:24.125>defining <00:11:24.324>a <00:11:24.525>route, <00:11:24.725>the <00:11:24.925>name

262
00:11:26.185 --> 00:11:27.465
<00:11:26.185>of <00:11:26.473>this <00:11:26.761>route <00:11:27.049>is <00:11:27.337>technology,

263
00:11:28.085 --> 00:11:29.785
<00:11:28.085>and <00:11:28.318>then <00:11:28.551>I <00:11:28.785>have <00:11:29.018>some <00:11:29.251>references <00:11:29.485>here.

264
00:11:29.925 --> 00:11:31.985
<00:11:29.925>So <00:11:30.125>what <00:11:30.324>are <00:11:30.525>the <00:11:30.724>latest <00:11:30.925>advancements <00:11:31.125>in <00:11:31.324>ai?

265
00:11:31.985 --> 00:11:34.625
<00:11:31.985>Tell <00:11:32.125>me <00:11:32.265>about <00:11:32.405>the <00:11:32.545>newest <00:11:32.685>gadgets. <00:11:32.825>What <00:11:32.965>is <00:11:33.105>trending <00:11:33.245>in <00:11:33.385>tech?

266
00:11:34.965 --> 00:11:37.385
<00:11:34.965>And <00:11:35.120>I <00:11:35.276>have <00:11:35.431>the <00:11:35.587>same <00:11:35.742>for <00:11:35.898>sports <00:11:36.053>and <00:11:36.209>entertainment <00:11:36.365>here.

267
00:11:37.405 --> 00:11:38.865
<00:11:37.405>So <00:11:37.733>I <00:11:38.062>can <00:11:38.390>classify <00:11:38.719>taxes

268
00:11:38.975 --> 00:11:42.985
<00:11:38.975>with <00:11:39.150>this <00:11:39.325>routes <00:11:39.500>based <00:11:39.675>on <00:11:39.850>technology, <00:11:40.025>sports, <00:11:40.200>or <00:11:40.375>interment.

269
00:11:44.245 --> 00:11:46.465
<00:11:44.245>Um, <00:11:44.400>and <00:11:44.556>this <00:11:44.711>is <00:11:44.867>just <00:11:45.022>for <00:11:45.178>the <00:11:45.333>sake <00:11:45.489>of <00:11:45.645>example,

270
00:11:46.465 --> 00:11:48.585
<00:11:46.465>that's <00:11:46.605>why <00:11:46.745>we <00:11:46.885>don't <00:11:47.025>have <00:11:47.165>a <00:11:47.305>lot <00:11:47.445>of <00:11:47.585>references, <00:11:47.725>just, <00:11:47.865>uh,

271
00:11:48.805 --> 00:11:49.825
<00:11:48.805>uh, <00:11:49.034>a <00:11:49.264>couple <00:11:49.493>of <00:11:49.723>them.

272
00:11:50.005 --> 00:11:52.945
<00:11:50.005>But <00:11:50.132>what <00:11:50.259>Redis <00:11:50.386>VR <00:11:50.514>was <00:11:50.641>gonna <00:11:50.768>do <00:11:50.895>under <00:11:51.023>the <00:11:51.150>hood <00:11:51.277>is <00:11:51.405>basically

273
00:11:53.215 --> 00:11:56.405
<00:11:53.215>embed <00:11:53.415>these <00:11:53.615>references, <00:11:53.815>each <00:11:54.015>one <00:11:54.215>of <00:11:54.415>them <00:11:54.615>separately,

274
00:11:56.425 --> 00:11:59.725
<00:11:56.425>and <00:11:56.625>then <00:11:56.824>store <00:11:57.025>them <00:11:57.224>inside <00:11:57.425>of <00:11:57.625>Redis, <00:11:57.824>uh,

275
00:11:59.875 --> 00:12:03.045
<00:11:59.875>alongside <00:12:00.108>the <00:12:00.341>route <00:12:00.575>that <00:12:00.808>they <00:12:01.041>refer <00:12:01.275>to

276
00:12:04.015 --> 00:12:05.245
<00:12:04.015>after <00:12:04.291>we <00:12:04.568>have <00:12:04.845>done <00:12:05.122>that.

277
00:12:05.345 --> 00:12:07.485
<00:12:05.345>Oh, <00:12:05.500>and <00:12:05.656>there's <00:12:05.811>one <00:12:05.967>more <00:12:06.122>thing. <00:12:06.278>We're <00:12:06.433>also <00:12:06.589>defining <00:12:06.745>the

278
00:12:07.685 --> 00:12:10.285
<00:12:07.685>distance <00:12:07.885>threshold <00:12:08.084>here <00:12:08.285>for <00:12:08.484>each <00:12:08.685>of <00:12:08.885>these <00:12:09.084>routes.

279
00:12:10.285 --> 00:12:12.725
<00:12:10.285>Alright, <00:12:10.485>so <00:12:10.685>let <00:12:10.885>me <00:12:11.084>see <00:12:11.285>if <00:12:11.485>this <00:12:11.685>runs.

280
00:12:12.915 --> 00:12:14.365
<00:12:12.915>Okay, <00:12:13.175>I <00:12:13.437>think <00:12:13.698>it <00:12:13.959>just <00:12:14.220>reconnected

281
00:12:15.205 --> 00:12:16.625
<00:12:15.205>and <00:12:15.524>everything <00:12:15.844>is <00:12:16.163>still <00:12:16.483>working.

282
00:12:20.085 --> 00:12:21.315
<00:12:20.085>Let's <00:12:20.454>find <00:12:20.823>out. <00:12:21.192>Alright.

283
00:12:22.095 --> 00:12:24.755
<00:12:22.095>And <00:12:22.270>after <00:12:22.445>I've <00:12:22.620>done <00:12:22.795>that, <00:12:22.970>I <00:12:23.145>can <00:12:23.320>then <00:12:23.495>try

284
00:12:24.755 --> 00:12:26.915
<00:12:24.755>to <00:12:24.955>classify <00:12:25.155>some <00:12:25.355>texts <00:12:25.555>based <00:12:25.755>on <00:12:25.955>this <00:12:26.155>route.

285
00:12:26.935 --> 00:12:28.715
<00:12:26.935>So <00:12:27.062>I <00:12:27.189>have <00:12:27.316>here, <00:12:27.444>for <00:12:27.571>example, <00:12:27.698>can <00:12:27.825>you <00:12:27.953>tell <00:12:28.080>me <00:12:28.207>about <00:12:28.334>the

286
00:12:28.715 --> 00:12:30.155
<00:12:28.715>latest <00:12:29.147>in <00:12:29.579>artificial <00:12:30.011>intelligence?

287
00:12:30.375 --> 00:12:33.355
<00:12:30.375>And <00:12:30.530>if <00:12:30.686>I <00:12:30.841>run <00:12:30.997>this <00:12:31.152>one, <00:12:31.308>it <00:12:31.463>has <00:12:31.619>classified <00:12:31.775>that

288
00:12:33.415 --> 00:12:36.235
<00:12:33.415>as <00:12:33.648>technology <00:12:33.881>has <00:12:34.115>matched <00:12:34.348>the <00:12:34.581>route <00:12:34.814>technology

289
00:12:36.235 --> 00:12:40.155
<00:12:36.235>with <00:12:36.390>the <00:12:36.546>distance <00:12:36.701>of <00:12:36.857>0.41, <00:12:37.012>which <00:12:37.168>is <00:12:37.323>within <00:12:37.479>the <00:12:37.635>threshold,

290
00:12:40.415 --> 00:12:42.075
<00:12:40.415>and <00:12:40.765>it <00:12:41.115>classified <00:12:41.464>that <00:12:41.814>correctly.

291
00:12:42.075 --> 00:12:45.875
<00:12:42.075>Even <00:12:42.250>though <00:12:42.425>I <00:12:42.600>don't <00:12:42.775>have <00:12:42.950>artificial <00:12:43.125>intelligence <00:12:43.300>written <00:12:43.475>in

292
00:12:45.895 --> 00:12:47.995
<00:12:45.895>any <00:12:46.035>of <00:12:46.175>these <00:12:46.314>references, <00:12:46.454>I <00:12:46.595>mean, <00:12:46.735>I <00:12:46.875>have <00:12:47.015>the <00:12:47.155>acronym <00:12:47.295>here,

293
00:12:48.175 --> 00:12:50.755
<00:12:48.175>but <00:12:48.349>I <00:12:48.525>don't <00:12:48.699>have <00:12:48.875>the <00:12:49.050>actual <00:12:49.224>words, <00:12:49.400>artificial <00:12:49.574>intelligence

294
00:12:51.015 --> 00:12:52.835
<00:12:51.015>or <00:12:51.189>any <00:12:51.365>of <00:12:51.540>the <00:12:51.715>words <00:12:51.890>that <00:12:52.064>we <00:12:52.240>have <00:12:52.415>here.

295
00:12:53.195 --> 00:12:55.635
<00:12:53.195>I <00:12:53.370>can <00:12:53.545>also <00:12:53.720>try <00:12:53.895>to <00:12:54.070>do <00:12:54.245>something <00:12:54.420>about <00:12:54.595>sports,

296
00:12:56.635 --> 00:13:00.655
<00:12:56.635>and <00:12:56.775>I'm <00:12:56.915>sorry <00:12:57.055>for <00:12:57.194>the <00:12:57.335>British <00:12:57.475>people <00:12:57.615>that <00:12:57.755>are <00:12:57.895>uh, <00:12:58.035>watching,

297
00:13:00.715 --> 00:13:02.695
<00:13:00.715>but <00:13:00.915>I'm <00:13:01.115>gonna <00:13:01.315>use <00:13:01.515>the <00:13:01.715>word <00:13:01.915>soccer <00:13:02.115>here.

298
00:13:03.115 --> 00:13:07.975
<00:13:03.115>So <00:13:03.348>can <00:13:03.581>you, <00:13:03.815>uh, <00:13:04.048>can <00:13:04.281>you <00:13:04.515>list

299
00:13:08.735 --> 00:13:10.455
<00:13:08.735>a <00:13:09.201>field <00:13:09.668>soccer <00:13:10.135>players?

300
00:13:11.275 --> 00:13:12.415
<00:13:11.275>So <00:13:11.480>let's <00:13:11.685>see <00:13:11.890>if <00:13:12.095>this <00:13:12.300>works.

301
00:13:13.555 --> 00:13:17.445
<00:13:13.555>Okay, <00:13:13.710>so <00:13:13.866>it <00:13:14.021>matched <00:13:14.177>sports <00:13:14.332>with <00:13:14.488>a <00:13:14.643>distance <00:13:14.799>of <00:13:14.954>0.68,

302
00:13:17.445 --> 00:13:19.005
<00:13:17.445>which <00:13:17.795>is <00:13:18.145>within <00:13:18.495>the <00:13:18.845>threshold.

303
00:13:19.265 --> 00:13:21.765
<00:13:19.265>But <00:13:19.405>the <00:13:19.545>reason <00:13:19.685>why <00:13:19.824>I <00:13:19.965>wanted <00:13:20.105>to <00:13:20.245>use <00:13:20.385>soccer <00:13:20.525>here <00:13:20.665>was

304
00:13:21.765 --> 00:13:24.845
<00:13:21.765>to <00:13:21.965>showcase <00:13:22.165>that <00:13:22.365>soccer <00:13:22.564>is <00:13:22.765>also <00:13:22.965>not <00:13:23.165>mentioned

305
00:13:24.905 --> 00:13:26.125
<00:13:24.905>in <00:13:25.179>many <00:13:25.454>of <00:13:25.728>the <00:13:26.003>references.

306
00:13:26.125 --> 00:13:27.925
<00:13:26.125>Here. <00:13:26.358>We <00:13:26.591>have <00:13:26.825>football, <00:13:27.058>we <00:13:27.291>have <00:13:27.525>sports,

307
00:13:28.185 --> 00:13:29.245
<00:13:28.185>but <00:13:28.423>they <00:13:28.661>don't <00:13:28.900>have <00:13:29.139>soccer.

308
00:13:29.345 --> 00:13:30.445
<00:13:29.345>And <00:13:29.592>we <00:13:29.840>were <00:13:30.087>still <00:13:30.335>able

309
00:13:30.465 --> 00:13:33.605
<00:13:30.465>to <00:13:30.698>match <00:13:30.931>it <00:13:31.165>correctly <00:13:31.398>using <00:13:31.631>semantic <00:13:31.865>routing

310
00:13:33.825 --> 00:13:34.925
<00:13:33.825>for <00:13:34.320>classification <00:13:34.814>here.

311
00:13:34.945 --> 00:13:38.085
<00:13:34.945>And <00:13:35.145>if <00:13:35.345>I <00:13:35.545>try <00:13:35.745>to <00:13:35.945>try <00:13:36.145>to, <00:13:36.345>um,

312
00:13:39.485 --> 00:13:42.565
<00:13:39.485>classify <00:13:39.612>some <00:13:39.739>text <00:13:39.866>that <00:13:39.994>is <00:13:40.121>not <00:13:40.248>related <00:13:40.375>to <00:13:40.503>any <00:13:40.630>of <00:13:40.757>the <00:13:40.885>routes,

313
00:13:42.905 --> 00:13:44.525
<00:13:42.905>as <00:13:43.105>you <00:13:43.305>can <00:13:43.505>see <00:13:43.704>here, <00:13:43.905>our <00:13:44.105>alien's <00:13:44.305>real,

314
00:13:44.635 --> 00:13:46.205
<00:13:44.635>it's <00:13:44.868>not <00:13:45.101>gonna <00:13:45.335>return <00:13:45.568>any <00:13:45.801>of <00:13:46.035>them

315
00:13:46.205 --> 00:13:49.325
<00:13:46.205>because <00:13:46.360>it's <00:13:46.516>not <00:13:46.671>similar <00:13:46.827>enough <00:13:46.982>to <00:13:47.138>any <00:13:47.293>of <00:13:47.449>the <00:13:47.605>references

316
00:13:49.325 --> 00:13:53.525
<00:13:49.325>that <00:13:49.500>we <00:13:49.675>have <00:13:49.850>defined <00:13:50.025>inside <00:13:50.200>of <00:13:50.375>our <00:13:50.550>semantic, <00:13:50.725>uh,

317
00:13:54.305 --> 00:13:56.685
<00:13:54.305>our <00:13:54.771>semantic <00:13:55.238>routes <00:13:55.704>basically.

318
00:13:58.265 --> 00:14:01.405
<00:13:58.265>So <00:13:58.498>that's <00:13:58.731>semantic <00:13:58.965>classification <00:13:59.198>in <00:13:59.431>a <00:13:59.665>nutshell.

319
00:14:02.015 --> 00:14:04.165
<00:14:02.015>Going <00:14:02.248>back <00:14:02.481>to <00:14:02.715>the <00:14:02.948>presentation <00:14:03.181>right <00:14:03.415>now.

320
00:14:05.035 --> 00:14:07.485
<00:14:05.035>Alright, <00:14:05.235>so <00:14:05.435>let's <00:14:05.635>talk <00:14:05.834>about <00:14:06.035>challenge <00:14:06.235>number <00:14:06.435>two

321
00:14:07.795 --> 00:14:09.565
<00:14:07.795>that <00:14:08.028>is <00:14:08.261>actually <00:14:08.495>calling <00:14:08.728>the <00:14:08.961>right <00:14:09.194>tools.

322
00:14:09.665 --> 00:14:12.245
<00:14:09.665>All <00:14:09.839>right? <00:14:10.015>So <00:14:10.189>when <00:14:10.365>you're <00:14:10.540>working <00:14:10.714>with <00:14:10.890>agentic <00:14:11.064>applications

323
00:14:12.245 --> 00:14:14.765
<00:14:12.245>or <00:14:12.445>even <00:14:12.645>chat <00:14:12.845>bots, <00:14:13.045>we <00:14:13.245>can <00:14:13.445>define <00:14:13.645>tools

324
00:14:14.765 --> 00:14:16.725
<00:14:14.765>that <00:14:15.045>our <00:14:15.324>LLM <00:14:15.605>can <00:14:15.885>interact <00:14:16.165>with.

325
00:14:17.065 --> 00:14:19.485
<00:14:17.065>And <00:14:17.240>the <00:14:17.415>way <00:14:17.590>that <00:14:17.765>it's <00:14:17.940>usually <00:14:18.115>done <00:14:18.290>by <00:14:18.465>most

326
00:14:19.485 --> 00:14:21.245
<00:14:19.485>of <00:14:19.718>the <00:14:19.951>frameworks <00:14:20.185>such <00:14:20.418>as <00:14:20.651>link <00:14:20.885>C

327
00:14:21.265 --> 00:14:25.605
<00:14:21.265>or <00:14:21.465>spring <00:14:21.665>AI, <00:14:21.865>is <00:14:22.064>by <00:14:22.265>defining <00:14:22.465>the <00:14:22.665>tools

328
00:14:26.025 --> 00:14:27.125
<00:14:26.025>inside <00:14:26.355>of <00:14:26.685>the <00:14:27.015>prompt.

329
00:14:27.125 --> 00:14:29.005
<00:14:27.125>Alright? <00:14:27.300>So <00:14:27.475>you <00:14:27.650>define <00:14:27.825>the <00:14:28.000>tools <00:14:28.175>that <00:14:28.350>are <00:14:28.525>available

330
00:14:29.025 --> 00:14:32.045
<00:14:29.025>for <00:14:29.180>the <00:14:29.336>LLM <00:14:29.491>to <00:14:29.647>work <00:14:29.802>with <00:14:29.958>you, <00:14:30.113>define <00:14:30.269>the <00:14:30.425>parameters

331
00:14:32.045 --> 00:14:34.045
<00:14:32.045>that <00:14:32.278>it <00:14:32.511>may <00:14:32.745>receive <00:14:32.978>and <00:14:33.211>so <00:14:33.444>on.

332
00:14:34.265 --> 00:14:36.645
<00:14:34.265>And <00:14:34.420>then <00:14:34.576>you're <00:14:34.731>gonna <00:14:34.887>send <00:14:35.042>this <00:14:35.198>prompt <00:14:35.353>to <00:14:35.509>the <00:14:35.665>LLM

333
00:14:36.645 --> 00:14:39.045
<00:14:36.645>and <00:14:36.800>the <00:14:36.956>LLM <00:14:37.111>may <00:14:37.267>return <00:14:37.422>to <00:14:37.578>you <00:14:37.733>saying, <00:14:37.889>Hey, <00:14:38.045>uh,

334
00:14:39.105 --> 00:14:40.125
<00:14:39.105>you <00:14:39.334>should <00:14:39.564>call <00:14:39.793>this <00:14:40.023>two

335
00:14:40.185 --> 00:14:43.485
<00:14:40.185>and <00:14:40.340>give <00:14:40.496>back <00:14:40.651>to <00:14:40.807>me <00:14:40.962>the <00:14:41.118>information <00:14:41.273>that <00:14:41.429>it <00:14:41.584>returns.

336
00:14:43.665 --> 00:14:45.245
<00:14:43.665>So <00:14:43.944>if <00:14:44.224>you're <00:14:44.505>asking <00:14:44.785>the <00:14:45.064>LLM

337
00:14:45.245 --> 00:14:46.445
<00:14:45.245>for <00:14:45.461>example, <00:14:45.677>hey, <00:14:45.893>what's <00:14:46.109>the <00:14:46.325>weather?

338
00:14:46.515 --> 00:14:49.565
<00:14:46.515>Like <00:14:46.670>the <00:14:46.826>LM <00:14:46.981>is <00:14:47.137>stateless, <00:14:47.292>it <00:14:47.448>doesn't <00:14:47.603>have <00:14:47.759>this <00:14:47.915>information,

339
00:14:49.905 --> 00:14:52.285
<00:14:49.905>but <00:14:50.060>it <00:14:50.216>say <00:14:50.371>that <00:14:50.527>he <00:14:50.682>have <00:14:50.838>a <00:14:50.993>weather, <00:14:51.149>API <00:14:51.305>too

340
00:14:52.305 --> 00:14:54.485
<00:14:52.305>or <00:14:52.479>a <00:14:52.655>get <00:14:52.829>weather <00:14:53.005>function <00:14:53.180>that <00:14:53.354>it <00:14:53.530>may <00:14:53.704>call,

341
00:14:54.755 --> 00:14:56.805
<00:14:54.755>it's <00:14:54.988>gonna <00:14:55.221>return <00:14:55.455>to <00:14:55.688>your <00:14:55.921>agent <00:14:56.155>application

342
00:14:56.805 --> 00:14:58.525
<00:14:56.805>with <00:14:57.038>the <00:14:57.271>request <00:14:57.505>to <00:14:57.738>call <00:14:57.971>this <00:14:58.204>two.

343
00:14:58.705 --> 00:15:01.805
<00:14:58.705>You're <00:14:58.860>gonna <00:14:59.016>call <00:14:59.171>this <00:14:59.327>two, <00:14:59.482>you're <00:14:59.638>gonna <00:14:59.793>get <00:14:59.949>the <00:15:00.105>information

344
00:15:01.805 --> 00:15:02.925
<00:15:01.805>that <00:15:02.056>is <00:15:02.309>retrieved <00:15:02.560>from <00:15:02.813>that.

345
00:15:03.065 --> 00:15:05.565
<00:15:03.065>And <00:15:03.205>then <00:15:03.345>you're <00:15:03.485>gonna <00:15:03.625>send <00:15:03.765>the <00:15:03.905>prompt <00:15:04.045>again <00:15:04.185>to <00:15:04.325>the <00:15:04.465>LM

346
00:15:05.565 --> 00:15:08.125
<00:15:05.565>with <00:15:05.798>this <00:15:06.031>information <00:15:06.265>and <00:15:06.498>all <00:15:06.731>the <00:15:06.965>rest

347
00:15:08.235 --> 00:15:10.205
<00:15:08.235>that <00:15:08.468>you <00:15:08.701>had <00:15:08.935>already <00:15:09.168>sent, <00:15:09.401>which <00:15:09.635>means

348
00:15:10.205 --> 00:15:11.925
<00:15:10.205>that <00:15:10.485>you're <00:15:10.765>basically <00:15:11.045>computing <00:15:11.325>the <00:15:11.605>same

349
00:15:11.925 --> 00:15:13.165
<00:15:11.925>prompt <00:15:12.296>more <00:15:12.669>than <00:15:13.040>once.

350
00:15:13.185 --> 00:15:15.245
<00:15:13.185>So <00:15:13.340>you're <00:15:13.496>paying <00:15:13.651>for <00:15:13.807>the <00:15:13.962>same <00:15:14.118>prompt <00:15:14.273>more <00:15:14.429>than <00:15:14.584>once,

351
00:15:15.665 --> 00:15:19.085
<00:15:15.665>and <00:15:15.820>you're <00:15:15.976>also <00:15:16.131>taking <00:15:16.287>double <00:15:16.442>the <00:15:16.598>time <00:15:16.753>to <00:15:16.909>process <00:15:17.064>that.

352
00:15:19.465 --> 00:15:21.965
<00:15:19.465>All <00:15:19.745>right? <00:15:20.025>And <00:15:20.305>the <00:15:20.585>different <00:15:20.865>approach

353
00:15:21.965 --> 00:15:24.245
<00:15:21.965>that <00:15:22.105>we <00:15:22.245>can <00:15:22.385>take <00:15:22.525>here <00:15:22.665>is <00:15:22.805>by <00:15:22.945>using <00:15:23.085>avec <00:15:23.225>to <00:15:23.365>database,

354
00:15:24.505 --> 00:15:26.205
<00:15:24.505>by <00:15:24.855>using <00:15:25.205>semantic <00:15:25.555>routes <00:15:25.905>again,

355
00:15:26.465 --> 00:15:28.405
<00:15:26.465>but <00:15:26.745>in <00:15:27.025>a <00:15:27.305>slightly <00:15:27.585>different <00:15:27.865>way.

356
00:15:28.785 --> 00:15:32.085
<00:15:28.785>So <00:15:28.940>what <00:15:29.096>it <00:15:29.251>can <00:15:29.407>do <00:15:29.562>now <00:15:29.718>is <00:15:29.873>actually <00:15:30.029>come <00:15:30.185>up

357
00:15:32.085 --> 00:15:34.685
<00:15:32.085>with <00:15:32.318>some <00:15:32.551>references <00:15:32.785>that <00:15:33.018>may <00:15:33.251>relate <00:15:33.485>to

358
00:15:34.715 --> 00:15:37.605
<00:15:34.715>what <00:15:34.915>people <00:15:35.115>would <00:15:35.315>actually <00:15:35.515>ask <00:15:35.715>your <00:15:35.915>chat <00:15:36.115>bot.

359
00:15:37.605 --> 00:15:39.085
<00:15:37.605>So <00:15:37.827>for <00:15:38.049>example, <00:15:38.271>what's <00:15:38.493>the <00:15:38.715>weather <00:15:38.937>like

360
00:15:39.425 --> 00:15:41.925
<00:15:39.425>or <00:15:39.564>will <00:15:39.704>it <00:15:39.844>rain <00:15:39.984>today <00:15:40.125>or <00:15:40.265>hello, <00:15:40.405>what <00:15:40.545>can <00:15:40.685>you <00:15:40.824>do?

361
00:15:42.185 --> 00:15:46.605
<00:15:42.185>And <00:15:42.324>then <00:15:42.464>get <00:15:42.604>this <00:15:42.744>references <00:15:42.885>to <00:15:43.025>refer <00:15:43.165>to <00:15:43.305>a <00:15:43.444>certain <00:15:43.584>tool.

362
00:15:46.605 --> 00:15:48.245
<00:15:46.605>So <00:15:46.760>you <00:15:46.916>can <00:15:47.071>see <00:15:47.227>that <00:15:47.382>the <00:15:47.538>first <00:15:47.693>one <00:15:47.849>is <00:15:48.005>referring

363
00:15:48.245 --> 00:15:49.605
<00:15:48.245>to <00:15:48.551>get <00:15:48.857>weather <00:15:49.163>default <00:15:49.469>city.

364
00:15:49.825 --> 00:15:51.805
<00:15:49.825>That's <00:15:50.175>the <00:15:50.525>function <00:15:50.875>or <00:15:51.225>the

365
00:15:51.805 --> 00:15:54.485
<00:15:51.805>what <00:15:51.960>can <00:15:52.116>you <00:15:52.271>do <00:15:52.427>is <00:15:52.582>referring <00:15:52.738>to <00:15:52.893>greeting <00:15:53.049>and <00:15:53.204>help.

366
00:15:54.505 --> 00:15:56.125
<00:15:54.505>That's <00:15:54.785>the <00:15:55.064>function <00:15:55.345>it's <00:15:55.625>referring <00:15:55.905>to.

367
00:15:56.545 --> 00:15:58.085
<00:15:56.545>And <00:15:56.891>here <00:15:57.238>we're <00:15:57.584>gonna <00:15:57.931>do

368
00:15:58.595 --> 00:16:00.405
<00:15:58.595>something <00:15:58.828>similar <00:15:59.061>to <00:15:59.295>what <00:15:59.528>we've <00:15:59.761>done <00:15:59.995>before.

369
00:16:00.625 --> 00:16:02.365
<00:16:00.625>So <00:16:00.825>we're <00:16:01.025>gonna <00:16:01.225>get <00:16:01.425>all <00:16:01.625>of <00:16:01.825>these <00:16:02.025>references,

370
00:16:02.365 --> 00:16:04.845
<00:16:02.365>we're <00:16:02.505>gonna <00:16:02.645>run <00:16:02.785>each <00:16:02.925>one <00:16:03.065>of <00:16:03.205>them <00:16:03.345>through <00:16:03.485>an <00:16:03.625>embedding <00:16:03.765>model,

371
00:16:05.345 --> 00:16:08.125
<00:16:05.345>get <00:16:05.485>the <00:16:05.625>vector <00:16:05.765>that <00:16:05.905>is <00:16:06.045>the <00:16:06.185>result <00:16:06.325>from <00:16:06.465>this <00:16:06.605>embedding <00:16:06.745>model

372
00:16:08.305 --> 00:16:11.845
<00:16:08.305>and <00:16:08.444>store <00:16:08.584>them <00:16:08.724>in <00:16:08.864>a <00:16:09.005>vector <00:16:09.145>database <00:16:09.285>so <00:16:09.425>we <00:16:09.564>can, <00:16:09.704>uh,

373
00:16:12.105 --> 00:16:13.765
<00:16:12.105>run <00:16:12.455>semantic <00:16:12.805>search <00:16:13.155>later <00:16:13.505>on

374
00:16:13.865 --> 00:16:16.245
<00:16:13.865>and <00:16:14.065>see <00:16:14.265>if <00:16:14.465>the <00:16:14.665>prompt <00:16:14.865>of <00:16:15.065>the <00:16:15.265>user

375
00:16:16.625 --> 00:16:20.485
<00:16:16.625>or <00:16:16.800>from <00:16:16.975>the <00:16:17.150>agentic <00:16:17.325>application <00:16:17.500>is <00:16:17.675>actually <00:16:17.850>triggering <00:16:18.025>any

376
00:16:20.485 --> 00:16:24.645
<00:16:20.485>of <00:16:20.612>these <00:16:20.739>tools <00:16:20.866>based <00:16:20.994>on <00:16:21.121>how <00:16:21.248>similar <00:16:21.375>it <00:16:21.503>is <00:16:21.630>to <00:16:21.757>the <00:16:21.885>references

377
00:16:24.675 --> 00:16:27.885
<00:16:24.675>that <00:16:24.875>we <00:16:25.074>have <00:16:25.275>stored <00:16:25.474>in <00:16:25.675>our <00:16:25.875>database, <00:16:26.074>right?

378
00:16:27.905 --> 00:16:31.125
<00:16:27.905>So <00:16:28.045>this <00:16:28.185>is <00:16:28.324>the, <00:16:28.464>uh, <00:16:28.605>diagram <00:16:28.745>that <00:16:28.885>shows <00:16:29.025>how <00:16:29.165>it <00:16:29.305>works.

379
00:16:31.145 --> 00:16:32.845
<00:16:31.145>So <00:16:31.345>basically <00:16:31.545>this <00:16:31.745>is <00:16:31.944>the <00:16:32.145>user <00:16:32.345>prompt, <00:16:32.545>Hey,

380
00:16:32.845 --> 00:16:33.845
<00:16:32.845>what <00:16:33.070>are <00:16:33.295>you <00:16:33.520>capable <00:16:33.745>of?

381
00:16:34.225 --> 00:16:35.885
<00:16:34.225>And <00:16:34.400>then <00:16:34.575>we <00:16:34.750>run <00:16:34.925>that <00:16:35.100>through <00:16:35.275>an <00:16:35.450>embedded <00:16:35.625>model.

382
00:16:35.905 --> 00:16:37.445
<00:16:35.905>We <00:16:36.136>vectorize <00:16:36.367>it, <00:16:36.598>we <00:16:36.829>get <00:16:37.060>the <00:16:37.291>vector

383
00:16:37.445 --> 00:16:39.605
<00:16:37.445>and <00:16:37.600>we <00:16:37.756>run <00:16:37.911>a <00:16:38.067>simulated <00:16:38.222>search <00:16:38.378>in <00:16:38.533>our <00:16:38.689>vector <00:16:38.845>database.

384
00:16:40.025 --> 00:16:43.645
<00:16:40.025>And <00:16:40.199>then <00:16:40.375>in <00:16:40.550>this <00:16:40.725>case, <00:16:40.900>hypothetically, <00:16:41.074>it <00:16:41.250>has, <00:16:41.425>um,

385
00:16:44.395 --> 00:16:45.725
<00:16:44.395>matched <00:16:44.993>the <00:16:45.592>reference.

386
00:16:45.725 --> 00:16:49.525
<00:16:45.725>Hello, <00:16:45.865>what <00:16:46.005>can <00:16:46.145>you <00:16:46.285>do <00:16:46.425>with <00:16:46.565>a <00:16:46.705>simulated <00:16:46.845>score <00:16:46.985>of <00:16:47.125>0.459,

387
00:16:49.615 --> 00:16:51.365
<00:16:49.615>which <00:16:49.965>is, <00:16:50.315>uh, <00:16:50.665>close <00:16:51.015>enough?

388
00:16:51.395 --> 00:16:53.205
<00:16:51.395>It's <00:16:51.628>very <00:16:51.861>similar. <00:16:52.095>And <00:16:52.328>then <00:16:52.561>it <00:16:52.795>means

389
00:16:53.205 --> 00:16:55.885
<00:16:53.205>that <00:16:53.380>our <00:16:53.555>application <00:16:53.730>should <00:16:53.905>call <00:16:54.080>the <00:16:54.255>grading <00:16:54.430>in <00:16:54.605>help

390
00:16:56.285 --> 00:16:59.725
<00:16:56.285>function <00:16:56.440>and <00:16:56.596>all <00:16:56.751>of <00:16:56.907>that <00:16:57.062>without <00:16:57.218>triggering <00:16:57.373>the <00:16:57.529>LLM, <00:16:57.685>right?

391
00:16:59.725 --> 00:17:04.045
<00:16:59.725>So <00:16:59.841>you <00:16:59.958>can <00:17:00.075>avoid <00:17:00.191>triggering <00:17:00.308>the <00:17:00.425>LLM <00:17:00.541>uh, <00:17:00.658>a <00:17:00.775>lot <00:17:00.891>of <00:17:01.008>times <00:17:01.125>by

392
00:17:04.805 --> 00:17:07.235
<00:17:04.805>using <00:17:05.005>semantic <00:17:05.205>routing <00:17:05.405>in <00:17:05.605>this <00:17:05.805>case <00:17:06.005>as <00:17:06.205>well.

393
00:17:08.755 --> 00:17:11.235
<00:17:08.755>I <00:17:08.930>don't <00:17:09.105>really <00:17:09.280>have <00:17:09.455>a <00:17:09.630>demo <00:17:09.805>for <00:17:09.980>two <00:17:10.155>calling,

394
00:17:11.415 --> 00:17:15.795
<00:17:11.415>but <00:17:11.542>I <00:17:11.669>have <00:17:11.796>another <00:17:11.924>demo <00:17:12.051>here <00:17:12.178>that <00:17:12.305>is <00:17:12.433>for <00:17:12.560>a <00:17:12.687>route <00:17:12.815>that,

395
00:17:16.425 --> 00:17:18.995
<00:17:16.425>that <00:17:16.704>allows <00:17:16.984>you <00:17:17.264>to <00:17:17.544>block, <00:17:17.825>uh,

396
00:17:19.015 --> 00:17:21.235
<00:17:19.015>or <00:17:19.190>set <00:17:19.365>some <00:17:19.540>guard <00:17:19.715>brail <00:17:19.890>in <00:17:20.065>your <00:17:20.240>chat <00:17:20.415>bot.

397
00:17:21.235 --> 00:17:23.075
<00:17:21.234>That <00:17:21.468>would <00:17:21.701>work <00:17:21.935>very <00:17:22.168>similarly. <00:17:22.401>All <00:17:22.635>right?

398
00:17:23.095 --> 00:17:25.555
<00:17:23.095>So <00:17:23.295>have <00:17:23.495>some <00:17:23.694>blocked <00:17:23.895>references <00:17:24.095>here, <00:17:24.295>for <00:17:24.495>example.

399
00:17:25.935 --> 00:17:28.875
<00:17:25.935>And <00:17:26.109>these <00:17:26.284>are <00:17:26.460>for <00:17:26.635>example, <00:17:26.810>things <00:17:26.984>about <00:17:27.159>XO <00:17:27.335>terrestrials

400
00:17:28.875 --> 00:17:31.515
<00:17:28.875>or <00:17:29.030>corporate <00:17:29.186>questions <00:17:29.341>about <00:17:29.497>agile <00:17:29.652>or <00:17:29.808>anything <00:17:29.963>about <00:17:30.119>the <00:17:30.275>s

401
00:17:31.515 --> 00:17:32.555
<00:17:31.515>and <00:17:31.983>p <00:17:32.451>500.

402
00:17:32.695 --> 00:17:36.275
<00:17:32.695>So <00:17:32.835>those <00:17:32.975>are, <00:17:33.115>uh, <00:17:33.254>things <00:17:33.395>that <00:17:33.534>you <00:17:33.675>don't <00:17:33.814>want <00:17:33.955>people <00:17:34.095>to

403
00:17:36.835 --> 00:17:38.395
<00:17:36.835>interact <00:17:37.115>with <00:17:37.395>with <00:17:37.675>their <00:17:37.955>chat <00:17:38.235>bot.

404
00:17:38.415 --> 00:17:40.675
<00:17:38.415>And <00:17:38.555>if <00:17:38.695>they <00:17:38.835>do, <00:17:38.975>you <00:17:39.115>don't <00:17:39.254>want <00:17:39.395>to <00:17:39.534>trigger <00:17:39.675>the <00:17:39.815>LLM

405
00:17:40.675 --> 00:17:44.555
<00:17:40.675>because <00:17:40.815>you're <00:17:40.955>gonna <00:17:41.095>be <00:17:41.235>paying, <00:17:41.375>um, <00:17:41.514>for, <00:17:41.655>for <00:17:41.794>tokens <00:17:41.935>that <00:17:42.075>are

406
00:17:45.235 --> 00:17:46.635
<00:17:45.235>actually <00:17:45.445>not <00:17:45.655>related <00:17:45.865>to <00:17:46.075>your <00:17:46.284>business, <00:17:46.495>right?

407
00:17:46.635 --> 00:17:47.635
<00:17:46.635>So <00:17:46.860>you <00:17:47.085>wanna <00:17:47.310>block <00:17:47.535>those

408
00:17:48.015 --> 00:17:50.125
<00:17:48.015>or <00:17:48.170>you <00:17:48.326>wanna <00:17:48.481>call <00:17:48.637>tools <00:17:48.792>as <00:17:48.948>I <00:17:49.103>showed <00:17:49.259>you <00:17:49.415>before.

409
00:17:50.345 --> 00:17:52.605
<00:17:50.345>So <00:17:50.472>you <00:17:50.599>can <00:17:50.726>come <00:17:50.854>up <00:17:50.981>with <00:17:51.108>these <00:17:51.235>references, <00:17:51.363>you <00:17:51.490>can <00:17:51.617>come <00:17:51.745>up

410
00:17:52.605 --> 00:17:53.965
<00:17:52.605>with <00:17:52.809>a <00:17:53.013>route, <00:17:53.216>as <00:17:53.421>we <00:17:53.625>did <00:17:53.829>before.

411
00:17:54.465 --> 00:17:56.965
<00:17:54.465>Let <00:17:54.698>me <00:17:54.931>run <00:17:55.165>this <00:17:55.398>one. <00:17:55.631>And <00:17:55.865>then

412
00:17:57.245 --> 00:17:59.885
<00:17:57.245>whenever <00:17:57.400>somebody <00:17:57.556>can <00:17:57.711>comes <00:17:57.867>with <00:17:58.022>a <00:17:58.178>question <00:17:58.333>that <00:17:58.489>is <00:17:58.645>related

413
00:17:59.905 --> 00:18:02.365
<00:17:59.905>to <00:18:00.045>one <00:18:00.185>of <00:18:00.325>these <00:18:00.465>references <00:18:00.605>such <00:18:00.745>as <00:18:00.885>where <00:18:01.024>are <00:18:01.165>the <00:18:01.305>results

414
00:18:02.365 --> 00:18:06.125
<00:18:02.365>of <00:18:02.481>the <00:18:02.598>standard <00:18:02.715>and <00:18:02.831>PS, <00:18:02.948>which <00:18:03.065>is <00:18:03.181>the <00:18:03.298>s <00:18:03.415>and <00:18:03.531>p, <00:18:03.648>uh, <00:18:03.765>s

415
00:18:06.125 --> 00:18:09.485
<00:18:06.125>and <00:18:06.252>p <00:18:06.379>500, <00:18:06.506>you <00:18:06.634>can <00:18:06.761>see <00:18:06.888>that <00:18:07.015>it <00:18:07.143>matched <00:18:07.270>the <00:18:07.397>block <00:18:07.525>list

416
00:18:09.485 --> 00:18:11.205
<00:18:09.485>with <00:18:09.834>the <00:18:10.185>distance <00:18:10.534>of <00:18:10.885>0.44,

417
00:18:11.555 --> 00:18:13.125
<00:18:11.555>even <00:18:11.835>though <00:18:12.115>we <00:18:12.395>don't <00:18:12.675>mention <00:18:12.955>standard

418
00:18:13.185 --> 00:18:14.765
<00:18:13.185>and <00:18:13.418>course <00:18:13.651>here, <00:18:13.885>it <00:18:14.118>could <00:18:14.351>still <00:18:14.585>understand

419
00:18:14.765 --> 00:18:17.405
<00:18:14.765>that <00:18:14.920>this <00:18:15.076>is <00:18:15.231>related <00:18:15.387>to <00:18:15.542>the <00:18:15.698>s <00:18:15.853>and <00:18:16.009>p <00:18:16.165>500

420
00:18:17.745 --> 00:18:21.405
<00:18:17.745>or <00:18:17.919>for <00:18:18.094>example, <00:18:18.270>I <00:18:18.445>can <00:18:18.620>also <00:18:18.794>ask, <00:18:18.969>is <00:18:19.145>Scrum

421
00:18:21.925 --> 00:18:24.645
<00:18:21.925>a <00:18:22.205>great <00:18:22.485>framework <00:18:22.764>to <00:18:23.044>work <00:18:23.325>with?

422
00:18:24.925 --> 00:18:26.645
<00:18:24.925>I <00:18:25.158>don't <00:18:25.391>mention <00:18:25.625>Scrum <00:18:25.858>in <00:18:26.091>the <00:18:26.325>references,

423
00:18:27.915 --> 00:18:29.055
<00:18:27.915>but <00:18:28.171>I <00:18:28.428>talk <00:18:28.684>about <00:18:28.941>Agile.

424
00:18:29.315 --> 00:18:30.495
<00:18:29.315>And <00:18:29.527>since <00:18:29.739>I <00:18:29.952>talk <00:18:30.164>about <00:18:30.377>Agile,

425
00:18:30.495 --> 00:18:33.455
<00:18:30.495>somehow <00:18:30.695>my <00:18:30.895>embedding <00:18:31.094>model <00:18:31.294>can <00:18:31.495>understand <00:18:31.695>that <00:18:31.895>Scrum

426
00:18:33.515 --> 00:18:35.335
<00:18:33.515>or <00:18:33.795>deis <00:18:34.075>is <00:18:34.355>related <00:18:34.635>to <00:18:34.915>one

427
00:18:35.335 --> 00:18:37.135
<00:18:35.335>of <00:18:35.568>the <00:18:35.801>synthesis <00:18:36.035>in <00:18:36.268>the <00:18:36.501>reference <00:18:36.735>here.

428
00:18:37.755 --> 00:18:40.815
<00:18:37.755>Or <00:18:37.895>I <00:18:38.035>could <00:18:38.175>also <00:18:38.315>talk <00:18:38.455>about, <00:18:38.595>ask <00:18:38.735>a <00:18:38.875>question <00:18:39.015>such <00:18:39.155>as

429
00:18:41.555 --> 00:18:45.295
<00:18:41.555>how <00:18:41.835>many <00:18:42.115>aliens <00:18:42.395>have <00:18:42.675>visited <00:18:42.955>Earth

430
00:18:46.235 --> 00:18:48.415
<00:18:46.235>and <00:18:46.435>in <00:18:46.635>this <00:18:46.834>case <00:18:47.034>it <00:18:47.235>was <00:18:47.435>also <00:18:47.635>blocked

431
00:18:48.605 --> 00:18:51.695
<00:18:48.605>because <00:18:48.760>we <00:18:48.916>have <00:18:49.071>to <00:18:49.227>reference <00:18:49.382>things <00:18:49.538>about <00:18:49.693>X <00:18:49.849>or <00:18:50.005>terrestrials

432
00:18:51.835 --> 00:18:55.815
<00:18:51.835>and <00:18:52.035>it's <00:18:52.235>similar <00:18:52.435>enough <00:18:52.635>to <00:18:52.835>this <00:18:53.035>reference, <00:18:53.235>right?

433
00:18:55.815 --> 00:18:59.055
<00:18:55.815>So <00:18:55.942>this <00:18:56.069>is <00:18:56.196>semantic <00:18:56.324>routing <00:18:56.451>that <00:18:56.578>can <00:18:56.705>be <00:18:56.833>used <00:18:56.960>for <00:18:57.087>two <00:18:57.215>calling

434
00:18:59.395 --> 00:19:03.855
<00:18:59.395>or <00:18:59.570>blocking <00:18:59.745>references, <00:18:59.920>setting <00:19:00.095>guard <00:19:00.270>rails <00:19:00.445>for <00:19:00.620>your, <00:19:00.795>uh,

435
00:19:03.965 --> 00:19:06.255
<00:19:03.965>chat <00:19:04.245>bot <00:19:04.524>or <00:19:04.804>your <00:19:05.084>agentic <00:19:05.365>application.

436
00:19:06.255 --> 00:19:09.255
<00:19:06.255>So <00:19:06.395>you <00:19:06.535>can <00:19:06.675>avoid <00:19:06.815>going <00:19:06.955>to <00:19:07.095>the <00:19:07.235>LLMA <00:19:07.375>lot <00:19:07.515>of <00:19:07.655>times

437
00:19:09.835 --> 00:19:11.495
<00:19:09.835>and <00:19:10.035>you <00:19:10.235>can <00:19:10.435>avoid <00:19:10.635>spending <00:19:10.835>so <00:19:11.035>much <00:19:11.235>money

438
00:19:11.595 --> 00:19:14.895
<00:19:11.595>and <00:19:11.875>also, <00:19:12.155>uh, <00:19:12.435>wasting <00:19:12.715>time <00:19:12.995>computing

439
00:19:15.195 --> 00:19:17.175
<00:19:15.195>so <00:19:15.661>many <00:19:16.128>responses, <00:19:16.595>right?

440
00:19:17.175 --> 00:19:18.575
<00:19:17.175>So <00:19:17.427>that <00:19:17.679>was <00:19:17.931>the <00:19:18.183>second <00:19:18.435>challenge.

441
00:19:19.275 --> 00:19:22.535
<00:19:19.275>And <00:19:19.475>now <00:19:19.675>we <00:19:19.875>have, <00:19:20.075>uh, <00:19:20.275>the <00:19:20.475>third <00:19:20.675>challenge.

442
00:19:22.555 --> 00:19:24.255
<00:19:22.555>If <00:19:22.835>there <00:19:23.115>are, <00:19:23.395>uh, <00:19:23.675>no <00:19:23.955>questions

443
00:19:24.325 --> 00:19:27.015
<00:19:24.325>that <00:19:24.605>is <00:19:24.885>caching <00:19:25.165>the <00:19:25.445>responses, <00:19:25.725>alright?

444
00:19:27.015 --> 00:19:29.535
<00:19:27.015>And <00:19:27.215>I <00:19:27.415>have <00:19:27.615>already <00:19:27.815>said <00:19:28.015>that, <00:19:28.215>but <00:19:28.415>basically,

445
00:19:30.555 --> 00:19:32.735
<00:19:30.555>or <00:19:30.710>actually <00:19:30.866>gave <00:19:31.021>the <00:19:31.177>examples, <00:19:31.332>but <00:19:31.488>I <00:19:31.643>didn't <00:19:31.799>say <00:19:31.955>that.

446
00:19:33.475 --> 00:19:37.215
<00:19:33.475>So <00:19:33.602>let's <00:19:33.729>say <00:19:33.856>that <00:19:33.984>you <00:19:34.111>have <00:19:34.238>a <00:19:34.365>chat <00:19:34.493>bot <00:19:34.620>for <00:19:34.747>your <00:19:34.875>company

447
00:19:37.675 --> 00:19:39.855
<00:19:37.675>and <00:19:37.830>you <00:19:37.986>have <00:19:38.141>a <00:19:38.297>user <00:19:38.452>that <00:19:38.608>asks <00:19:38.763>a <00:19:38.919>question <00:19:39.075>there

448
00:19:40.035 --> 00:19:42.655
<00:19:40.035>and <00:19:40.162>then <00:19:40.289>a <00:19:40.416>couple <00:19:40.544>of <00:19:40.671>minutes <00:19:40.798>later <00:19:40.925>it, <00:19:41.053>hey, <00:19:41.180>they <00:19:41.307>come <00:19:41.435>back

449
00:19:42.655 --> 00:19:43.975
<00:19:42.655>and <00:19:42.892>ask <00:19:43.130>the <00:19:43.367>same <00:19:43.605>question <00:19:43.842>again.

450
00:19:44.275 --> 00:19:47.895
<00:19:44.275>And <00:19:44.430>every <00:19:44.586>time <00:19:44.741>you're <00:19:44.897>sending <00:19:45.052>the <00:19:45.208>prompt <00:19:45.363>to <00:19:45.519>the <00:19:45.675>LLM

451
00:19:47.895 --> 00:19:50.455
<00:19:47.895>and <00:19:48.095>computing <00:19:48.295>the <00:19:48.495>response <00:19:48.695>and <00:19:48.895>paying <00:19:49.095>for <00:19:49.295>that,

452
00:19:50.875 --> 00:19:53.215
<00:19:50.875>and <00:19:51.050>sometimes <00:19:51.225>for <00:19:51.400>things <00:19:51.575>that <00:19:51.750>you <00:19:51.925>have <00:19:52.100>already <00:19:52.275>computed

453
00:19:53.215 --> 00:19:55.375
<00:19:53.215>before <00:19:53.370>that <00:19:53.526>you <00:19:53.681>could <00:19:53.837>just <00:19:53.992>reuse <00:19:54.148>if <00:19:54.303>you <00:19:54.459>cash <00:19:54.615>them.

454
00:19:55.835 --> 00:19:58.655
<00:19:55.835>The <00:19:56.068>problem <00:19:56.301>with <00:19:56.535>traditional <00:19:56.768>caching <00:19:57.001>here <00:19:57.235>is

455
00:19:58.655 --> 00:20:00.775
<00:19:58.655>that <00:19:58.888>if <00:19:59.121>you <00:19:59.355>cach <00:19:59.588>the <00:19:59.821>actual <00:20:00.055>string

456
00:20:01.395 --> 00:20:05.025
<00:20:01.395>and <00:20:01.595>they <00:20:01.795>ask <00:20:01.995>to, <00:20:02.195>uh, <00:20:02.395>the <00:20:02.595>same <00:20:02.795>question

457
00:20:05.205 --> 00:20:06.425
<00:20:05.205>but <00:20:05.571>with <00:20:05.937>different <00:20:06.303>wording,

458
00:20:06.425 --> 00:20:09.105
<00:20:06.425>you're <00:20:06.658>not <00:20:06.891>gonna <00:20:07.125>match <00:20:07.358>the <00:20:07.591>cached <00:20:07.825>ones.

459
00:20:09.125 --> 00:20:13.105
<00:20:09.125>So <00:20:09.252>basically <00:20:09.379>the <00:20:09.506>example <00:20:09.634>that <00:20:09.761>I <00:20:09.888>gave <00:20:10.015>did <00:20:10.143>the <00:20:10.270>Apollo <00:20:10.397>11 <00:20:10.525>crew.

460
00:20:13.205 --> 00:20:15.545
<00:20:13.205>How <00:20:13.332>did <00:20:13.459>the <00:20:13.586>Apollo <00:20:13.714>11 <00:20:13.841>crew <00:20:13.968>go <00:20:14.095>to <00:20:14.223>the <00:20:14.350>toilet, <00:20:14.477>for <00:20:14.605>example?

461
00:20:15.685 --> 00:20:20.185
<00:20:15.685>Or <00:20:15.825>did <00:20:15.965>the <00:20:16.105>Apollo <00:20:16.245>11 <00:20:16.385>uh, <00:20:16.524>astronauts <00:20:16.665>go <00:20:16.804>to <00:20:16.945>the <00:20:17.085>bathroom?

462
00:20:20.185 --> 00:20:23.625
<00:20:20.185>Those <00:20:20.385>are <00:20:20.585>the <00:20:20.784>same <00:20:20.985>questions <00:20:21.185>worded <00:20:21.385>differently, <00:20:21.585>right?

463
00:20:24.085 --> 00:20:27.185
<00:20:24.085>So <00:20:24.225>if <00:20:24.365>we <00:20:24.505>use <00:20:24.645>an <00:20:24.785>embedding <00:20:24.925>model <00:20:25.065>in <00:20:25.205>a <00:20:25.345>vector <00:20:25.485>database,

464
00:20:27.965 --> 00:20:30.625
<00:20:27.965>you <00:20:28.314>can <00:20:28.665>vectorize <00:20:29.014>this <00:20:29.365>prompt,

465
00:20:30.835 --> 00:20:32.065
<00:20:30.835>store <00:20:31.056>them <00:20:31.277>in <00:20:31.499>the <00:20:31.720>vector <00:20:31.942>database,

466
00:20:32.065 --> 00:20:36.625
<00:20:32.065>and <00:20:32.205>then <00:20:32.345>ever <00:20:32.485>something <00:20:32.625>similar <00:20:32.765>comes <00:20:32.905>back, <00:20:33.045>you <00:20:33.185>can, <00:20:33.325>uh, <00:20:33.465>go

467
00:20:36.625 --> 00:20:37.625
<00:20:36.625>to <00:20:36.925>the <00:20:37.225>vector <00:20:37.525>database

468
00:20:37.685 --> 00:20:41.065
<00:20:37.685>and <00:20:37.840>retrieve <00:20:37.996>the, <00:20:38.151>the <00:20:38.307>response <00:20:38.462>from <00:20:38.618>there <00:20:38.773>instead <00:20:38.929>of <00:20:39.085>going

469
00:20:41.065 --> 00:20:43.105
<00:20:41.065>to <00:20:41.265>the <00:20:41.465>LLM <00:20:41.665>and <00:20:41.865>computing <00:20:42.065>the <00:20:42.265>same <00:20:42.465>response

470
00:20:43.535 --> 00:20:44.625
<00:20:43.535>over <00:20:43.862>and <00:20:44.189>over <00:20:44.516>again.

471
00:20:45.005 --> 00:20:46.185
<00:20:45.005>So <00:20:45.217>I <00:20:45.429>have <00:20:45.642>two <00:20:45.854>diagrams <00:20:46.067>here.

472
00:20:46.185 --> 00:20:48.045
<00:20:46.185>The <00:20:46.385>first <00:20:46.585>one <00:20:46.784>is <00:20:46.985>showing <00:20:47.185>the <00:20:47.385>regular <00:20:47.585>flow.

473
00:20:48.045 --> 00:20:50.845
<00:20:48.045>That <00:20:48.200>is <00:20:48.356>basically <00:20:48.511>going <00:20:48.667>to <00:20:48.822>the <00:20:48.978>LLM <00:20:49.133>asking <00:20:49.289>the <00:20:49.445>LLM

474
00:20:50.845 --> 00:20:52.565
<00:20:50.845>to <00:20:51.125>generate <00:20:51.405>the <00:20:51.685>response <00:20:51.965>every <00:20:52.245>time

475
00:20:52.565 --> 00:20:53.645
<00:20:52.565>and <00:20:52.727>how <00:20:52.889>to <00:20:53.051>put <00:20:53.213>in <00:20:53.375>the <00:20:53.537>message.

476
00:20:53.905 --> 00:20:55.165
<00:20:53.905>And <00:20:54.188>the <00:20:54.472>second <00:20:54.755>approach <00:20:55.039>is

477
00:20:55.165 --> 00:20:56.605
<00:20:55.165>by <00:20:55.424>actually <00:20:55.683>using <00:20:55.942>a <00:20:56.201>vector <00:20:56.461>database

478
00:20:56.865 --> 00:20:59.365
<00:20:56.865>and <00:20:57.065>caching <00:20:57.265>that, <00:20:57.465>uh, <00:20:57.665>prompting <00:20:57.865>the <00:20:58.065>vector <00:20:58.265>database.

479
00:20:59.365 --> 00:21:00.605
<00:20:59.365>And <00:20:59.524>every <00:20:59.683>time <00:20:59.843>you <00:21:00.002>get <00:21:00.162>a <00:21:00.321>new <00:21:00.481>one,

480
00:21:00.745 --> 00:21:02.525
<00:21:00.745>you <00:21:00.978>check <00:21:01.211>if <00:21:01.445>has <00:21:01.678>already <00:21:01.911>been <00:21:02.145>computed

481
00:21:02.525 --> 00:21:06.885
<00:21:02.525>before, <00:21:02.680>as <00:21:02.836>I'm <00:21:02.991>gonna <00:21:03.147>show <00:21:03.302>in <00:21:03.458>the <00:21:03.613>demo <00:21:03.769>right <00:21:03.925>now.

482
00:21:07.785 --> 00:21:12.205
<00:21:07.785>So <00:21:07.912>this <00:21:08.039>demo <00:21:08.166>is <00:21:08.294>not <00:21:08.421>based <00:21:08.548>on <00:21:08.675>Redis <00:21:08.803>vr, <00:21:08.930>it's <00:21:09.057>actually <00:21:09.185>based

483
00:21:12.985 --> 00:21:14.325
<00:21:12.985>on <00:21:13.588>spring <00:21:14.191>ai.

484
00:21:14.705 --> 00:21:17.485
<00:21:14.705>And <00:21:14.860>this <00:21:15.016>one <00:21:15.171>has <00:21:15.327>a, <00:21:15.482>a <00:21:15.638>more <00:21:15.793>beautiful, <00:21:15.949>uh, <00:21:16.105>or,

485
00:21:17.485 --> 00:21:20.845
<00:21:17.485>or <00:21:17.625>at <00:21:17.764>least <00:21:17.905>a, <00:21:18.044>a <00:21:18.185>little <00:21:18.324>bit <00:21:18.465>prettier, <00:21:18.604>uh, <00:21:18.745>user <00:21:18.885>interface.

486
00:21:20.945 --> 00:21:24.165
<00:21:20.945>So <00:21:21.072>what <00:21:21.199>I <00:21:21.326>have <00:21:21.454>here <00:21:21.581>is <00:21:21.708>I <00:21:21.835>have <00:21:21.963>stored <00:21:22.090>inside <00:21:22.217>of <00:21:22.345>Redis

487
00:21:24.165 --> 00:21:27.405
<00:21:24.165>and <00:21:24.305>I <00:21:24.445>can <00:21:24.585>show <00:21:24.725>you <00:21:24.865>that <00:21:25.004>with <00:21:25.145>Redis <00:21:25.284>Insight, <00:21:25.425>a <00:21:25.565>lot

488
00:21:27.405 --> 00:21:30.645
<00:21:27.405>of <00:21:27.754>references <00:21:28.105>about <00:21:28.455>beers <00:21:28.805>basically.

489
00:21:30.705 --> 00:21:33.285
<00:21:30.705>So <00:21:30.860>you <00:21:31.016>have <00:21:31.171>the <00:21:31.327>name <00:21:31.482>of <00:21:31.638>the <00:21:31.793>beer <00:21:31.949>and <00:21:32.105>the,

490
00:21:33.505 --> 00:21:36.445
<00:21:33.505>and <00:21:33.705>the <00:21:33.905>alcohol, <00:21:34.105>uh, <00:21:34.305>uh, <00:21:34.505>of <00:21:34.705>the <00:21:34.905>beer

491
00:21:36.465 --> 00:21:37.845
<00:21:36.465>and <00:21:36.713>the <00:21:36.961>description <00:21:37.210>and <00:21:37.458>so <00:21:37.707>on.

492
00:21:38.185 --> 00:21:41.445
<00:21:38.185>All <00:21:38.325>of <00:21:38.465>that <00:21:38.605>is <00:21:38.745>stored <00:21:38.885>inside <00:21:39.024>of <00:21:39.165>red, <00:21:39.304>uh, <00:21:39.445>of <00:21:39.585>Redis.

493
00:21:41.545 --> 00:21:43.525
<00:21:41.545>So <00:21:41.720>I'm <00:21:41.895>using <00:21:42.070>Redis <00:21:42.245>as <00:21:42.420>a <00:21:42.595>knowledge <00:21:42.770>base <00:21:42.945>here,

494
00:21:43.785 --> 00:21:45.685
<00:21:43.785>and <00:21:44.018>we <00:21:44.251>have <00:21:44.485>the <00:21:44.718>actual <00:21:44.951>embedding <00:21:45.185>here.

495
00:21:46.425 --> 00:21:48.765
<00:21:46.425>So <00:21:46.658>the, <00:21:46.891>the <00:21:47.125>vector <00:21:47.358>representing <00:21:47.591>the <00:21:47.825>information

496
00:21:48.765 --> 00:21:52.285
<00:21:48.765>that <00:21:48.940>was <00:21:49.115>stored <00:21:49.290>for <00:21:49.465>all <00:21:49.640>of <00:21:49.815>these <00:21:49.990>documents, <00:21:50.165>right?

497
00:21:52.285 --> 00:21:55.245
<00:21:52.285>And <00:21:52.401>what <00:21:52.518>I <00:21:52.635>wanna <00:21:52.751>do <00:21:52.868>now <00:21:52.985>is <00:21:53.101>I <00:21:53.218>wanna <00:21:53.335>ask <00:21:53.451>questions <00:21:53.568>about <00:21:53.685>it.

498
00:21:55.265 --> 00:21:57.925
<00:21:55.265>So <00:21:55.498>for <00:21:55.731>example, <00:21:55.965>what <00:21:56.198>kind <00:21:56.431>of <00:21:56.665>beer?

499
00:21:58.215 --> 00:22:03.185
<00:21:58.215>Maybe <00:21:58.342>that's <00:21:58.469>too <00:21:58.596>small, <00:21:58.724>let <00:21:58.851>me, <00:21:58.978>I <00:21:59.105>mean, <00:21:59.233>what <00:21:59.360>kind <00:21:59.487>of <00:21:59.615>beer,

500
00:22:04.245 --> 00:22:09.225
<00:22:04.245>uh, <00:22:04.445>goes <00:22:04.645>well <00:22:04.844>with <00:22:05.044>smoked <00:22:05.245>meat <00:22:05.445>for <00:22:05.645>example.

501
00:22:09.365 --> 00:22:13.025
<00:22:09.365>So <00:22:09.492>I <00:22:09.619>can <00:22:09.746>send <00:22:09.874>that <00:22:10.001>and <00:22:10.128>that's <00:22:10.255>gonna <00:22:10.383>take <00:22:10.510>a <00:22:10.637>little <00:22:10.765>while

502
00:22:13.025 --> 00:22:14.865
<00:22:13.025>because <00:22:13.200>since <00:22:13.375>I'm <00:22:13.550>asking <00:22:13.725>that <00:22:13.900>for <00:22:14.075>the <00:22:14.250>first <00:22:14.425>time,

503
00:22:14.865 --> 00:22:15.985
<00:22:14.865>it's <00:22:15.201>triggering <00:22:15.537>the <00:22:15.872>LLM

504
00:22:16.125 --> 00:22:18.145
<00:22:16.125>and <00:22:16.300>the <00:22:16.475>LLM <00:22:16.650>is <00:22:16.825>gonna <00:22:17.000>take <00:22:17.175>a <00:22:17.350>little <00:22:17.525>while

505
00:22:18.205 --> 00:22:20.305
<00:22:18.205>to <00:22:18.405>compute <00:22:18.605>it <00:22:18.804>and <00:22:19.004>I <00:22:19.205>hope <00:22:19.405>it <00:22:19.605>works.

506
00:22:20.335 --> 00:22:25.145
<00:22:20.335>It's <00:22:20.510>taking <00:22:20.685>a, <00:22:20.860>a <00:22:21.035>little <00:22:21.210>longer <00:22:21.385>than <00:22:21.560>it <00:22:21.735>should.

507
00:22:26.125 --> 00:22:30.245
<00:22:26.125>Let's <00:22:26.325>take <00:22:26.525>a <00:22:26.725>look <00:22:26.925>at <00:22:27.125>that. <00:22:27.325>Okay, <00:22:27.525>worked.

508
00:22:30.565 --> 00:22:33.005
<00:22:30.565>I <00:22:30.740>think <00:22:30.915>it <00:22:31.090>was, <00:22:31.265>uh, <00:22:31.440>we <00:22:31.615>had <00:22:31.790>some <00:22:31.965>kind

509
00:22:33.005 --> 00:22:34.725
<00:22:33.005>of <00:22:33.238>CodeStar <00:22:33.471>shouldn't <00:22:33.705>have <00:22:33.938>taken <00:22:34.171>that <00:22:34.405>long.

510
00:22:34.725 --> 00:22:37.605
<00:22:34.725>Easily <00:22:34.880>would <00:22:35.036>take <00:22:35.191>like <00:22:35.347>two <00:22:35.502>seconds, <00:22:35.658>uh, <00:22:35.813>to <00:22:35.969>compute <00:22:36.125>that

511
00:22:37.605 --> 00:22:39.765
<00:22:37.605>with <00:22:37.745>the <00:22:37.885>LLM, <00:22:38.025>but <00:22:38.165>you <00:22:38.305>can <00:22:38.445>see <00:22:38.585>that <00:22:38.725>the <00:22:38.865>embedding <00:22:39.005>times

512
00:22:39.765 --> 00:22:42.005
<00:22:39.765>of <00:22:40.045>vectorizing, <00:22:40.325>the <00:22:40.605>prompts <00:22:40.885>very <00:22:41.165>quickly

513
00:22:42.075 --> 00:22:43.165
<00:22:42.075>took <00:22:42.565>10 <00:22:43.056>milliseconds.

514
00:22:43.185 --> 00:22:45.005
<00:22:43.185>The <00:22:43.385>searching <00:22:43.585>red <00:22:43.784>was <00:22:43.985>very <00:22:44.185>quick <00:22:44.385>as <00:22:44.585>well

515
00:22:45.075 --> 00:22:47.805
<00:22:45.075>through <00:22:45.275>the <00:22:45.475>knowledge <00:22:45.675>base <00:22:45.875>took <00:22:46.075>only <00:22:46.275>five <00:22:46.475>milliseconds.

516
00:22:47.805 --> 00:22:49.925
<00:22:47.805>But <00:22:48.005>the <00:22:48.205>LLM <00:22:48.405>is <00:22:48.605>usually <00:22:48.805>the <00:22:49.005>bottleneck <00:22:49.205>here

517
00:22:49.925 --> 00:22:52.245
<00:22:49.925>because <00:22:50.125>it <00:22:50.325>takes <00:22:50.524>at <00:22:50.725>least <00:22:50.925>one <00:22:51.125>two <00:22:51.325>seconds

518
00:22:52.345 --> 00:22:53.805
<00:22:52.345>to <00:22:52.783>compute <00:22:53.221>the <00:22:53.659>response.

519
00:22:54.305 --> 00:22:56.485
<00:22:54.305>But <00:22:54.480>now <00:22:54.655>if <00:22:54.830>I <00:22:55.005>ask <00:22:55.180>the <00:22:55.355>same <00:22:55.530>question <00:22:55.705>again

520
00:22:56.795 --> 00:23:00.165
<00:22:56.795>with <00:22:56.995>different <00:22:57.195>wording, <00:22:57.395>so <00:22:57.595>what <00:22:57.795>kind <00:22:57.995>of <00:22:58.195>beer

521
00:23:01.275 --> 00:23:04.245
<00:23:01.275>goes <00:23:01.508>well <00:23:01.741>with <00:23:01.975>let's <00:23:02.208>say <00:23:02.441>smoked <00:23:02.675>beef?

522
00:23:06.095 --> 00:23:08.395
<00:23:06.095>And <00:23:06.270>I <00:23:06.445>asked <00:23:06.620>that <00:23:06.795>you <00:23:06.970>see <00:23:07.145>that <00:23:07.320>the <00:23:07.495>response

523
00:23:09.105 --> 00:23:10.395
<00:23:09.105>came <00:23:09.492>back <00:23:09.879>much <00:23:10.266>faster.

524
00:23:10.665 --> 00:23:11.795
<00:23:10.665>It's <00:23:11.004>the <00:23:11.343>same <00:23:11.682>response

525
00:23:11.945 --> 00:23:14.995
<00:23:11.945>because <00:23:12.100>it <00:23:12.256>was <00:23:12.411>cached <00:23:12.567>inside <00:23:12.722>of <00:23:12.878>Redis <00:23:13.033>using <00:23:13.189>semantic <00:23:13.345>caching

526
00:23:15.495 --> 00:23:19.155
<00:23:15.495>and <00:23:15.635>that <00:23:15.774>took <00:23:15.915>only <00:23:16.054>25 <00:23:16.195>milliseconds <00:23:16.334>to <00:23:16.475>run <00:23:16.614>through <00:23:16.754>the <00:23:16.895>cache.

527
00:23:20.155 --> 00:23:22.015
<00:23:20.155>So <00:23:20.504>it <00:23:20.855>was <00:23:21.205>super <00:23:21.555>fast.

528
00:23:22.035 --> 00:23:24.295
<00:23:22.035>And <00:23:22.268>you <00:23:22.501>can <00:23:22.735>also <00:23:22.968>see <00:23:23.201>the <00:23:23.435>cached

529
00:23:25.185 --> 00:23:27.365
<00:23:25.185>prompt <00:23:25.651>here <00:23:26.118>in <00:23:26.585>Redis.

530
00:23:27.545 --> 00:23:29.845
<00:23:27.545>So <00:23:27.700>lemme <00:23:27.856>scan <00:23:28.011>more <00:23:28.167>'cause <00:23:28.322>we <00:23:28.478>have <00:23:28.633>more <00:23:28.789>than <00:23:28.945>20,000

531
00:23:29.845 --> 00:23:30.925
<00:23:29.845>here <00:23:30.331>semantic <00:23:30.817>caching.

532
00:23:31.385 --> 00:23:33.845
<00:23:31.385>So <00:23:31.512>we <00:23:31.639>have, <00:23:31.766>for <00:23:31.894>example, <00:23:32.021>this <00:23:32.148>is <00:23:32.275>some <00:23:32.403>tests <00:23:32.530>that <00:23:32.657>I <00:23:32.785>did,

533
00:23:34.835 --> 00:23:36.845
<00:23:34.835>okay, <00:23:34.975>so <00:23:35.115>this <00:23:35.255>is <00:23:35.395>the <00:23:35.535>one <00:23:35.675>that <00:23:35.815>we <00:23:35.955>did <00:23:36.095>right <00:23:36.235>now.

534
00:23:36.845 --> 00:23:38.685
<00:23:36.845>What <00:23:37.020>kind <00:23:37.195>of <00:23:37.370>beer <00:23:37.545>goes <00:23:37.720>well <00:23:37.895>with <00:23:38.070>smoked <00:23:38.245>meat?

535
00:23:38.985 --> 00:23:40.765
<00:23:38.985>Here's <00:23:39.218>the <00:23:39.451>answer. <00:23:39.685>And <00:23:39.918>here's <00:23:40.151>the <00:23:40.385>vector

536
00:23:41.195 --> 00:23:43.965
<00:23:41.195>that <00:23:41.475>represents <00:23:41.754>this <00:23:42.034>text <00:23:42.314>right <00:23:42.595>here.

537
00:23:44.105 --> 00:23:47.205
<00:23:44.105>All <00:23:44.338>of <00:23:44.571>this <00:23:44.805>numbers <00:23:45.038>right <00:23:45.271>there. <00:23:45.505>Can

538
00:23:47.205 --> 00:23:48.325
<00:23:47.205>You <00:23:47.406>bump <00:23:47.608>up <00:23:47.809>the <00:23:48.011>font <00:23:48.213>size

539
00:23:48.325 --> 00:23:50.925
<00:23:48.325>of <00:23:48.480>the <00:23:48.636>Redis <00:23:48.791>interface <00:23:48.947>a <00:23:49.102>bit? <00:23:49.258>It's <00:23:49.413>really <00:23:49.569>hard <00:23:49.725>to

540
00:23:50.925 --> 00:23:51.925
<00:23:50.925>Read. <00:23:51.225>Ah, <00:23:51.524>yeah. <00:23:51.825>Oh,

541
00:23:51.925 --> 00:23:55.485
<00:23:51.925>sorry. <00:23:52.205>Okay. <00:23:52.485>Oh, <00:23:52.764>that's <00:23:53.044>too <00:23:53.325>much.

542
00:23:56.155 --> 00:23:57.525
<00:23:56.155>Alright, <00:23:56.463>is <00:23:56.771>it <00:23:57.079>better <00:23:57.388>now?

543
00:23:59.465 --> 00:24:01.375
<00:23:59.465>Yes. <00:24:00.865>Nice.

544
00:24:02.115 --> 00:24:05.175
<00:24:02.115>So <00:24:02.270>we <00:24:02.426>have <00:24:02.581>the, <00:24:02.737>the <00:24:02.892>answer, <00:24:03.048>we <00:24:03.203>have <00:24:03.359>the <00:24:03.515>embedding,

545
00:24:05.515 --> 00:24:08.775
<00:24:05.515>so <00:24:05.795>the <00:24:06.075>vector <00:24:06.355>with <00:24:06.635>384 <00:24:06.915>dimensions,

546
00:24:08.775 --> 00:24:10.535
<00:24:08.775>and <00:24:08.975>we <00:24:09.175>have <00:24:09.375>the, <00:24:09.575>the <00:24:09.775>content <00:24:09.975>that <00:24:10.175>is,

547
00:24:10.535 --> 00:24:13.095
<00:24:10.535>that <00:24:10.735>was <00:24:10.935>vectorized <00:24:11.135>here <00:24:11.335>in <00:24:11.535>the <00:24:11.735>semantic <00:24:11.935>caching.

548
00:24:13.095 --> 00:24:16.095
<00:24:13.095>And <00:24:13.235>you <00:24:13.375>also <00:24:13.515>have <00:24:13.655>the <00:24:13.795>knowledge <00:24:13.935>base <00:24:14.075>where <00:24:14.215>we <00:24:14.355>have <00:24:14.495>all

549
00:24:16.095 --> 00:24:20.425
<00:24:16.095>of <00:24:16.270>the <00:24:16.445>beers, <00:24:16.620>22,000, <00:24:16.795>uh, <00:24:16.970>types <00:24:17.145>of <00:24:17.320>beers, <00:24:17.495>um,

550
00:24:20.845 --> 00:24:23.025
<00:24:20.845>stored <00:24:21.020>in <00:24:21.195>Redis <00:24:21.370>as <00:24:21.545>part <00:24:21.720>of <00:24:21.895>the <00:24:22.070>knowledge <00:24:22.245>base.

551
00:24:24.375 --> 00:24:27.955
<00:24:24.375>So <00:24:24.575>this <00:24:24.775>is <00:24:24.975>semantic <00:24:25.175>caching <00:24:25.375>in <00:24:25.575>a <00:24:25.775>nutshell.

552
00:24:28.225 --> 00:24:32.155
<00:24:28.225>This <00:24:28.425>is <00:24:28.625>also <00:24:28.824>available <00:24:29.024>for, <00:24:29.225>um, <00:24:29.425>for <00:24:29.625>anybody

553
00:24:32.155 --> 00:24:33.315
<00:24:32.155>that <00:24:32.363>wants <00:24:32.572>to <00:24:32.781>try <00:24:32.990>it <00:24:33.199>out.

554
00:24:33.315 --> 00:24:34.475
<00:24:33.315>We <00:24:33.663>have <00:24:34.011>another <00:24:34.359>repository

555
00:24:34.475 --> 00:24:36.635
<00:24:34.475>that <00:24:34.675>is <00:24:34.875>the <00:24:35.074>Redis <00:24:35.274>Spring <00:24:35.475>Boot <00:24:35.675>Resources <00:24:35.875>repository

556
00:24:36.905 --> 00:24:39.835
<00:24:36.905>with <00:24:37.060>a <00:24:37.216>lot <00:24:37.371>of <00:24:37.527>recipes <00:24:37.682>there <00:24:37.838>feel <00:24:37.993>related <00:24:38.149>to <00:24:38.305>ai.

557
00:24:40.015 --> 00:24:43.635
<00:24:40.015>So <00:24:40.131>if <00:24:40.248>you <00:24:40.365>want <00:24:40.481>to <00:24:40.598>try <00:24:40.715>it <00:24:40.831>out, <00:24:40.948>feel <00:24:41.065>free <00:24:41.181>to <00:24:41.298>do <00:24:41.415>it.

558
00:24:45.055 --> 00:24:47.595
<00:24:45.055>Um, <00:24:45.210>and <00:24:45.366>now <00:24:45.521>that <00:24:45.677>we <00:24:45.832>have <00:24:45.988>talked <00:24:46.143>about <00:24:46.299>these <00:24:46.455>three

559
00:24:47.875 --> 00:24:49.835
<00:24:47.875>challenges, <00:24:48.075>I <00:24:48.275>want <00:24:48.475>to <00:24:48.675>talk <00:24:48.875>about <00:24:49.075>something <00:24:49.275>else

560
00:24:49.835 --> 00:24:51.595
<00:24:49.835>that <00:24:50.301>is <00:24:50.768>optimizing <00:24:51.235>accuracy.

561
00:24:51.595 --> 00:24:56.145
<00:24:51.595>Because <00:24:51.770>you <00:24:51.945>can <00:24:52.120>imagine <00:24:52.295>that <00:24:52.470>depending <00:24:52.645>on <00:24:52.820>the <00:24:52.995>number

562
00:24:56.145 --> 00:24:57.145
<00:24:56.145>of <00:24:56.370>references <00:24:56.595>that <00:24:56.820>you <00:24:57.045>have

563
00:24:57.165 --> 00:24:59.105
<00:24:57.165>or <00:24:57.340>the <00:24:57.514>quality <00:24:57.690>of <00:24:57.865>references <00:24:58.040>that <00:24:58.215>you <00:24:58.389>have <00:24:58.565>inside

564
00:24:59.105 --> 00:25:02.345
<00:24:59.105>of <00:24:59.305>your <00:24:59.505>database, <00:24:59.705>the <00:24:59.905>accuracy <00:25:00.105>when <00:25:00.305>you're <00:25:00.505>trying

565
00:25:02.345 --> 00:25:04.225
<00:25:02.345>to <00:25:02.545>match <00:25:02.745>them <00:25:02.945>may <00:25:03.145>not <00:25:03.345>be <00:25:03.545>good <00:25:03.745>enough.

566
00:25:04.885 --> 00:25:08.305
<00:25:04.885>And <00:25:05.040>because <00:25:05.196>of <00:25:05.351>that, <00:25:05.507>our <00:25:05.662>applied <00:25:05.818>AI <00:25:05.973>engineering <00:25:06.129>team <00:25:06.285>has

567
00:25:08.305 --> 00:25:10.705
<00:25:08.305>been <00:25:08.585>researching <00:25:08.865>ways <00:25:09.145>of <00:25:09.425>optimizing <00:25:09.705>that.

568
00:25:10.765 --> 00:25:12.025
<00:25:10.765>And <00:25:10.927>one <00:25:11.089>of <00:25:11.251>the <00:25:11.413>things <00:25:11.575>they <00:25:11.737>came <00:25:11.899>up

569
00:25:12.025 --> 00:25:14.105
<00:25:12.025>with <00:25:12.258>is <00:25:12.491>the <00:25:12.725>Redis <00:25:12.958>Retrieval <00:25:13.191>optimizer <00:25:13.425>library.

570
00:25:14.535 --> 00:25:18.905
<00:25:14.535>It's <00:25:14.662>also <00:25:14.789>for <00:25:14.916>Python <00:25:15.044>and <00:25:15.171>it <00:25:15.298>has <00:25:15.425>a <00:25:15.553>couple <00:25:15.680>of <00:25:15.807>features <00:25:15.935>here.

571
00:25:19.005 --> 00:25:22.145
<00:25:19.005>But <00:25:19.205>basically <00:25:19.405>the <00:25:19.605>idea <00:25:19.805>of <00:25:20.005>this <00:25:20.205>optimizer <00:25:20.405>is

572
00:25:22.145 --> 00:25:24.625
<00:25:22.145>to <00:25:22.320>take <00:25:22.495>you <00:25:22.670>from <00:25:22.845>my <00:25:23.020>search <00:25:23.195>seems <00:25:23.370>okay <00:25:23.545>to,

573
00:25:24.825 --> 00:25:26.665
<00:25:24.825>I <00:25:25.058>can <00:25:25.291>prove <00:25:25.525>this <00:25:25.758>configuration <00:25:25.991>is <00:25:26.225>optimal.

574
00:25:26.665 --> 00:25:30.625
<00:25:26.665>Because <00:25:26.820>when <00:25:26.976>you're <00:25:27.131>doing <00:25:27.287>vector <00:25:27.442>search, <00:25:27.598>it's <00:25:27.753>kind <00:25:27.909>of <00:25:28.065>tricky

575
00:25:30.725 --> 00:25:33.305
<00:25:30.725>to <00:25:30.880>understand <00:25:31.036>if <00:25:31.191>the <00:25:31.347>embedding <00:25:31.502>model <00:25:31.658>we're <00:25:31.813>using <00:25:31.969>is <00:25:32.125>actually

576
00:25:33.305 --> 00:25:34.505
<00:25:33.305>the <00:25:33.485>best <00:25:33.665>one <00:25:33.845>you <00:25:34.025>could <00:25:34.205>be <00:25:34.385>using

577
00:25:35.045 --> 00:25:36.705
<00:25:35.045>or <00:25:35.511>if <00:25:35.978>the <00:25:36.445>results

578
00:25:36.705 --> 00:25:39.585
<00:25:36.705>that <00:25:36.879>are <00:25:37.054>being <00:25:37.230>retrieved <00:25:37.405>are <00:25:37.580>the <00:25:37.754>most <00:25:37.929>accurate <00:25:38.105>ones.

579
00:25:39.725 --> 00:25:42.585
<00:25:39.725>So <00:25:39.925>this <00:25:40.125>library <00:25:40.324>is, <00:25:40.524>uh, <00:25:40.725>the, <00:25:40.925>the <00:25:41.125>goal

580
00:25:42.585 --> 00:25:44.025
<00:25:42.585>of <00:25:42.729>this <00:25:42.873>library <00:25:43.017>is <00:25:43.161>actually <00:25:43.305>to <00:25:43.449>help <00:25:43.593>you <00:25:43.737>with <00:25:43.881>that.

581
00:25:44.025 --> 00:25:46.385
<00:25:44.025>So <00:25:44.180>you <00:25:44.336>can <00:25:44.491>see <00:25:44.647>that <00:25:44.802>the <00:25:44.958>first <00:25:45.113>feature <00:25:45.269>here <00:25:45.425>is

582
00:25:46.385 --> 00:25:48.825
<00:25:46.385>to <00:25:46.585>help <00:25:46.785>you <00:25:46.985>systematically <00:25:47.185>test <00:25:47.385>different <00:25:47.585>embedding <00:25:47.785>models

583
00:25:48.845 --> 00:25:50.065
<00:25:48.845>and <00:25:49.394>retriever <00:25:49.943>strategies.

584
00:25:50.325 --> 00:25:52.345
<00:25:50.325>So <00:25:50.500>basically <00:25:50.675>what <00:25:50.850>embedding <00:25:51.025>models <00:25:51.200>should <00:25:51.375>I <00:25:51.550>be <00:25:51.725>using

585
00:25:52.685 --> 00:25:55.305
<00:25:52.685>for <00:25:52.860>my <00:25:53.034>vector <00:25:53.210>search, <00:25:53.385>for <00:25:53.560>my <00:25:53.735>rag, <00:25:53.909>for <00:25:54.085>example.

586
00:25:55.685 --> 00:25:58.145
<00:25:55.685>But <00:25:55.825>the <00:25:55.965>one <00:25:56.105>that <00:25:56.245>I <00:25:56.385>wanna <00:25:56.524>focus <00:25:56.665>on <00:25:56.804>is <00:25:56.945>the <00:25:57.085>threshold

587
00:25:58.145 --> 00:26:00.145
<00:25:58.145>optimization <00:25:58.495>here <00:25:58.845>that <00:25:59.195>allows <00:25:59.545>you

588
00:26:00.145 --> 00:26:02.225
<00:26:00.145>to <00:26:00.425>automatically <00:26:00.705>tune <00:26:00.985>the <00:26:01.264>semantic <00:26:01.545>cache

589
00:26:02.225 --> 00:26:05.065
<00:26:02.225>and <00:26:02.458>router <00:26:02.691>thresholds <00:26:02.925>because <00:26:03.158>I <00:26:03.391>showed <00:26:03.625>you,

590
00:26:05.645 --> 00:26:07.625
<00:26:05.645>and <00:26:05.925>where <00:26:06.205>was <00:26:06.485>it <00:26:06.764>right <00:26:07.045>here

591
00:26:08.055 --> 00:26:09.665
<00:26:08.055>that <00:26:08.335>when <00:26:08.615>we're <00:26:08.895>defining <00:26:09.175>the <00:26:09.455>routes,

592
00:26:09.665 --> 00:26:12.145
<00:26:09.665>we <00:26:09.865>can <00:26:10.065>also <00:26:10.264>define <00:26:10.465>the <00:26:10.665>distance <00:26:10.865>threshold, <00:26:11.065>right?

593
00:26:12.365 --> 00:26:15.385
<00:26:12.365>And <00:26:12.505>the <00:26:12.645>way <00:26:12.785>we <00:26:12.925>did <00:26:13.065>it <00:26:13.205>here <00:26:13.345>was <00:26:13.485>mostly <00:26:13.625>by <00:26:13.765>ear,

594
00:26:15.885 --> 00:26:17.705
<00:26:15.885>but <00:26:16.165>by <00:26:16.445>getting <00:26:16.725>some <00:26:17.004>test <00:26:17.285>data

595
00:26:17.845 --> 00:26:20.105
<00:26:17.845>and <00:26:18.078>sending <00:26:18.311>this <00:26:18.545>data <00:26:18.778>to <00:26:19.011>the <00:26:19.245>optimizer,

596
00:26:20.445 --> 00:26:23.025
<00:26:20.445>it <00:26:20.725>can <00:26:21.004>bring <00:26:21.284>some <00:26:21.564>optimizations <00:26:21.845>there

597
00:26:23.085 --> 00:26:25.385
<00:26:23.085>and <00:26:23.285>come <00:26:23.485>up <00:26:23.685>with <00:26:23.885>the <00:26:24.085>best <00:26:24.285>distance <00:26:24.485>threshold

598
00:26:25.685 --> 00:26:26.785
<00:26:25.685>for <00:26:25.883>the <00:26:26.081>routes <00:26:26.279>that <00:26:26.477>you <00:26:26.675>have.

599
00:26:26.805 --> 00:26:28.865
<00:26:26.805>So <00:26:26.921>if <00:26:27.038>you <00:26:27.155>run <00:26:27.271>that <00:26:27.388>with <00:26:27.505>this, <00:26:27.621>it <00:26:27.738>can <00:26:27.855>come <00:26:27.971>up <00:26:28.088>with, <00:26:28.205>okay,

600
00:26:28.865 --> 00:26:31.545
<00:26:28.865>the <00:26:29.040>best <00:26:29.215>one <00:26:29.390>for <00:26:29.565>technology <00:26:29.740>should <00:26:29.915>be <00:26:30.090>zero <00:26:30.265>point

601
00:26:31.685 --> 00:26:35.065
<00:26:31.685>32 <00:26:31.965>5 <00:26:32.245>6, <00:26:32.524>something <00:26:32.804>like <00:26:33.085>that.

602
00:26:35.365 --> 00:26:39.385
<00:26:35.365>And <00:26:35.492>then <00:26:35.619>for <00:26:35.746>the <00:26:35.874>second <00:26:36.001>one <00:26:36.128>could <00:26:36.255>be <00:26:36.383>0.45 <00:26:36.510>and <00:26:36.637>so <00:26:36.765>on.

603
00:26:39.385 --> 00:26:43.025
<00:26:39.385>It's <00:26:39.540>gonna <00:26:39.696>do <00:26:39.851>that, <00:26:40.007>uh, <00:26:40.162>work <00:26:40.318>for <00:26:40.473>you <00:26:40.629>so <00:26:40.785>that,

604
00:26:43.045 --> 00:26:45.325
<00:26:43.045>that <00:26:43.200>you <00:26:43.356>don't <00:26:43.511>have <00:26:43.667>to <00:26:43.822>worry <00:26:43.978>about <00:26:44.133>optimizing <00:26:44.289>it <00:26:44.445>yourself.

605
00:26:45.665 --> 00:26:48.005
<00:26:45.665>But <00:26:45.805>there <00:26:45.945>are <00:26:46.085>other <00:26:46.225>strategies <00:26:46.365>that <00:26:46.504>you <00:26:46.645>can <00:26:46.784>apply <00:26:46.925>as <00:26:47.065>well.

606
00:26:48.005 --> 00:26:50.045
<00:26:48.005>So <00:26:48.238>if <00:26:48.471>we're <00:26:48.705>talking <00:26:48.938>about <00:26:49.171>semantic <00:26:49.405>classification,

607
00:26:50.065 --> 00:26:51.605
<00:26:50.065>for <00:26:50.342>example, <00:26:50.619>one <00:26:50.896>of <00:26:51.173>the <00:26:51.451>things

608
00:26:51.605 --> 00:26:53.765
<00:26:51.605>that <00:26:51.885>you <00:26:52.165>can <00:26:52.445>do <00:26:52.725>is <00:26:53.005>self-improvement.

609
00:26:53.905 --> 00:26:56.725
<00:26:53.905>So <00:26:54.105>every <00:26:54.305>time <00:26:54.504>you <00:26:54.705>classify <00:26:54.905>a <00:26:55.105>text <00:26:55.305>correctly

610
00:26:56.725 --> 00:26:58.565
<00:26:56.725>and <00:26:56.880>you <00:26:57.036>say, <00:26:57.191>okay, <00:26:57.347>this <00:26:57.502>is <00:26:57.658>about <00:26:57.813>Redis, <00:26:57.969>for <00:26:58.125>example,

611
00:26:58.565 --> 00:27:01.325
<00:26:58.565>which <00:26:58.798>is <00:26:59.031>what <00:26:59.265>our <00:26:59.498>classification <00:26:59.731>was <00:26:59.965>about,

612
00:27:01.745 --> 00:27:04.885
<00:27:01.745>we <00:27:01.885>can <00:27:02.024>add <00:27:02.165>this <00:27:02.304>new <00:27:02.445>post <00:27:02.584>back <00:27:02.725>to <00:27:02.864>the <00:27:03.004>vector <00:27:03.145>database

613
00:27:05.465 --> 00:27:07.845
<00:27:05.465>as <00:27:05.665>a <00:27:05.865>new <00:27:06.064>reference <00:27:06.264>to <00:27:06.465>our <00:27:06.665>semantic <00:27:06.865>router.

614
00:27:08.105 --> 00:27:11.405
<00:27:08.105>And <00:27:08.260>within <00:27:08.416>time <00:27:08.571>our <00:27:08.727>semantic <00:27:08.882>router <00:27:09.038>is <00:27:09.193>gonna <00:27:09.349>get <00:27:09.505>better

615
00:27:11.405 --> 00:27:13.045
<00:27:11.405>because <00:27:11.685>you're <00:27:11.965>gonna <00:27:12.245>get <00:27:12.524>more <00:27:12.805>references

616
00:27:13.185 --> 00:27:16.085
<00:27:13.185>and <00:27:13.465>actually <00:27:13.745>references <00:27:14.024>that <00:27:14.304>are, <00:27:14.585>uh,

617
00:27:16.385 --> 00:27:19.645
<00:27:16.385>not <00:27:16.560>synthetically <00:27:16.735>generated, <00:27:16.910>but <00:27:17.085>that <00:27:17.260>came <00:27:17.435>from <00:27:17.610>real <00:27:17.785>data.

618
00:27:19.905 --> 00:27:22.725
<00:27:19.905>So <00:27:20.105>within <00:27:20.305>time <00:27:20.504>the <00:27:20.705>accuracy <00:27:20.905>is <00:27:21.105>gonna <00:27:21.305>increase,

619
00:27:23.305 --> 00:27:25.725
<00:27:23.305>but <00:27:23.480>if <00:27:23.655>the <00:27:23.830>accuracy <00:27:24.005>is <00:27:24.180>still <00:27:24.355>not <00:27:24.530>good <00:27:24.705>enough,

620
00:27:25.755 --> 00:27:28.205
<00:27:25.755>another <00:27:25.930>approach <00:27:26.105>you <00:27:26.280>can <00:27:26.455>take <00:27:26.630>is <00:27:26.805>a <00:27:26.980>hybrid <00:27:27.155>approach

621
00:27:28.615 --> 00:27:31.885
<00:27:28.615>where <00:27:28.770>basically <00:27:28.926>if <00:27:29.081>something <00:27:29.237>is <00:27:29.392>similar <00:27:29.548>enough, <00:27:29.703>we <00:27:29.859>can <00:27:30.015>say,

622
00:27:31.885 --> 00:27:34.325
<00:27:31.885>okay, <00:27:32.025>this <00:27:32.165>is <00:27:32.305>positive, <00:27:32.445>we <00:27:32.585>know <00:27:32.725>that <00:27:32.865>this <00:27:33.004>is <00:27:33.145>about <00:27:33.285>Redis,

623
00:27:34.325 --> 00:27:35.605
<00:27:34.325>we're <00:27:34.489>gonna <00:27:34.654>move <00:27:34.818>on, <00:27:34.983>move <00:27:35.147>on <00:27:35.312>with <00:27:35.477>that.

624
00:27:36.265 --> 00:27:38.125
<00:27:36.265>But <00:27:36.545>if <00:27:36.825>it's <00:27:37.105>not <00:27:37.385>similar <00:27:37.665>enough

625
00:27:38.265 --> 00:27:41.085
<00:27:38.265>and <00:27:38.420>we <00:27:38.576>say <00:27:38.731>that <00:27:38.887>it's <00:27:39.042>a <00:27:39.198>negative, <00:27:39.353>we <00:27:39.509>can <00:27:39.665>assume

626
00:27:41.085 --> 00:27:43.325
<00:27:41.085>that <00:27:41.285>it <00:27:41.485>may <00:27:41.685>have <00:27:41.885>been <00:27:42.085>a <00:27:42.285>false <00:27:42.485>negative.

627
00:27:43.625 --> 00:27:46.725
<00:27:43.625>And <00:27:43.780>in <00:27:43.936>this <00:27:44.091>case <00:27:44.247>we <00:27:44.402>fall <00:27:44.558>back <00:27:44.713>to <00:27:44.869>the <00:27:45.025>LLM

628
00:27:46.725 --> 00:27:48.685
<00:27:46.725>and <00:27:46.958>do <00:27:47.191>the <00:27:47.425>classification <00:27:47.658>with <00:27:47.891>the <00:27:48.125>LLM

629
00:27:48.685 --> 00:27:51.405
<00:27:48.685>and <00:27:48.840>check <00:27:48.996>the <00:27:49.151>LLM <00:27:49.307>if <00:27:49.462>it's <00:27:49.618>similar <00:27:49.773>enough <00:27:49.929>or <00:27:50.085>not.

630
00:27:52.245 --> 00:27:54.565
<00:27:52.245>Remembering <00:27:52.400>that <00:27:52.556>even <00:27:52.711>the <00:27:52.867>LLM <00:27:53.022>is <00:27:53.178>not <00:27:53.333>gonna <00:27:53.489>be <00:27:53.645>a

631
00:27:54.565 --> 00:27:55.645
<00:27:54.565>hundred <00:27:55.051>percent <00:27:55.537>accurate.

632
00:27:55.745 --> 00:27:58.205
<00:27:55.745>Not <00:27:55.885>even <00:27:56.024>humans <00:27:56.165>are <00:27:56.304>gonna <00:27:56.445>be <00:27:56.584>a <00:27:56.725>hundred <00:27:56.864>percent <00:27:57.004>accurate <00:27:57.145>when

633
00:27:58.205 --> 00:28:01.205
<00:27:58.205>doing <00:27:58.554>classification, <00:27:58.905>especially <00:27:59.254>at <00:27:59.605>scale.

634
00:28:01.795 --> 00:28:05.365
<00:28:01.795>Alright? <00:28:01.922>And <00:28:02.049>the <00:28:02.176>best <00:28:02.304>of <00:28:02.431>both <00:28:02.558>words <00:28:02.685>here <00:28:02.813>would <00:28:02.940>be <00:28:03.067>the <00:28:03.195>uh,

635
00:28:05.485 --> 00:28:08.245
<00:28:05.485>semantic, <00:28:05.718>uh, <00:28:05.951>classification <00:28:06.185>with <00:28:06.418>the <00:28:06.651>hybrid <00:28:06.885>approach,

636
00:28:08.305 --> 00:28:10.245
<00:28:08.305>but <00:28:08.655>also <00:28:09.005>with <00:28:09.355>the <00:28:09.705>self-improvement.

637
00:28:10.245 --> 00:28:11.685
<00:28:10.245>So <00:28:10.504>falling <00:28:10.763>back <00:28:11.022>to <00:28:11.281>the <00:28:11.541>LLM

638
00:28:11.785 --> 00:28:16.605
<00:28:11.785>and <00:28:11.912>also <00:28:12.039>adding <00:28:12.166>the <00:28:12.294>posts <00:28:12.421>as <00:28:12.548>new <00:28:12.675>references <00:28:12.803>to <00:28:12.930>the <00:28:13.057>route <00:28:13.185>so

639
00:28:16.605 --> 00:28:20.245
<00:28:16.605>that <00:28:16.745>it <00:28:16.885>improves <00:28:17.025>over <00:28:17.165>time <00:28:17.305>and <00:28:17.445>within <00:28:17.585>time <00:28:17.725>we <00:28:17.865>rely <00:28:18.005>less

640
00:28:20.385 --> 00:28:22.965
<00:28:20.385>and <00:28:20.618>less <00:28:20.851>on <00:28:21.085>the <00:28:21.318>LLM <00:28:21.551>saving <00:28:21.785>costs

641
00:28:23.065 --> 00:28:25.005
<00:28:23.065>and <00:28:23.345>money, <00:28:23.625>uh, <00:28:23.905>along <00:28:24.185>the <00:28:24.465>way.

642
00:28:25.945 --> 00:28:29.445
<00:28:25.945>So <00:28:26.145>this <00:28:26.345>is <00:28:26.544>the <00:28:26.745>self-improvement, <00:28:26.945>the <00:28:27.145>hybrid <00:28:27.345>approach.

643
00:28:29.545 --> 00:28:31.325
<00:28:29.545>So <00:28:29.745>those <00:28:29.945>are <00:28:30.145>ways <00:28:30.345>of <00:28:30.545>improving <00:28:30.745>the <00:28:30.945>accuracy

644
00:28:31.325 --> 00:28:33.085
<00:28:31.325>for <00:28:32.025>semantic <00:28:32.725>classification.

645
00:28:33.505 --> 00:28:36.125
<00:28:33.505>But <00:28:33.680>what <00:28:33.855>about <00:28:34.030>two <00:28:34.205>calling? <00:28:34.380>Alright, <00:28:34.555>so <00:28:34.730>two <00:28:34.905>calling.

646
00:28:36.825 --> 00:28:39.925
<00:28:36.825>One <00:28:36.980>thing <00:28:37.136>that <00:28:37.291>I <00:28:37.447>tested, <00:28:37.602>uh, <00:28:37.758>especially <00:28:37.913>back <00:28:38.069>in <00:28:38.225>May

647
00:28:39.925 --> 00:28:42.285
<00:28:39.925>during <00:28:40.205>Lin <00:28:40.485>cough <00:28:40.764>was <00:28:41.044>actually <00:28:41.325>how

648
00:28:42.855 --> 00:28:44.525
<00:28:42.855>could <00:28:43.205>I <00:28:43.555>improve <00:28:43.905>the <00:28:44.255>accuracy

649
00:28:45.075 --> 00:28:49.445
<00:28:45.075>when <00:28:45.215>the <00:28:45.355>users <00:28:45.495>may <00:28:45.635>send <00:28:45.775>prompts <00:28:45.915>that <00:28:46.055>give <00:28:46.195>us <00:28:46.335>a <00:28:46.475>lot

650
00:28:49.445 --> 00:28:51.805
<00:28:49.445>of <00:28:49.600>information, <00:28:49.756>most <00:28:49.911>of <00:28:50.067>this <00:28:50.222>information <00:28:50.378>may <00:28:50.533>not <00:28:50.689>be <00:28:50.845>related

651
00:28:51.805 --> 00:28:53.325
<00:28:51.805>to <00:28:52.000>the <00:28:52.195>tool <00:28:52.391>that <00:28:52.586>they're <00:28:52.782>trying <00:28:52.977>to <00:28:53.173>call.

652
00:28:53.705 --> 00:28:56.325
<00:28:53.705>So <00:28:53.832>in <00:28:53.959>this <00:28:54.086>case, <00:28:54.214>for <00:28:54.341>example, <00:28:54.468>a <00:28:54.595>user <00:28:54.723>could <00:28:54.850>be, <00:28:54.977>let's <00:28:55.105>say,

653
00:28:56.325 --> 00:28:59.045
<00:28:56.325>talking <00:28:56.452>to <00:28:56.579>Alexa <00:28:56.706>and <00:28:56.834>saying, <00:28:56.961>Hey, <00:28:57.088>I <00:28:57.215>had <00:28:57.343>a <00:28:57.470>bad <00:28:57.597>day <00:28:57.725>yesterday.

654
00:28:59.105 --> 00:29:01.525
<00:28:59.105>The <00:28:59.232>weather <00:28:59.359>was <00:28:59.486>terrible <00:28:59.614>and <00:28:59.741>I <00:28:59.868>crashed <00:28:59.995>my <00:29:00.123>bike <00:29:00.250>onto <00:29:00.377>a <00:29:00.505>tree

655
00:29:01.865 --> 00:29:03.645
<00:29:01.865>anyway, <00:29:02.145>we <00:29:02.425>would <00:29:02.705>also <00:29:02.985>rain <00:29:03.265>today

656
00:29:04.065 --> 00:29:08.165
<00:29:04.065>and <00:29:04.192>with <00:29:04.319>all <00:29:04.446>of <00:29:04.574>these <00:29:04.701>texts, <00:29:04.828>even <00:29:04.955>if <00:29:05.083>we, <00:29:05.210>uh, <00:29:05.337>vectorize <00:29:05.465>it

657
00:29:08.165 --> 00:29:11.445
<00:29:08.165>and <00:29:08.305>then <00:29:08.445>run <00:29:08.585>a <00:29:08.725>similarity <00:29:08.865>search, <00:29:09.004>it <00:29:09.145>may <00:29:09.284>not <00:29:09.425>be <00:29:09.565>related

658
00:29:11.445 --> 00:29:15.045
<00:29:11.445>to <00:29:11.585>anything <00:29:11.725>that <00:29:11.865>we <00:29:12.004>have <00:29:12.145>inside <00:29:12.284>of, <00:29:12.425>uh, <00:29:12.564>of <00:29:12.705>our <00:29:12.845>database

659
00:29:15.045 --> 00:29:16.765
<00:29:15.045>as <00:29:15.395>references <00:29:15.745>because <00:29:16.095>it's <00:29:16.445>kind

660
00:29:16.765 --> 00:29:18.805
<00:29:16.765>of <00:29:16.940>random <00:29:17.115>at <00:29:17.290>the <00:29:17.465>end <00:29:17.640>of <00:29:17.815>the <00:29:17.990>day, <00:29:18.165>right?

661
00:29:18.905 --> 00:29:22.045
<00:29:18.905>So <00:29:19.105>it <00:29:19.305>can <00:29:19.504>even <00:29:19.705>match <00:29:19.905>something <00:29:20.105>completely <00:29:20.305>different

662
00:29:22.045 --> 00:29:24.245
<00:29:22.045>because <00:29:22.278>when <00:29:22.511>you're <00:29:22.745>running, <00:29:22.978>uh, <00:29:23.211>similarity <00:29:23.445>search

663
00:29:24.245 --> 00:29:26.725
<00:29:24.245>or <00:29:24.400>vector <00:29:24.556>search, <00:29:24.711>it <00:29:24.867>is <00:29:25.022>always <00:29:25.178>gonna <00:29:25.333>return <00:29:25.489>you <00:29:25.645>some

664
00:29:27.805 --> 00:29:31.125
<00:29:27.805>response <00:29:27.980>or <00:29:28.155>some <00:29:28.330>uh, <00:29:28.505>vector <00:29:28.680>back <00:29:28.855>from <00:29:29.030>the <00:29:29.205>database.

665
00:29:31.125 --> 00:29:33.645
<00:29:31.125>And <00:29:31.252>in <00:29:31.379>this <00:29:31.506>case <00:29:31.634>you <00:29:31.761>can <00:29:31.888>see <00:29:32.015>that <00:29:32.143>similarity <00:29:32.270>score <00:29:32.397>was <00:29:32.525>too

666
00:29:33.645 --> 00:29:35.365
<00:29:33.645>high, <00:29:33.925>meaning <00:29:34.205>that <00:29:34.485>it's <00:29:34.764>very <00:29:35.045>different

667
00:29:35.365 --> 00:29:37.685
<00:29:35.365>and <00:29:35.540>that <00:29:35.715>it's <00:29:35.890>actually <00:29:36.065>called <00:29:36.240>the <00:29:36.415>round <00:29:36.590>two <00:29:36.765>here,

668
00:29:37.685 --> 00:29:39.645
<00:29:37.685>which <00:29:37.825>is <00:29:37.965>the <00:29:38.105>greeting <00:29:38.245>in <00:29:38.385>help <00:29:38.524>when <00:29:38.665>it <00:29:38.804>should <00:29:38.945>have <00:29:39.085>called

669
00:29:39.985 --> 00:29:41.005
<00:29:39.985>the <00:29:40.444>weather <00:29:40.903>tool.

670
00:29:41.505 --> 00:29:43.125
<00:29:41.505>So <00:29:41.785>way <00:29:42.065>of <00:29:42.345>improving <00:29:42.625>the <00:29:42.905>accuracy

671
00:29:43.955 --> 00:29:47.885
<00:29:43.955>that <00:29:44.129>I <00:29:44.304>have <00:29:44.480>researched <00:29:44.655>already <00:29:44.830>is <00:29:45.004>by <00:29:45.179>actually <00:29:45.355>chunking

672
00:29:48.555 --> 00:29:51.405
<00:29:48.555>this <00:29:48.905>prompt <00:29:49.255>into <00:29:49.605>separate <00:29:49.955>clauses.

673
00:29:51.405 --> 00:29:52.765
<00:29:51.405>So <00:29:51.711>by <00:29:52.017>punctuation <00:29:52.323>for <00:29:52.629>example.

674
00:29:53.265 --> 00:29:55.805
<00:29:53.265>So <00:29:53.440>we <00:29:53.615>get <00:29:53.790>and <00:29:53.965>we <00:29:54.140>chunk <00:29:54.315>that <00:29:54.490>into, <00:29:54.665>hey,

675
00:29:56.045 --> 00:29:57.845
<00:29:56.045>I <00:29:56.200>had <00:29:56.356>a <00:29:56.511>bad <00:29:56.667>day <00:29:56.822>yesterday, <00:29:56.978>the <00:29:57.133>weather <00:29:57.289>was <00:29:57.445>terrible,

676
00:29:57.905 --> 00:29:59.085
<00:29:57.905>and <00:29:58.056>I <00:29:58.208>crash <00:29:58.360>my <00:29:58.511>back <00:29:58.663>into <00:29:58.815>a <00:29:58.967>tree.

677
00:29:59.465 --> 00:30:01.165
<00:29:59.465>All <00:29:59.745>of <00:30:00.024>those <00:30:00.304>as <00:30:00.584>separate <00:30:00.865>text.

678
00:30:01.265 --> 00:30:04.125
<00:30:01.265>And <00:30:01.465>then <00:30:01.665>we <00:30:01.865>vectorize <00:30:02.065>each <00:30:02.265>of <00:30:02.465>them <00:30:02.665>separately

679
00:30:04.145 --> 00:30:05.605
<00:30:04.145>and <00:30:04.407>we <00:30:04.670>run <00:30:04.933>them <00:30:05.196>in <00:30:05.459>uh,

680
00:30:05.605 --> 00:30:07.485
<00:30:05.605>through <00:30:05.955>the <00:30:06.305>vector <00:30:06.655>database <00:30:07.005>separately.

681
00:30:08.065 --> 00:30:09.085
<00:30:08.065>And <00:30:08.983>eventually,

682
00:30:09.465 --> 00:30:11.165
<00:30:09.465>and <00:30:09.639>this <00:30:09.814>is <00:30:09.990>wrong, <00:30:10.165>they <00:30:10.340>should <00:30:10.514>have <00:30:10.689>called <00:30:10.865>the

683
00:30:11.235 --> 00:30:12.605
<00:30:11.235>weather <00:30:11.851>tool <00:30:12.468>here.

684
00:30:13.185 --> 00:30:14.845
<00:30:13.185>Uh, <00:30:13.465>one <00:30:13.745>of <00:30:14.024>them, <00:30:14.304>for <00:30:14.585>example,

685
00:30:14.905 --> 00:30:16.925
<00:30:14.905>the <00:30:15.105>last <00:30:15.305>one <00:30:15.504>will <00:30:15.705>would <00:30:15.905>also <00:30:16.105>rain <00:30:16.305>today.

686
00:30:18.225 --> 00:30:20.445
<00:30:18.225>Uh, <00:30:18.380>there <00:30:18.536>should <00:30:18.691>have <00:30:18.847>been <00:30:19.002>two <00:30:19.158>clauses <00:30:19.313>as <00:30:19.469>well <00:30:19.625>anyway,

687
00:30:20.445 --> 00:30:21.565
<00:30:20.445>and <00:30:20.646>will <00:30:20.848>it <00:30:21.049>also <00:30:21.251>rain <00:30:21.453>today?

688
00:30:21.855 --> 00:30:24.125
<00:30:21.855>Maybe <00:30:22.055>very <00:30:22.255>similar <00:30:22.455>to <00:30:22.655>will <00:30:22.855>it <00:30:23.055>rain <00:30:23.255>today?

689
00:30:24.315 --> 00:30:25.485
<00:30:24.315>That <00:30:24.525>is <00:30:24.736>one <00:30:24.946>of <00:30:25.157>the <00:30:25.368>references.

690
00:30:25.625 --> 00:30:28.565
<00:30:25.625>And <00:30:25.780>then <00:30:25.936>we <00:30:26.091>can <00:30:26.247>trigger <00:30:26.402>the <00:30:26.558>right <00:30:26.713>two <00:30:26.869>more <00:30:27.025>accurately

691
00:30:28.865 --> 00:30:32.685
<00:30:28.865>by <00:30:29.005>chunking <00:30:29.145>the <00:30:29.285>prompt <00:30:29.425>into <00:30:29.565>se <00:30:29.705>a <00:30:29.845>separate <00:30:29.985>clauses <00:30:30.125>as <00:30:30.265>well.

692
00:30:33.475 --> 00:30:36.305
<00:30:33.475>So <00:30:33.708>this <00:30:33.941>is <00:30:34.175>a <00:30:34.408>way <00:30:34.641>of, <00:30:34.875>um,

693
00:30:36.575 --> 00:30:38.425
<00:30:36.575>improving <00:30:36.855>the <00:30:37.135>accuracy <00:30:37.415>of <00:30:37.695>tool <00:30:37.975>calling.

694
00:30:38.805 --> 00:30:41.345
<00:30:38.805>But <00:30:39.005>if <00:30:39.205>you <00:30:39.405>think <00:30:39.605>about <00:30:39.805>it, <00:30:40.005>another <00:30:40.205>caveat

695
00:30:41.535 --> 00:30:45.595
<00:30:41.535>that <00:30:41.675>we <00:30:41.815>have <00:30:41.955>here <00:30:42.095>is <00:30:42.235>that <00:30:42.375>if <00:30:42.515>we're <00:30:42.655>using <00:30:42.795>an <00:30:42.935>LLM,

696
00:30:45.655 --> 00:30:49.515
<00:30:45.655>we <00:30:45.810>can <00:30:45.966>actually <00:30:46.121>extract <00:30:46.277>parameters <00:30:46.432>from <00:30:46.588>the <00:30:46.743>prompt <00:30:46.899>as <00:30:47.055>well.

697
00:30:49.575 --> 00:30:52.555
<00:30:49.575>So <00:30:49.702>all <00:30:49.829>of <00:30:49.956>the <00:30:50.084>examples <00:30:50.211>that <00:30:50.338>I <00:30:50.465>gave <00:30:50.593>here <00:30:50.720>are <00:30:50.847>actually <00:30:50.975>tools

698
00:30:52.555 --> 00:30:54.555
<00:30:52.555>that <00:30:52.905>don't <00:30:53.255>require <00:30:53.605>parameters, <00:30:53.955>right?

699
00:30:54.615 --> 00:30:58.155
<00:30:54.615>So <00:30:54.742>what's <00:30:54.869>the <00:30:54.996>weather? <00:30:55.124>The, <00:30:55.251>for <00:30:55.378>the <00:30:55.505>default <00:30:55.633>city <00:30:55.760>at <00:30:55.887>the, <00:30:56.015>uh,

700
00:30:58.175 --> 00:30:59.195
<00:30:58.175>at <00:30:58.481>today, <00:30:58.787>for <00:30:59.092>example.

701
00:31:00.135 --> 00:31:03.675
<00:31:00.135>Um, <00:31:00.335>but <00:31:00.535>there's <00:31:00.735>been <00:31:00.935>a <00:31:01.135>lot <00:31:01.335>of <00:31:01.535>research.

702
00:31:05.245 --> 00:31:07.785
<00:31:05.245>Um, <00:31:05.524>this <00:31:05.804>is <00:31:06.084>not <00:31:06.364>the <00:31:06.645>one,

703
00:31:07.785 --> 00:31:10.985
<00:31:07.785>this <00:31:07.940>is <00:31:08.096>the <00:31:08.251>one <00:31:08.407>actually <00:31:08.562>there's <00:31:08.718>been <00:31:08.873>research <00:31:09.029>on <00:31:09.185>how

704
00:31:11.045 --> 00:31:13.505
<00:31:11.045>to <00:31:11.395>use <00:31:11.745>vector <00:31:12.095>databases <00:31:12.445>to

705
00:31:14.135 --> 00:31:16.585
<00:31:14.135>extract <00:31:14.415>parameters <00:31:14.695>from <00:31:14.975>text <00:31:15.254>as <00:31:15.535>well.

706
00:31:16.885 --> 00:31:19.785
<00:31:16.885>So <00:31:17.025>this <00:31:17.165>is <00:31:17.305>one <00:31:17.445>example <00:31:17.585>that <00:31:17.725>has <00:31:17.865>been <00:31:18.004>done <00:31:18.145>by, <00:31:18.285>uh,

707
00:31:19.815 --> 00:31:21.465
<00:31:19.815>some <00:31:20.281>people <00:31:20.748>at <00:31:21.215>PWC

708
00:31:21.685 --> 00:31:25.905
<00:31:21.685>but <00:31:21.825>at <00:31:21.965>red <00:31:22.105>we're <00:31:22.245>also, <00:31:22.385>uh, <00:31:22.524>making <00:31:22.665>researches <00:31:22.804>to <00:31:22.945>find <00:31:23.085>out

709
00:31:25.905 --> 00:31:27.345
<00:31:25.905>how <00:31:26.164>we <00:31:26.423>can <00:31:26.682>improve <00:31:26.941>the <00:31:27.201>accuracy

710
00:31:27.605 --> 00:31:29.985
<00:31:27.605>and <00:31:27.838>even <00:31:28.071>make <00:31:28.305>to <00:31:28.538>calling <00:31:28.771>more <00:31:29.005>effective

711
00:31:29.985 --> 00:31:31.225
<00:31:29.985>by <00:31:30.357>using <00:31:30.728>vector <00:31:31.101>databases.

712
00:31:31.335 --> 00:31:33.305
<00:31:31.335>Something <00:31:31.615>that <00:31:31.895>I'm <00:31:32.175>looking <00:31:32.455>forward <00:31:32.735>to.

713
00:31:34.645 --> 00:31:38.025
<00:31:34.645>And <00:31:34.820>finally <00:31:34.995>we're <00:31:35.170>talking <00:31:35.345>about <00:31:35.520>semantic <00:31:35.695>caching <00:31:35.870>as <00:31:36.045>well.

714
00:31:38.325 --> 00:31:39.945
<00:31:38.325>And <00:31:38.525>one <00:31:38.725>of <00:31:38.925>the <00:31:39.125>problems <00:31:39.325>we <00:31:39.525>can <00:31:39.725>have

715
00:31:39.945 --> 00:31:42.145
<00:31:39.945>with <00:31:40.145>semantic <00:31:40.345>caching <00:31:40.544>is <00:31:40.745>when <00:31:40.945>we <00:31:41.145>cache <00:31:41.345>something

716
00:31:42.145 --> 00:31:43.745
<00:31:42.145>that <00:31:42.495>shouldn't <00:31:42.845>be <00:31:43.195>cached, <00:31:43.545>right?

717
00:31:43.745 --> 00:31:45.705
<00:31:43.745>So <00:31:43.861>let's <00:31:43.978>say <00:31:44.094>that <00:31:44.211>we <00:31:44.328>have <00:31:44.445>a <00:31:44.561>chat <00:31:44.678>bot <00:31:44.794>that <00:31:44.911>is <00:31:45.028>supposed <00:31:45.145>to

718
00:31:46.255 --> 00:31:49.065
<00:31:46.255>tell <00:31:46.455>new <00:31:46.655>jokes, <00:31:46.855>uh, <00:31:47.055>just <00:31:47.255>uh, <00:31:47.455>an <00:31:47.655>example

719
00:31:49.065 --> 00:31:52.225
<00:31:49.065>that <00:31:49.181>I <00:31:49.298>thought <00:31:49.415>right <00:31:49.531>now, <00:31:49.648>and <00:31:49.765>you <00:31:49.881>ask <00:31:49.998>it <00:31:50.115>to <00:31:50.231>tell <00:31:50.348>a <00:31:50.465>joke

720
00:31:52.965 --> 00:31:54.985
<00:31:52.965>and <00:31:53.314>it <00:31:53.665>caches <00:31:54.014>the <00:31:54.365>response

721
00:31:54.985 --> 00:31:56.545
<00:31:54.985>and <00:31:55.140>then <00:31:55.296>you <00:31:55.451>ask <00:31:55.607>it <00:31:55.762>to <00:31:55.918>tell <00:31:56.073>a <00:31:56.229>new <00:31:56.385>joke

722
00:31:56.565 --> 00:31:58.465
<00:31:56.565>and <00:31:56.845>then <00:31:57.125>it <00:31:57.405>uses <00:31:57.685>the <00:31:57.965>response

723
00:31:58.465 --> 00:32:00.425
<00:31:58.465>that <00:31:58.620>is <00:31:58.776>cached <00:31:58.931>instead <00:31:59.087>of <00:31:59.242>telling <00:31:59.398>you <00:31:59.553>a <00:31:59.709>new <00:31:59.865>joke.

724
00:32:01.085 --> 00:32:04.105
<00:32:01.085>So <00:32:01.285>that's <00:32:01.485>something <00:32:01.685>that <00:32:01.885>may <00:32:02.085>happen <00:32:02.285>with <00:32:02.485>the,

725
00:32:04.175 --> 00:32:07.065
<00:32:04.175>your <00:32:04.330>business <00:32:04.486>model <00:32:04.641>as <00:32:04.797>well, <00:32:04.952>depending <00:32:05.108>on <00:32:05.263>what <00:32:05.419>the, <00:32:05.575>what

726
00:32:07.065 --> 00:32:08.425
<00:32:07.065>what <00:32:07.309>people <00:32:07.554>are <00:32:07.799>asking <00:32:08.044>you <00:32:08.289>should

727
00:32:09.075 --> 00:32:13.265
<00:32:09.075>every <00:32:09.250>time <00:32:09.425>be <00:32:09.600>computing <00:32:09.775>a <00:32:09.950>new, <00:32:10.125>uh, <00:32:10.300>response <00:32:10.475>instead

728
00:32:13.265 --> 00:32:14.425
<00:32:13.265>of <00:32:13.473>getting <00:32:13.682>one <00:32:13.891>from <00:32:14.100>the <00:32:14.309>cache.

729
00:32:14.725 --> 00:32:17.785
<00:32:14.725>And <00:32:14.880>what <00:32:15.036>you <00:32:15.191>can <00:32:15.347>do <00:32:15.502>to <00:32:15.658>mitigate <00:32:15.813>this <00:32:15.969>problem <00:32:16.125>is

730
00:32:18.125 --> 00:32:22.065
<00:32:18.125>by <00:32:18.300>combining <00:32:18.475>semantic <00:32:18.650>caching <00:32:18.825>with <00:32:19.000>semantic <00:32:19.175>router <00:32:19.350>as <00:32:19.525>well.

731
00:32:22.125 --> 00:32:27.065
<00:32:22.125>So <00:32:22.280>you <00:32:22.436>can <00:32:22.591>define <00:32:22.747>some <00:32:22.902>references <00:32:23.058>that <00:32:23.213>refer <00:32:23.369>to <00:32:23.525>some,

732
00:32:28.045 --> 00:32:31.425
<00:32:28.045>um, <00:32:28.245>tools <00:32:28.445>or <00:32:28.645>prompts <00:32:28.845>that <00:32:29.045>shouldn't <00:32:29.245>be <00:32:29.445>cached.

733
00:32:31.925 --> 00:32:34.985
<00:32:31.925>And <00:32:32.065>if <00:32:32.205>those <00:32:32.345>are <00:32:32.485>caught <00:32:32.625>by <00:32:32.764>the <00:32:32.905>semantic <00:32:33.044>route <00:32:33.185>for <00:32:33.325>example,

734
00:32:35.535 --> 00:32:37.865
<00:32:35.535>then <00:32:35.815>you <00:32:36.095>would, <00:32:36.375>it <00:32:36.655>would, <00:32:36.935>um,

735
00:32:38.175 --> 00:32:39.965
<00:32:38.175>call <00:32:38.455>the <00:32:38.735>LLMM <00:32:39.014>every <00:32:39.294>time <00:32:39.575>instead

736
00:32:39.965 --> 00:32:41.845
<00:32:39.965>of <00:32:40.245>relying <00:32:40.524>on <00:32:40.804>the <00:32:41.084>semantic <00:32:41.365>caching.

737
00:32:42.625 --> 00:32:46.045
<00:32:42.625>Having <00:32:42.825>said <00:32:43.025>that, <00:32:43.225>another <00:32:43.425>problem <00:32:43.625>that <00:32:43.825>may <00:32:44.025>happen

738
00:32:46.275 --> 00:32:50.445
<00:32:46.275>with <00:32:46.508>embedding <00:32:46.741>models <00:32:46.975>as <00:32:47.208>well <00:32:47.441>is <00:32:47.675>that

739
00:32:51.265 --> 00:32:53.245
<00:32:51.265>for <00:32:51.420>example, <00:32:51.576>you <00:32:51.731>can <00:32:51.887>ask <00:32:52.042>a <00:32:52.198>chat <00:32:52.353>bot <00:32:52.509>what's <00:32:52.665>the

740
00:32:53.245 --> 00:32:54.285
<00:32:53.245>capital <00:32:53.713>of <00:32:54.181>Paris?

741
00:32:54.865 --> 00:32:56.365
<00:32:54.865>And <00:32:55.135>then <00:32:55.405>you <00:32:55.675>cache <00:32:55.945>the <00:32:56.215>response

742
00:32:56.905 --> 00:33:00.605
<00:32:56.905>and <00:32:57.032>then <00:32:57.159>you <00:32:57.286>may <00:32:57.414>ask <00:32:57.541>it, <00:32:57.668>what's <00:32:57.795>not <00:32:57.923>the <00:32:58.050>capital <00:32:58.177>of <00:32:58.305>Paris?

743
00:33:00.985 --> 00:33:02.525
<00:33:00.985>And <00:33:01.216>then <00:33:01.447>it <00:33:01.678>gets <00:33:01.909>the <00:33:02.140>cash <00:33:02.371>response

744
00:33:02.525 --> 00:33:04.885
<00:33:02.525>because <00:33:02.875>they're <00:33:03.225>similar <00:33:03.575>enough, <00:33:03.925>right?

745
00:33:04.995 --> 00:33:06.925
<00:33:04.995>According <00:33:05.344>to <00:33:05.695>the <00:33:06.044>embedding <00:33:06.395>model.

746
00:33:07.345 --> 00:33:09.125
<00:33:07.345>So <00:33:07.578>to <00:33:07.811>mitigate <00:33:08.045>that <00:33:08.278>problem <00:33:08.511>as <00:33:08.745>well,

747
00:33:09.175 --> 00:33:11.045
<00:33:09.175>Paris <00:33:09.408>has <00:33:09.641>done <00:33:09.875>some <00:33:10.108>research <00:33:10.341>on <00:33:10.575>that.

748
00:33:11.585 --> 00:33:16.285
<00:33:11.585>So <00:33:11.692>this <00:33:11.800>is <00:33:11.908>the <00:33:12.015>paper <00:33:12.123>that <00:33:12.231>we <00:33:12.338>have, <00:33:12.446>um, <00:33:12.554>put <00:33:12.661>out <00:33:12.769>back <00:33:12.877>in <00:33:12.985>April

749
00:33:16.285 --> 00:33:20.245
<00:33:16.285>of <00:33:16.460>this <00:33:16.635>year <00:33:16.810>where <00:33:16.985>we <00:33:17.160>trained, <00:33:17.335>um, <00:33:17.510>a <00:33:17.685>specific

750
00:33:20.385 --> 00:33:22.285
<00:33:20.385>and <00:33:20.585>embedding <00:33:20.785>model, <00:33:20.985>which <00:33:21.185>we've <00:33:21.385>called <00:33:21.585>LAN <00:33:21.785>cash

751
00:33:22.305 --> 00:33:23.325
<00:33:22.305>and <00:33:22.534>bad <00:33:22.764>V <00:33:22.993>two <00:33:23.223>here.

752
00:33:23.555 --> 00:33:27.395
<00:33:23.555>It's <00:33:23.710>open <00:33:23.866>source, <00:33:24.021>it's <00:33:24.177>available <00:33:24.332>for, <00:33:24.488>uh, <00:33:24.643>anybody <00:33:24.799>to <00:33:24.955>use.

753
00:33:27.395 --> 00:33:29.595
<00:33:27.395>You <00:33:27.535>can <00:33:27.675>just <00:33:27.815>go <00:33:27.955>to <00:33:28.095>hugging <00:33:28.235>face <00:33:28.375>and <00:33:28.514>use <00:33:28.655>it <00:33:28.795>yourself.

754
00:33:29.855 --> 00:33:34.035
<00:33:29.855>But <00:33:29.971>the <00:33:30.088>idea <00:33:30.205>of <00:33:30.321>this <00:33:30.438>model <00:33:30.555>is <00:33:30.671>to <00:33:30.788>avoid <00:33:30.905>this <00:33:31.021>kind <00:33:31.138>of, <00:33:31.255>uh,

755
00:33:34.075 --> 00:33:36.435
<00:33:34.075>examples <00:33:34.215>that <00:33:34.355>I <00:33:34.495>just <00:33:34.635>gave <00:33:34.775>you <00:33:34.915>about <00:33:35.055>the <00:33:35.195>capital <00:33:35.335>of <00:33:35.475>Paris

756
00:33:36.845 --> 00:33:38.595
<00:33:36.845>where <00:33:37.125>they <00:33:37.405>might <00:33:37.685>be <00:33:37.965>very <00:33:38.245>similar

757
00:33:38.735 --> 00:33:41.875
<00:33:38.735>but <00:33:39.014>actually <00:33:39.294>mean <00:33:39.574>something <00:33:39.854>slightly <00:33:40.135>different.

758
00:33:43.495 --> 00:33:46.355
<00:33:43.495>Um, <00:33:43.669>and <00:33:43.844>now <00:33:44.020>the <00:33:44.195>last <00:33:44.370>thing <00:33:44.544>that <00:33:44.719>I <00:33:44.895>wanted

759
00:33:46.355 --> 00:33:48.155
<00:33:46.355>to <00:33:46.588>talk <00:33:46.821>about <00:33:47.055>is <00:33:47.288>link <00:33:47.521>cash <00:33:47.755>itself,

760
00:33:48.165 --> 00:33:50.515
<00:33:48.165>which <00:33:48.398>is <00:33:48.631>a <00:33:48.865>manage <00:33:49.098>it <00:33:49.331>semantic <00:33:49.565>caching

761
00:33:50.515 --> 00:33:51.995
<00:33:50.515>service <00:33:50.959>provided <00:33:51.403>by <00:33:51.847>Redis.

762
00:33:51.995 --> 00:33:53.515
<00:33:51.995>It's <00:33:52.337>a <00:33:52.679>student <00:33:53.021>experimental <00:33:53.363>version,

763
00:33:53.815 --> 00:33:57.995
<00:33:53.815>but <00:33:53.931>if <00:33:54.048>you, <00:33:54.165>if <00:33:54.281>you <00:33:54.398>don't <00:33:54.515>want <00:33:54.631>to, <00:33:54.748>to <00:33:54.865>go <00:33:54.981>through <00:33:55.098>the <00:33:55.215>hassle

764
00:33:58.255 --> 00:34:00.475
<00:33:58.255>of, <00:33:58.455>uh, <00:33:58.655>implementing <00:33:58.855>a <00:33:59.055>semantic <00:33:59.255>cache <00:33:59.455>in <00:33:59.655>yourself,

765
00:34:00.695 --> 00:34:02.715
<00:34:00.695>you <00:34:00.895>can <00:34:01.095>just <00:34:01.294>go <00:34:01.495>to <00:34:01.695>cloud, <00:34:01.895>do <00:34:02.095>redis.io

766
00:34:02.855 --> 00:34:06.395
<00:34:02.855>and <00:34:03.010>spin <00:34:03.166>up <00:34:03.321>a <00:34:03.477>semantic <00:34:03.632>cache <00:34:03.788>and <00:34:03.943>use <00:34:04.099>the <00:34:04.255>API.

767
00:34:06.455 --> 00:34:08.515
<00:34:06.455>You <00:34:06.688>have <00:34:06.921>libraries <00:34:07.155>as <00:34:07.388>well <00:34:07.621>for <00:34:07.855>JavaScript

768
00:34:08.515 --> 00:34:09.715
<00:34:08.514>and <00:34:08.730>Python <00:34:08.947>I <00:34:09.163>think <00:34:09.379>so <00:34:09.595>far,

769
00:34:10.055 --> 00:34:13.635
<00:34:10.054>but <00:34:10.210>more <00:34:10.366>coming, <00:34:10.521>uh, <00:34:10.677>within <00:34:10.832>time <00:34:10.988>that <00:34:11.143>will <00:34:11.299>allow <00:34:11.455>you

770
00:34:13.635 --> 00:34:17.515
<00:34:13.635>to <00:34:13.790>cache <00:34:13.946>the <00:34:14.101>prompts <00:34:14.257>of <00:34:14.412>your <00:34:14.568>users <00:34:14.723>with <00:34:14.879>Redis, <00:34:15.035>uh,

771
00:34:18.435 --> 00:34:20.925
<00:34:18.435>with <00:34:18.610>a <00:34:18.784>service <00:34:18.960>that <00:34:19.134>is <00:34:19.310>fully <00:34:19.485>managed <00:34:19.659>by <00:34:19.835>ourselves.

772
00:34:22.265 --> 00:34:24.885
<00:34:22.264>And <00:34:22.498>that's <00:34:22.731>basically <00:34:22.964>everything <00:34:23.198>that <00:34:23.431>I <00:34:23.665>had

773
00:34:24.885 --> 00:34:26.205
<00:34:24.885>to <00:34:25.182>share <00:34:25.479>with <00:34:25.775>you <00:34:26.072>today.

774
00:34:26.535 --> 00:34:27.925
<00:34:26.534>Again, <00:34:26.785>my <00:34:27.035>name <00:34:27.285>is <00:34:27.535>Rafael <00:34:27.786>Delio.

775
00:34:27.925 --> 00:34:30.165
<00:34:27.925>I've <00:34:28.080>been <00:34:28.236>working <00:34:28.391>as <00:34:28.547>a <00:34:28.702>soft <00:34:28.858>engineer <00:34:29.013>in <00:34:29.169>the <00:34:29.325>developer

776
00:34:31.005 --> 00:34:33.205
<00:34:31.005>advocacy <00:34:31.355>team <00:34:31.705>inside <00:34:32.055>of <00:34:32.405>Redis,

777
00:34:33.625 --> 00:34:34.925
<00:34:33.625>and <00:34:33.792>I <00:34:33.959>hope <00:34:34.126>you <00:34:34.293>have <00:34:34.460>enjoyed <00:34:34.627>the <00:34:34.795>talk.

778
00:34:35.335 --> 00:34:36.045
<00:34:35.335>Thank <00:34:35.548>you <00:34:35.761>very <00:34:35.974>much.