1
00:00:04,380 --> 00:00:09,570
Okay, so in the notebook you are going to find.

2
00:00:10,730 --> 00:00:12,140
A lot of details.

3
00:00:12,950 --> 00:00:23,060
Uh, regarding the analysis and study and exploration and experimentation, we did, uh, around the

4
00:00:23,060 --> 00:00:25,220
second sites, uh, project.

5
00:00:25,340 --> 00:00:31,160
So, as you know, uh, this is an end to end production professional application.

6
00:00:31,520 --> 00:00:36,140
The llama index team has open source, uh, this project.

7
00:00:36,140 --> 00:00:43,130
And right now, this is one of the most advanced and sophisticated production ready LM apps available.

8
00:00:43,490 --> 00:00:46,760
So it is worthy to study it in detail.

9
00:00:46,790 --> 00:00:53,540
As you know, you can find the repository of the project in this link.

10
00:00:53,960 --> 00:00:57,620
Uh, this is where you can find the code.

11
00:00:57,620 --> 00:01:06,680
And you can also find instructions, detailed instructions to follow in order to reproduce the, the

12
00:01:06,680 --> 00:01:08,090
the, the project.

13
00:01:08,120 --> 00:01:12,650
They also have a YouTube video, short YouTube video.

14
00:01:12,650 --> 00:01:15,230
In my opinion, this is not well.

15
00:01:15,230 --> 00:01:16,340
It's interesting.

16
00:01:16,340 --> 00:01:20,840
You know, they are explaining, uh, high level concepts here.

17
00:01:20,840 --> 00:01:25,580
In some cases the information is not updated like it is in the GitHub repository.

18
00:01:25,820 --> 00:01:27,770
Well here you have the video.

19
00:01:27,770 --> 00:01:30,020
I mean it's not very detailed.

20
00:01:30,020 --> 00:01:36,230
It can be interesting, but in my opinion the GitHub repository is more helpful.

21
00:01:36,920 --> 00:01:45,350
Remember that this app is a chat application that uses the rack technique to, uh, make questions about

22
00:01:45,350 --> 00:01:53,990
financial documents so we can make questions about financial documents of, uh, companies that are

23
00:01:53,990 --> 00:01:58,400
in the stock exchange like Apple, Amazon, etc..

24
00:01:58,400 --> 00:02:06,890
And we have a production ready application, uh, full stack application, uh, with a code that is

25
00:02:06,890 --> 00:02:09,770
ready for you to use fork or whatever.

26
00:02:10,430 --> 00:02:16,040
And a all the setup is open source and it is easy to deploy on Vercel and render.

27
00:02:16,040 --> 00:02:17,780
Well this is here.

28
00:02:17,780 --> 00:02:21,500
Careful is not very easy to deploy, but you can do it.

29
00:02:22,550 --> 00:02:29,300
You can see the working application live in this URL where you can play with the with the app.

30
00:02:29,300 --> 00:02:38,570
And you will see there that as we saw in the demo A, you have a chat, you know, uh, grounded in

31
00:02:38,570 --> 00:02:45,380
source of truth, uh, seek documents, you have a PDF viewer, you have a token level streaming of

32
00:02:45,380 --> 00:02:47,930
chat responses, etc., etc., etc..

33
00:02:47,930 --> 00:02:48,650
Very important.

34
00:02:48,650 --> 00:02:53,780
This one citation of source data is a very interesting feature they have.

35
00:02:54,290 --> 00:02:58,880
So in this deep dive we set these goals.

36
00:02:58,880 --> 00:03:06,830
Uh, we wanted to understand the process to deploy the application to production, the role of LMS in

37
00:03:06,830 --> 00:03:11,480
the in the application, the the role of the llama index code.

38
00:03:11,480 --> 00:03:15,830
As you know, these are llama index application, not a long chain application.

39
00:03:16,100 --> 00:03:20,750
Uh, we wanted to see if there is a testing framework in place.

40
00:03:20,750 --> 00:03:27,350
And we also wanted to pay attention to some particular parts, like, for example, the use of GitHub

41
00:03:27,350 --> 00:03:35,600
code space, the use of Amazon S3, the use of vercel and render, the use of local stack and cronjob.

42
00:03:35,600 --> 00:03:36,380
So.

43
00:03:37,340 --> 00:03:41,600
We started a very, very, very, very detailed analysis.

44
00:03:41,600 --> 00:03:45,530
As you can see, for the length by the length of the, of the notebook.

45
00:03:45,710 --> 00:03:56,930
So we have been studying and the tech stack a and in most cases we are familiar with this, uh, with

46
00:03:56,930 --> 00:04:02,480
these tools in the program, we have been looking at uh, many of them.

47
00:04:02,480 --> 00:04:04,970
But in some cases you will find new things.

48
00:04:04,970 --> 00:04:12,890
For example CSS, they are using a particular a particular tool with CSS.

49
00:04:12,890 --> 00:04:16,970
They are using Docker which we will talk about that later.

50
00:04:16,970 --> 00:04:28,100
They are using a uh S3 uh with a private bucket and public bucket, which makes things a little bit,

51
00:04:28,400 --> 00:04:30,920
uh, more difficult.

52
00:04:30,920 --> 00:04:34,280
And then they are using external APIs etc., etc..

53
00:04:34,280 --> 00:04:38,330
Okay, so let's take a look at the notebook here.

54
00:04:39,290 --> 00:04:52,370
So in the notebook uh the first thing we highlight is where are you going to find the a main LM logic.

55
00:04:52,400 --> 00:04:53,390
Okay.

56
00:04:53,390 --> 00:05:00,950
So uh, the role of the LM logic in this application is, uh, the rack technique.

57
00:05:00,950 --> 00:05:07,580
Mostly the main placement of the code is here in back end app chat engine dot Pi.

58
00:05:07,580 --> 00:05:16,220
And you have also some secondary placements in the same folder where you can see interesting LM logic.

59
00:05:16,220 --> 00:05:19,400
Remember they are using lambda index okay.

60
00:05:20,450 --> 00:05:26,420
This is the Python version of lambda index, which is good for us because as you know, there is also

61
00:05:26,420 --> 00:05:32,570
a JavaScript version of Lambda index, which is not, uh, what we have been focused on.

62
00:05:33,140 --> 00:05:40,790
A they have a limited testing functionality in back end test app chat test engine Pi.

63
00:05:40,910 --> 00:05:46,070
So it's not, uh, something they have invested a lot of time.

64
00:05:46,070 --> 00:05:47,660
But there you have it.

65
00:05:47,660 --> 00:05:54,260
And a we will highlight a here a.

66
00:05:55,260 --> 00:05:56,760
Some other things.

67
00:05:56,760 --> 00:06:05,730
So here you can see our notes about the architecture and the different components that they are using.

68
00:06:07,300 --> 00:06:15,250
Here you have our comments about the file they are using for configuring render.

69
00:06:15,250 --> 00:06:24,340
And here is where you can see that it is very important for you to use a GitHub code spaces.

70
00:06:24,340 --> 00:06:32,560
So when you look at the documentation in the, in the especially here in their GitHub repository, they

71
00:06:32,560 --> 00:06:41,800
tell you that you can go via a GitHub code spaces, or you can start the project from scratch.

72
00:06:41,980 --> 00:06:47,800
We recommend you to use a GitHub code spaces.

73
00:06:47,800 --> 00:06:50,170
This is very easy to use.

74
00:06:50,170 --> 00:06:53,710
In case of doubt, go to ChatGPT for.

75
00:06:53,710 --> 00:07:00,400
But the the thing you will have to do is when you when you are trying to clone the code from the llama

76
00:07:00,400 --> 00:07:07,600
index GitHub repository, you click on the on the button in order to to get the the code, and you will

77
00:07:07,600 --> 00:07:14,470
see that when you click on the button, you see an option, a an option to create your own code space.

78
00:07:14,470 --> 00:07:19,210
In order to do that, you will have to be logged into your GitHub account.

79
00:07:19,210 --> 00:07:28,210
But if you are a then clicking in the button is going to to to build a code GitHub code space for you,

80
00:07:28,210 --> 00:07:32,290
and you will see that working there is going to be easier.

81
00:07:32,320 --> 00:07:40,360
In case of doubt here in the video they they are providing some uh, tips as well in order to work with

82
00:07:40,360 --> 00:07:42,850
the with the GitHub code space.

83
00:07:42,850 --> 00:07:43,360
Okay.

84
00:07:43,360 --> 00:07:46,780
So in my opinion this is very recommendable.

85
00:07:46,780 --> 00:07:51,850
And the, the this option is the option that we recommend because the other one is going to take you

86
00:07:51,850 --> 00:07:53,680
much more work.

87
00:07:53,680 --> 00:07:56,050
You know Docker configuration all that.

88
00:07:56,050 --> 00:07:57,280
You don't want to do that.

89
00:07:57,280 --> 00:08:03,910
So go to go with the code spaces in case you want to explore this in detail.

90
00:08:03,910 --> 00:08:04,360
Right.

91
00:08:04,360 --> 00:08:12,010
So we are including a instructions to create an Amazon S3 account here.

92
00:08:12,010 --> 00:08:18,280
You are already familiar with this, but we are uh, including in this instructions here as well.

93
00:08:18,280 --> 00:08:24,910
And remember that in this case, apart from a public, uh, bucket, they are creating a, they are

94
00:08:24,910 --> 00:08:27,610
using a private bucket in S3 as well.

95
00:08:27,610 --> 00:08:31,360
So that's a level of complexity.

96
00:08:31,360 --> 00:08:35,590
And we give you our notes and instructions regarding this.

97
00:08:37,440 --> 00:08:38,190
A.

98
00:08:38,700 --> 00:08:48,150
We also remind you how to create a public bucket on S3, and then we give you our notes about the use

99
00:08:48,150 --> 00:08:50,790
of cron job and how to use it in render.

100
00:08:50,790 --> 00:08:51,690
Com.

101
00:08:54,090 --> 00:08:56,880
Here you have, uh, some.

102
00:08:56,880 --> 00:09:01,290
Well, here you have our notes about GitHub code space and how to do that.

103
00:09:01,920 --> 00:09:08,670
And, uh, here you have some notes about our analysis regarding the back end.

104
00:09:12,480 --> 00:09:15,630
Okay about the environment variables.

105
00:09:17,760 --> 00:09:19,920
How to start the backend server.

106
00:09:21,890 --> 00:09:23,120
Etc. etc. etc..

107
00:09:23,120 --> 00:09:26,690
So you will see we are just in the in the half.

108
00:09:27,470 --> 00:09:28,520
In the half.

109
00:09:28,550 --> 00:09:30,320
Uh, yeah.

110
00:09:30,530 --> 00:09:35,420
You see, so we, we have a long notebook here for you.

111
00:09:35,420 --> 00:09:43,310
So what I would uh, say in, in, in summary and in conclusion regarding this, uh, lesson is that

112
00:09:43,850 --> 00:09:51,170
the second side project is very interesting for us and for you to see, you know, the size and the

113
00:09:51,170 --> 00:10:01,580
scope of our professional application, but probably is not a in a very good shape in order to try to

114
00:10:01,580 --> 00:10:07,580
reproduce it or to try to build a new application on top of it.

115
00:10:07,580 --> 00:10:17,300
In my opinion, the Lama index team, uh, didn't well, they didn't provide enough information for

116
00:10:17,300 --> 00:10:23,360
you to do that with a level of confidence and security.

117
00:10:23,360 --> 00:10:27,170
So I don't think this a project to build on top of it.

118
00:10:27,170 --> 00:10:32,960
This a project to take a look, to have an overview to explore a little bit, you know, to play around,

119
00:10:32,960 --> 00:10:41,360
but probably is not a good candidate to use, uh, for you, uh, professionally or to build to even

120
00:10:41,360 --> 00:10:42,020
to reproduce.

121
00:10:42,020 --> 00:10:47,480
I think the, the process to clone it and to reproduce it is a little bit, uh, complex.

122
00:10:47,480 --> 00:10:54,020
But here you have our notes and instructions and a up to you.

123
00:10:54,020 --> 00:10:54,770
Okay.

124
00:10:55,220 --> 00:11:03,380
In the next lesson, you are going to see two, uh, other level three applications that are much more

125
00:11:03,380 --> 00:11:06,320
simple than this one.

126
00:11:06,680 --> 00:11:14,720
And I would say two simple, uh, in their current status, but probably they are going to evolve in

127
00:11:14,720 --> 00:11:17,600
a more interesting versions, uh, very soon.

128
00:11:17,600 --> 00:11:25,400
So let's take a look at, uh, these two, uh, level three, uh, LM applications in the next lesson.

