Okay, so in the notebook you are going to find.
A lot of details.
Uh, regarding the analysis and study and exploration and experimentation, we did, uh, around the
second sites, uh, project.
So, as you know, uh, this is an end to end production professional application.
The llama index team has open source, uh, this project.
And right now, this is one of the most advanced and sophisticated production ready LM apps available.
So it is worthy to study it in detail.
As you know, you can find the repository of the project in this link.
Uh, this is where you can find the code.
And you can also find instructions, detailed instructions to follow in order to reproduce the, the
the, the project.
They also have a YouTube video, short YouTube video.
In my opinion, this is not well.
It's interesting.
You know, they are explaining, uh, high level concepts here.
In some cases the information is not updated like it is in the GitHub repository.
Well here you have the video.
I mean it's not very detailed.
It can be interesting, but in my opinion the GitHub repository is more helpful.
Remember that this app is a chat application that uses the rack technique to, uh, make questions about
financial documents so we can make questions about financial documents of, uh, companies that are
in the stock exchange like Apple, Amazon, etc..
And we have a production ready application, uh, full stack application, uh, with a code that is
ready for you to use fork or whatever.
And a all the setup is open source and it is easy to deploy on Vercel and render.
Well this is here.
Careful is not very easy to deploy, but you can do it.
You can see the working application live in this URL where you can play with the with the app.
And you will see there that as we saw in the demo A, you have a chat, you know, uh, grounded in
source of truth, uh, seek documents, you have a PDF viewer, you have a token level streaming of
chat responses, etc., etc., etc..
Very important.
This one citation of source data is a very interesting feature they have.
So in this deep dive we set these goals.
Uh, we wanted to understand the process to deploy the application to production, the role of LMS in
the in the application, the the role of the llama index code.
As you know, these are llama index application, not a long chain application.
Uh, we wanted to see if there is a testing framework in place.
And we also wanted to pay attention to some particular parts, like, for example, the use of GitHub
code space, the use of Amazon S3, the use of vercel and render, the use of local stack and cronjob.
So.
We started a very, very, very, very detailed analysis.
As you can see, for the length by the length of the, of the notebook.
So we have been studying and the tech stack a and in most cases we are familiar with this, uh, with
these tools in the program, we have been looking at uh, many of them.
But in some cases you will find new things.
For example CSS, they are using a particular a particular tool with CSS.
They are using Docker which we will talk about that later.
They are using a uh S3 uh with a private bucket and public bucket, which makes things a little bit,
uh, more difficult.
And then they are using external APIs etc., etc..
Okay, so let's take a look at the notebook here.
So in the notebook uh the first thing we highlight is where are you going to find the a main LM logic.
Okay.
So uh, the role of the LM logic in this application is, uh, the rack technique.
Mostly the main placement of the code is here in back end app chat engine dot Pi.
And you have also some secondary placements in the same folder where you can see interesting LM logic.
Remember they are using lambda index okay.
This is the Python version of lambda index, which is good for us because as you know, there is also
a JavaScript version of Lambda index, which is not, uh, what we have been focused on.
A they have a limited testing functionality in back end test app chat test engine Pi.
So it's not, uh, something they have invested a lot of time.
But there you have it.
And a we will highlight a here a.
Some other things.
So here you can see our notes about the architecture and the different components that they are using.
Here you have our comments about the file they are using for configuring render.
And here is where you can see that it is very important for you to use a GitHub code spaces.
So when you look at the documentation in the, in the especially here in their GitHub repository, they
tell you that you can go via a GitHub code spaces, or you can start the project from scratch.
We recommend you to use a GitHub code spaces.
This is very easy to use.
In case of doubt, go to ChatGPT for.
But the the thing you will have to do is when you when you are trying to clone the code from the llama
index GitHub repository, you click on the on the button in order to to get the the code, and you will
see that when you click on the button, you see an option, a an option to create your own code space.
In order to do that, you will have to be logged into your GitHub account.
But if you are a then clicking in the button is going to to to build a code GitHub code space for you,
and you will see that working there is going to be easier.
In case of doubt here in the video they they are providing some uh, tips as well in order to work with
the with the GitHub code space.
Okay.
So in my opinion this is very recommendable.
And the, the this option is the option that we recommend because the other one is going to take you
much more work.
You know Docker configuration all that.
You don't want to do that.
So go to go with the code spaces in case you want to explore this in detail.
Right.
So we are including a instructions to create an Amazon S3 account here.
You are already familiar with this, but we are uh, including in this instructions here as well.
And remember that in this case, apart from a public, uh, bucket, they are creating a, they are
using a private bucket in S3 as well.
So that's a level of complexity.
And we give you our notes and instructions regarding this.
A.
We also remind you how to create a public bucket on S3, and then we give you our notes about the use
of cron job and how to use it in render.
Com.
Here you have, uh, some.
Well, here you have our notes about GitHub code space and how to do that.
And, uh, here you have some notes about our analysis regarding the back end.
Okay about the environment variables.
How to start the backend server.
Etc. etc. etc..
So you will see we are just in the in the half.
In the half.
Uh, yeah.
You see, so we, we have a long notebook here for you.
So what I would uh, say in, in, in summary and in conclusion regarding this, uh, lesson is that
the second side project is very interesting for us and for you to see, you know, the size and the
scope of our professional application, but probably is not a in a very good shape in order to try to
reproduce it or to try to build a new application on top of it.
In my opinion, the Lama index team, uh, didn't well, they didn't provide enough information for
you to do that with a level of confidence and security.
So I don't think this a project to build on top of it.
This a project to take a look, to have an overview to explore a little bit, you know, to play around,
but probably is not a good candidate to use, uh, for you, uh, professionally or to build to even
to reproduce.
I think the, the process to clone it and to reproduce it is a little bit, uh, complex.
But here you have our notes and instructions and a up to you.
Okay.
In the next lesson, you are going to see two, uh, other level three applications that are much more
simple than this one.
And I would say two simple, uh, in their current status, but probably they are going to evolve in
a more interesting versions, uh, very soon.
So let's take a look at, uh, these two, uh, level three, uh, LM applications in the next lesson.