🐱 GitHub repository: github.com/alejandro-ao/chat-with-websites 🔥 Join the LangChain Master Program (early access): link.alejandro-ao.com/langchain-mastery 💬 Ask your questions in our Discord Server (but please leave a comment here too for engagement): link.alejandro-ao.com/981ypA ❤ Buy me a coffee (thanks): link.alejandro-ao.com/YR8Fkw
@xspydazx8 ай бұрын
when fine tuning a model : it seems that it is adjusting the model weights based on the input and expected output? that would mean the brain is @Open? so its basically live when taking to the brain in training does this effect its weights ? can only the trainer effect the weights of the model ? i expect this is happening in memory? based on Positive and Negative feedback in Chat could we not be talking to the brain and teaching it and adjusting its weights on the fly? Also (sorry) When using the Rag type systems are the documents being tokenized using the tokenizer from the model ? (i know it locks the database down a bit) , as then we could consider the local rag as the working memory system ? and the llm as the long term memory system , should there be a bridge between the database and trainer so that it could essentially update the Longterm memory periodically releasing the local rag data? ie essentially training a lora to be applied (or merged) ... hence the llm should have a lot of loras from each interval of updates or training Or not if the strategy is full merge?
@anabellarivolta5 ай бұрын
can i just say you make this whole thing bearable because your voice delivery is on point i won't go anywhere else i'm gonna learn everything here what a bless
@OkayNoway9 ай бұрын
underrated content, edit: forgot to say thanks, was too focused with your content, Thanks!
@alejandro_ao9 ай бұрын
thank you! i really appreciate it :)
@paalhoff6311 ай бұрын
Exceptional clarity - great video!!!
@alejandro_ao11 ай бұрын
Glad you liked it!
@smzhd96429 ай бұрын
such a gem this video is .... i don't know why your tutorials are not on trending page ..... Bro you are just awesome 🔥🔥🔥🔥🔥🔥
@alejandro_ao9 ай бұрын
thank you!! hopefully i'll get there someday 🥲
@christophemarie-reine16247 ай бұрын
Incredible! It's the first time I understand everything just by watching a tutorial once. A true educator
@alejandro_ao7 ай бұрын
it means a lot! keep it up 💪
@regisgesnot684010 ай бұрын
I very rarely comment a video. It was very clear, good flow to understand. Thanks a lot
@alejandro_ao10 ай бұрын
i appreciate it :) i hope you learned a lot! keep it up!
@craftedbysrs9 ай бұрын
You are an amazing mentor. The way you explain is far better than university professors. Hope to learn more from you. Make more videos on this kind of AI app Development, Please.
@alejandro_ao9 ай бұрын
thank you man, i won't stop!
@joaosantos129411 ай бұрын
Great video, u rock!! Waiting for a "Chat with any database using Python and Langchain" 💯💯
@alejandro_ao11 ай бұрын
Thanks! Coming soon!
@matten_zero10 ай бұрын
I think LlamaIndex has a MongoDB loader and JSON_query_loader.
@adafina11 ай бұрын
Thanks! Your video is great and has very useful info.
@alejandro_ao11 ай бұрын
thank you! i'm glad it was useful. also, thank you for the tip!
@kazimali078 ай бұрын
Did not take a break for an hour and 20 mins so committed :) excellent video
@405dineshАй бұрын
Wow, this video is fantastic! 🤩 I’ve been wanting to create a chatbot for a while, and your step-by-step guide made it so easy to follow. 🙌 Now I can build my own chatbot to chat with any website-how cool is that? 😎 Thanks for sharing your knowledge! 👍🔥 Keep up the great work! 👏😊
@alejandro_aoАй бұрын
you make me want to keep making tutorials. very glad to hear this helped!
@vijbca3 ай бұрын
One of the best tutors. Hatsoff keep the good work buddy. Wishes🎉 from India
@yanbinhei867310 ай бұрын
I like your style, warm and peaceful
@alejandro_ao10 ай бұрын
i am very warm and peaceful indeed
@jorgeperez89146 ай бұрын
Simplemente genial y una muy buena explicación, gracias Alejandro por este tipo de contenido.
@alejandro_ao6 ай бұрын
hola jorge! gracias a ti! un placer poder ayudar :)
@student726111 ай бұрын
Wow....seriously great tutorial....keep up the good work..👍
@alejandro_ao11 ай бұрын
Thank you so much 😀 let me know what other topics/libraries you would like to see covered
@ashishmalhotra22306 ай бұрын
Your clarity and grasp of the topic are great!
@alejandro_ao6 ай бұрын
hey there! very glad you liked this! :)
@ajyt947 ай бұрын
Its an amazing tutorial! Really really good. Clear articulation and reasoning behind every line
@davidtindell95010 ай бұрын
Yes! We did learn a lot about the latest version of LANGCHAIN!! Thank You!!!
@alejandro_ao10 ай бұрын
it is my pleasure! stay tuned for more :)
@TitanGriffins4 ай бұрын
Yes, it was challenging until you came in. I'm proud of you!
@alejandro_ao4 ай бұрын
i appreciate it!
@MarkOBrien-ue4vg8 ай бұрын
Fantastically clear and methodical walkthrough. Keep it up!!!
@alejandro_ao8 ай бұрын
Thanks, will do!
@FahadKiani19 ай бұрын
the GUI tutorials are fire - God Bless
@2glory11 ай бұрын
Thanks!
@alejandro_ao11 ай бұрын
thank you! you are amazing
@azharmahmood78009 ай бұрын
Exceptional clarity, keep it up👍
@alejandro_ao9 ай бұрын
thanks, will do!!
@levinkrieger845210 ай бұрын
I was very impressed by your tutorial and your style of explaining. I am currently starting to dive deeper into AI, so this was very helpful to me :D
@alejandro_ao10 ай бұрын
i'm so happy to hear this! keep it up!
@levinkrieger845210 ай бұрын
@@alejandro_ao I will, thank you :)
@ChhatreMihir9 ай бұрын
Question - If retrieval chain is already finding the most relevant documents chunks based on conversation history and user's input and passing it through the {context}, what is the need to integrate retrieval chain using "create_retrieval_chain(retriever_chain, stuff_documents_chain)"
@AkulSamartha5 ай бұрын
Awesome video. What extensions do u use in VSCode? Seems to be very helpful. Also, can you please show how to input many data sources as an input. i.e many pages of a website
@GerardoBarcia11 ай бұрын
Nice one! Is there any chance to cover how to put all of this into production in the most cheapest possible way? Thanks!
@alejandro_ao11 ай бұрын
Working on it!
@alejandro_ao10 ай бұрын
hey, in case you haven't seen it. here's the video on how to put this to production in a simple, free way: kzbin.info/www/bejne/bWXGZH6Xdr2DrM0si=xfL4RZuDTb3H4rgr
@GerardoBarcia10 ай бұрын
@@alejandro_ao Thanks! Checked! Amazing work! I'll buy you a coffee for sure.
@phoenixx95458 ай бұрын
hey Alejandro, thanks for your video! This project is my first side project! I reaally appropriate your amazing job! If you are looking for the idea for next tutorial, the text-to-mindmap maybe a good idea!
@alejandro_ao8 ай бұрын
hey there! i'm glad you enjoyed the project. that sounds like a fun idea, I will probably me doing something like that in the future. Maybe something using knowledge graphs?
@JawadRaad-p7g11 ай бұрын
Thank you for the great explanation. 🙏 I have two questions: 1. At some point the context window of the llm will be exceeded, how can I deal with that? 2. You used the llm with the context retrieval chain to get the query. Is there a way to get the query without using the llm? In this way the app would be a bit faster and some extra costs would be avoided. Thanks in advance
@alejandro_ao10 ай бұрын
Hey there, thanks for these questions. And sorry about the late reply, i was sick last week. 1. Yeah, as soon as your conversation becomes too long, you will exceed the context window. To fix this, you can use one of LangChain's memory classes. In short, they allow you to summarize the history of a conversation instead of sending the entire history in your prompt. Something like: "we are talking about .... and this and that was considered. Now answer the following question based on this context...". There are several ways to summarize a conversation (entity memory, buffer memory, etc) Here are the docs: python.langchain.com/docs/modules/memory/types/ 2. Good point. You could make your own chain that will make its own similarity search. But the problem here is that if your conversation is too long, then your similarity search will not be as efficient as if you had summarized it with a query beforehand. I suppose you can test both and see which one works best for your app. Because you're right, we are basically making 2 LLM requests for every user query here. Let me know if this helped!
@JawadRaad-p7g10 ай бұрын
@@alejandro_ao no worries at all! I hope you're feeling better now. Yeah this answers my questions. Using langchain's memory classes would be better than just asking the user to start a new chat. I'll take a look at the documentation. Thank you and have a great day 🙏 Looking forward for your new videos :)
@alejandro_ao10 ай бұрын
@@JawadRaad-p7g thanks! have a good one!
@RicardoIturra-w8y11 ай бұрын
Man you're awesome! Some day I'll be too
@alejandro_ao11 ай бұрын
you're already awesome my friend, keep it up and keep improving every day! 💪
@satyaviswapavanranga591510 ай бұрын
Hey! Great video! i have one doubt at 21:50 why did you use if condition for chat_history to be in session_state ? why not use directly?
@alejandro_ao10 ай бұрын
great question! remember that every time something happens in your application (you enter a value into a field, press a button, etc), streamlit runs the whole code again. let's call this a streamlit cycle. st.session_state is used to keep the values across each cycle. we test the condition before assigning the value because otherwise we would be running `st.session_state.chat_history = []`on every cycle, effectively reinitializing it every time and defeating the purpose of having a session state altogether... so we test if the variable is already defined in the session state on every cycle. if it is already there, it means it has some information so we should not reinitialize it. try testing the app without testing for this condition to see how this changes. i hope it is clear!
@satyaviswapavanranga591510 ай бұрын
@@alejandro_ao thank you so much for taking time and explaining it clearly! Can I ask you one more question off topic? How are the GPT’s from GPT builder different compared to these RAG applications?
@rolaina8 ай бұрын
How can i use streamlit stream feature in this example ?
@ThubaMamba7 ай бұрын
Learnt a lot from this tutorial. Thank you Alejandro.
@alejandro_ao7 ай бұрын
you're welcome!
@smtabatabaie9 ай бұрын
Awesome video thanks, one question, once it is deployed on a server, does it also run the chunks,embeddings,vector stores part each time a user loads the page, or will only be called at the time it is starts to run on the server? Thanks again
@alejandro_ao9 ай бұрын
hey there! yes it does! you would have to set up a persistent data store for it to be able to keep your data. you can do this in your own server or use a hosted service such as Qdrant Cloud or Pinecone
@abhishekmukundan861710 ай бұрын
@alenjandro_ao can you suggest some open models that can be used instead of openai models for this particular used case?
@alejandro_ao10 ай бұрын
hey there! go for mixtral, those guys are on fire. even mixtral-8x7B is just amazing and super lightweight!
@bharathitulasi2585 ай бұрын
Hi! Your video is buttery smooth and your explanation, voice are so peaceful.! How did you learn all these topics, methods and that flow?
@DesmondBai7 ай бұрын
Great video Alejandro, can I ask which theme you are using for your terminal
@alejandro_ao6 ай бұрын
hey there, thanks! sure. the theme is robbyrussell and i'm running it with ohmyzsh 😎
@nguyennhi85242 ай бұрын
Thank you so much, can we connect through X for more discussing, i have some bug w/ this problem.
@alejandro_aoАй бұрын
of course! @_alejandroao
@gabscar111 ай бұрын
Does this chat with a webpage or a website?
@hajamydeen202511 ай бұрын
Do you refer to langchain's document loader or reader documentation. Many document loaders are available this is webpage loader. U post websites like blogs or any articles for retrieving data using open ai api. Read the langchain documentation and llama index data framework also
@gabscar111 ай бұрын
@@hajamydeen2025 So, with the current configuration, this only works on a webpage, is that correct?
@alejandro_ao10 ай бұрын
hey there, yeah this is correct! you would have to scrape the whole website first to chat with the whole website. you can use beautifulsoup to do that too, or you can use a no-code tool like octoparse (it's great). sorry about the title, the keyword rating for "chat with website" was like 50x better than "chat with web page" :S
@gabscar110 ай бұрын
@@alejandro_ao Thanks!
@siddupatil3643 ай бұрын
Please can you do video on that
@ziangliu786610 ай бұрын
Great video! subscribed and liked. Just one part that I could not understand. the stuff_documents_chain tasks input and context. How is the context being passed from retriever_chain to stuff_documents_chain? Dose LangChain just defined that creste_retrieval_chain can pass context from the first argument to the second?
@alejandro_ao10 ай бұрын
hey there! welcome to the club! yeah that's exactly what is happening. we are using a prebuild chain that does the `.invoke('{"context": [...]"})`by itself without us having to call the variable. if you look at the prebuilt chain's source code, you will see that it is calling the invoke method inside the runnable. i will make a future video creating chains ourselves so that this is easier to understand!
@AIdevel11 ай бұрын
Thank you so much for your amazing videos , this one in particular is outstanding as far as RAG is concerned , you are a real master in gen AI , I do find your videos tremendously helpful , keep on making them cheers from Saudi Arabia 😍😍😍💯
@alejandro_ao11 ай бұрын
i appreciate it! i'm glad that you're finding these useful :) i have many more coming
@krishshah88819 ай бұрын
As OpenAI has stopped its free service, can we use HuggingFace API?
@alejandro_ao8 ай бұрын
i’ll be showing how to use this with local models this week as soon as i manage to finish the video 🫡
@krishshah88818 ай бұрын
@@alejandro_ao that’s great Waiting for the video then Thank you!!
@shivparashar241310 ай бұрын
Great video, can we pass multiple website URLs like 2 or 3
@touchthesun9 ай бұрын
This is great, thanks so much for sharing this with us!
@alejandro_ao9 ай бұрын
my pleasure!
@lahavmorris99199 ай бұрын
could you make a version where you don't delete stuff all the time as it wasn't always clear what was supposed to be deleted and what needed to be kept so i often missed when you did it and it made it harder to follow what you were doing.
@ApexPlayground_divineКүн бұрын
who got this error ValueError: Could not connect to tenant default_tenant. Are you sure it exists? and how did you fix it
@sharonmachlisgartenberg395310 ай бұрын
Thanks for sharing! Suggestion: It would be great if the app would also include a way for the user to see the text chunks used to generate the answer, so people can check that the answer is accurate and not either hallucinated or taken from knowledge the AI has from elsewhere. Unfortunately, I've seen too many RAG apps where either answers are inaccurate or the LLM is responding based on other knowledge and not the documents it's supposed to use.
@alejandro_ao10 ай бұрын
hey there Sharon! thanks for the suggestion! i will mention how to do this in a future video. it has changed a little since the introduction of LCEL, so it would be a very good topic to cover :)
@davidoktavianusmendrofa26318 ай бұрын
Hi, thank a lot for your sharing. And also I want to ask about error message APIConnectionError: Connection error while running Chroma.from_documents(""chunkc","embeddings"). Here I use AzureOpenAIEmbeddings.. how to solve this error? thanks for helping.
@nadiaboudjemline81049 ай бұрын
Thank you very much, I have a chatbot project and your video helps me a lot. Best wishes
@alejandro_ao9 ай бұрын
good luck with your project!
@nadiaboudjemline81049 ай бұрын
@@alejandro_ao Thank you
@nj_droidtech7 ай бұрын
How can i build this without showing the sidebar(url input), only the chat UI?
@yazanrisheh512710 ай бұрын
Please continue this and do a part 2
@alejandro_ao10 ай бұрын
what would you like to see in part 2? btw, you're hereby invited to join our Discord community: link.alejandro-ao.com/discord I hope to see you there!
@a123m16 ай бұрын
@@alejandro_aoHi. It would be appreciated if you could add one last part showing how you would use beautifulSoup to extend this app from a web page chat to a whole web site chat. Thanks.
@atifshaik11566 ай бұрын
heyy I had a doubt u said that after we do similarity based ranking with a vector db and get few chunks(context) to answer our query and then we'd pass these contexts with user query along with chat_history to an LLM, But if we pass chat_history wouldn't that exceed the max token size of an LLM if conversation went too long ??
@alejandro_ao6 ай бұрын
hey there. great question. yes, totally. if the conversation is too long, then you can exceed the context window of your LLM. however, keep in mind that modern LLMs, such as GPT-4, Claude and especially Gemini 1.5 have gigantic context windows, so this might not be too much of a concern. also, consider that sending the entire conversation history is only one method for implementing memory in these systems. you can also send a summary of the conversation + the last 10 messages, for example. or produce a NER-based memory. i don't think there is an industry standard yet for implementing memory, though. so feel free to try out several methods.
@sleepwonder530211 ай бұрын
Awesome job man! Just a question, can this work with forum-like site with multiple internal pages?
@simonsays...506111 ай бұрын
Thats what Im very curious about. I made a pdf webscraper for mining documents to train a model, but i could only get it to pull the ones on the actual page the url directed to specifically. Wondering if theres a technique for automatically searching through all the pages associated with the original url. Im sure there is, I'm just a programming noob so im learning best I can.. ✌️
@alejandro_ao11 ай бұрын
hey there! there is a way indeed, but it is a bit more complex. you would have to either: 1. have access to the website database. this way is simpler because you would just have to apply a RAG algorithm to a database. 2. scrape the website. this is more complex, as it requires using something like python's beautifulsoup to scrape the contents of the entire website. but beware because some websites don't allow bots (sometimes they can even try to get you in trouble). a no-code tool for scraping that is very good is octoparse, but know that this is on the edge of what is allowed and they have had several lawsuits in the past for making scraping so easy.
@soul_creatorАй бұрын
Hey bro im not able to install langchain in vscode help me out
@Amr-Ibrahim-AI8 ай бұрын
Thank you Alejandro for your clear and insightful tutorials. They are much appreciated. I remade your full solution and it's working like a charm. However, when I ask it a question that's outside of the context of the webpage (like: What's the capital of France?, for example), it still answers. How can I ground it to answer only from the context? i tried to add the following to the system prompt of the get_conversational_rag_chain: ("system", "Answer the user question based on the below context. If the context does not contain the answer, do not make up an answer and respond with \"I am sorry I cannot answer this out-of-context question!\": Context:{context}") However, it still answers irrelevant questions. What do you think?
@showbikshowmma35202 ай бұрын
How does the technique utilize website links to parse data, particularly in relation to the rules set by robots.txt files?
@alejandro_ao2 ай бұрын
hey there, this actually only sends a GET request to the URL you requested. in other words, it only gets a single web page, not the full website
@draaken010 ай бұрын
Excellent video. But just for suggestion can you make video on how do we deploy the same code using some microservices like fastapi? As most of your videos are using streamlit ( I actually learned a lot about streamlit 😅) but in case of simple app deployment on even localhost with fastapi or flask will be very helpful.
@thomasgaye75809 ай бұрын
Awesome course Alejandro! By the way, I'm having issue with installing "Chroma" See....I'm getting "ERROR: Failed building wheel for chroma-hnswlib"
@Mahammad_Nabi_D10 ай бұрын
Great tutorial! I'm a new subscriber and found it really helpful. I'm interested in using the Pinecone vector database for my projects. Could you please provide some guidance on how to get started with it? Any tips or resources would be greatly appreciated. Thank you!
@meetvasa69559 ай бұрын
Please Mate can you upload videos about Agents , Function calling lansmith and langserve .....Also how to create user data personalized llm's
@digitalchild10 ай бұрын
How would you handle streaming with the response ? I The docs aren't exactly clear on how to achieve this when you aren't using LCEL and the new syntax.
@alejandro_ao10 ай бұрын
i agree with that, i'm working on a video about precisely this! it is a little trickier to deal with this in streamlit, but it can be done. i would think this feature is more aimed at more sophisticated front-end frameworks such as react, though
@amrinderrandhawa679911 ай бұрын
What is the Microphone model you use in your videos ? And please share the camera details as well. thnx
@alejandro_ao10 ай бұрын
hey there, the mic is a simple TnB SC 420 USB that I borrowed from a friend. But i'm buying an audio technica at2020 very soon. And the camera is just my iPhone 13 :) I do much more post prod recently than in earlier videos, mostly with the audio, though
@Digital__Insights10 ай бұрын
Awesome thanks.
@jingyao299711 ай бұрын
Hi, many thanks for the amazing tutorial video. May I ask what extensions you were using to make code suggestions?
@alejandro_ao11 ай бұрын
hey there, thanks! i was using github copilot, it's just amazing how good it is
@jingyao299711 ай бұрын
Many thanks!@@alejandro_ao
@AB-kb8yv10 ай бұрын
Thank you, very helpful!! Will be interesting a video like this with the implementation of Mixtral.
@alejandro_ao10 ай бұрын
how are you reading into my mind?
@oludelehalleluyah67238 ай бұрын
Hi. Thanks for the very nice tutorial, how do you create those beautiful flow diagrams? Is there an app that you use?
@alejandro_ao8 ай бұрын
that's miro.com/ but i have since switched to excalidraw.com/ (example here: kzbin.info/www/bejne/oXO7inmXj5V4hJI ) both have a free tier
@oludelehalleluyah67238 ай бұрын
@@alejandro_ao Thanks a lot
@akshaysdanthi756310 ай бұрын
On what basis does RecursiveTextSplitter split the document into chunks? The chunks don't seem to be of similar sizes.
@alejandro_ao10 ай бұрын
great question! this text splitter takes the text and breaks it down by section, then by paragraph, then by sentence. on each step, it checks if it's within the chunk_size parameter (default is 4000 characters), and if it is, then it leaves the chunk as is. it is like this that our text splitter got our intro paragraph in a single chunk. and it then got larger chunks for the rest of the html document. hope this helps!
@akshaysdanthi756310 ай бұрын
@@alejandro_ao thank you !! waiting for your next video! (preferably with some free LLM)
@NasserTabook10 ай бұрын
Great video, thank you for the hard work.
@alejandro_ao10 ай бұрын
thank you, i appreciate it! i will be putting more of these :)
@tanmayjagtap789 ай бұрын
Hey Alejandro. I tried to deploy Chatwithpdf app to stream lit but its not working. whenever I upload pdf and start processing its starts to download weights. I am using huggingface APIs instead of OpenAI. Does streamlit has any sort of limitation ? IF yes is there any way I can perform this task without downloading weights just like OpenAI APIs?
@TestProd-f1s6 ай бұрын
try running ollama model and check
@FlutterinfoАй бұрын
loved your content
@rickgeyer968511 ай бұрын
Also would this site work with an open source model like Mixtral?
@j0hnc0nn0r-sec5 ай бұрын
Yes it does
@vanessamacias233111 ай бұрын
Hi, your videos are excellent! You have saved me more times than I can count. I have a question, if instead of streamlit, we are using a flask server, how can I deal with the st.session_state? What about production, would it look the same as your script?
@alejandro_ao11 ай бұрын
hey vanessa! thanks! that is exactly the way to go for a more professional app. in this video, i am using session_state because i am doing everything in the front end, which is good for POC and showcasing the app. but ideally, you would have your API in flask with all the logic there and the front end interacting with it. in your API, you would have your controller that initializes your vector store from a persistent database. this API would expose an endpoint such as `get_response(user_query, chat_history)`. and your front end would make calls to this endpoint. so there would be no need to put your vectorstore in the front end (st.session_state) since it would be dealt with in flask. the only thing that you would take track of in the front end would be things related to the session, like the chat history. you can join the discord server too and maybe we can help you a bit more 👉 link.alejandro-ao.com/discord
@ADG3065 ай бұрын
Hi! The chat is showing the scraped text and and the message in prompt template How to solve it? (As we only want to show queries and the response only.)
@ADG3065 ай бұрын
I've even tried your other tutorial of multiple PDFs, same issue there, Would appreciate your response
@teddyperera85317 ай бұрын
Amazing content as always. I have a request: Could you create a tutorial on creating a vector database with PDF files and using LangChain to query on it?
@alejandro_ao7 ай бұрын
definitely! i’ve been meaning to update my previous version of that tutorial for a while now. expect that soon :)
@seshuyt9 ай бұрын
Great video, thanks for doing it for us.
@alejandro_ao8 ай бұрын
i’m glad you appreciate it :)
@matthiasandreas654911 ай бұрын
Hi Alejandro, thanks for your videos, your videos helps me to solve my first steps in use of LLM models. Please is it possible, that you show some solution of your last Langchain videos but as GPU version, how to run ChatBot with own PDF on GPU? Thanks alot.
@alejandro_ao11 ай бұрын
hey Mathias, thanks mate, it means a lot! sure thing, i'm very glad that you share these video ideas that can be super useful to the community! i'll be working on a video about it!
@werneylima617210 ай бұрын
Hi, great video! but after I change the website URL,it keeps answering based in the first URL. I closed the browser and opened again. Inserted a different URL, and asked What is the title of the articles and still giving the title of the first URL. Even after change the URL in the text input, the program does not change the URL, because keeps answering based on the first URL.
@maria-wh3km10 ай бұрын
i guess you have to stop and start the app again to be able to give a differnt url!
@divyanshu_dubey8 ай бұрын
Great content buddy ! One question , how can we connect this chatbot to apps like WhatsApp ?
@GeorgePatterson-y7e9 ай бұрын
great tutorial - thanks so much!
@alejandro_ao9 ай бұрын
Thanks! Glad it was helpful!
@felixkuria12509 ай бұрын
Good work 👏👏 Can you do one tutorial illustrating how you can implement the same in flask or fastapi
@ibikunleadekiitan988210 ай бұрын
I have try your code it work but when i input the question i received a message TypeError: serializable.__init__() takes 1 positional argument but 2 were given
@alejandro_ao10 ай бұрын
hey mate, can you log in to our discord server and post your question in the forum? it's free and that way it's easier to help you out. remember to include your code and the full error message so that we can help you! here is the link: link.alejandro-ao.com/discord
@PerfectArmonic11 ай бұрын
Great tutorial! ❤ Do you mind if you would tell what intellisense extension do you use in your vs code? Please? 😊
@alejandro_ao11 ай бұрын
thanks! i'm using github copilot. it's great :)
@hiper2d11 ай бұрын
Hey, good video, thank you for your work. Have you tried visual recognition instead of using RAG over site's http? I saw some attempts to give an LLM an ability to navige though a site using Puppeteer and recognize pages' content from screenshots. To me the quality of the recognition appeared to be too low but this is a viry interesting way of doing the web scrapping and chatting with the collected data. How good do you find the quality of your approach?
@alejandro_ao11 ай бұрын
that would be sick. this approach is pretty much for a single HTML file. but yeah, technically i guess it is possible to use a vision api like openai's gpt4-vision and plug it into an agent that would use puppeteer to navigate the site. it would be a one-fit-all scrapper. because usually, when you want to scrape a site, you have to check its structure and target what you want to scrape manually. let me know if you make the puppeteer thing, it sounds cool
@hiper2d10 ай бұрын
@alejandro_ao Well, this is not my idea. I met it first in this video: kzbin.info/www/bejne/jJa0g2RtoJyZn7c I coded my version of the same idea to grab a list of new horror movies from one torrent tracker. Just to keep track of what new horrors are released. I was not satisfied with the recognition results. There was some room for improvement but I decided to switch to a different project. Later I met a continuation of this idea. It is possible to highlight links and buttons on a screenshot (also with Puppeteer) and let an LLM function to click on them. That sounds really interesting but this I haven't tried myself.
@luisjaimes98495 ай бұрын
thanks for sharing your knowledge, pdf files can be added?
@alejandro_ao5 ай бұрын
absolutely, but you would have to use a PDFLoader instead of the WebBasedLoader!
@srinivasvamshi54108 ай бұрын
Hi can we use opensource Ollama llama2 or mistral ??
@alejandro_ao8 ай бұрын
absolutely. just initialize ollama and import it like this: python.langchain.com/docs/integrations/chat/ollama/
@FallenJakarta9 ай бұрын
love your content !
@alejandro_ao9 ай бұрын
you are the best
@ChatbotsGPT10 ай бұрын
Hola, he seguido casi todos tus tutoriales, son magnificos y tus explicaciones muy claras y precisas, no hablo mucho ingles asi que entre mira la traduccion y mira el video, jaja, entretenido. he aprendido mucho, muchas gracias de verdad, solo una pregunta, solo funciona con chatgpt 4 o se le pude poner chatgtp 3.5?. saludos desde Mexico
@alejandro_ao10 ай бұрын
Hola! Qué gusto saber que te hayan sido útiles estos videos :) De hecho, en el ejemplo del video, estamos usando el modelo gpt-3.5-turbo porque es el que Langchain usa por defecto. Si quieres usar gpt-4, tienes que indicar al inicializar tu LLM que quieres otro modelo. Así: llm = ChatOpenAI(model='gpt-4-0125-preview'). Sigue así! Puedes unirte al servidor de discord para participar en la comunidad si quieres. Está en inglés, pero no todos allí hablan inglés como lengua materna 👉 link.alejandro-ao.com/discord
@ChatbotsGPT10 ай бұрын
@@alejandro_ao Muchas gracias maestro, nos veremos por discord. que todo el bien que haces enseñando, se te multiplique
@fbravoc974811 ай бұрын
What a great tutorial!!! Really enjoyed it!! New subscriber here!! Only one question...just for testing purposes I used the chat to ask if he could answer topics different from the context of the websites I was chatting with, and it did. It even wrote code for me. Is there a way to restrict the app to only answer about the content of the website we are chatting with and not other questions? Thanks for the amazing video
@alejandro_ao11 ай бұрын
hey there, welcome onboard! yeah, that's on of the main complications of creating rag applications. i have seen several ways of dealing with this. you might want to try some of these: 1. the main thing to do to control this issue is to add a restrictive instruction to your initial prompt. so you would have to add something like this: "Don’t justify your answers. Don’t give information not mentioned in the CONTEXT INFORMATION" 2. to go even further, you can fine-tune your model with some of these edge cases. 3. lastly, a more complex approach would be to add a "policing" ai to read the main ai's answers and decide wether to accept them or not. this is, of course, more expensive and complex.
@fbravoc974811 ай бұрын
@@alejandro_ao thanks for the quick answer
@salmansohail10814 ай бұрын
Great video and Good explanation. can we implement this without having an openai API key for free???
@maria-wh3km10 ай бұрын
Thanks for this app, you are awesome!
@alejandro_ao10 ай бұрын
you are awesome!
@easysolution82088 ай бұрын
i like you learning and implementing style can you guide how i improve my learning speed in this dynamic tech world
@Johnpaul183459 ай бұрын
Sir it's not installing chromadb plz rectify the problem
@moltak14537 ай бұрын
Does it also have access to subpages (hyperlinks) that are at the main website?
@alejandro_ao7 ай бұрын
hey there. this method only loads the web page you pass to it. you would have to code something a bit more sophisticated to crawl the entire website! beautifulsoup, browserless and puppeteer are your friends 😎
@walberc11 ай бұрын
Great work. Could you please make a vídeo about chainlit usage also?
@Travller21111 ай бұрын
Please make an video for langchain evaluators that how can we use them using huggingface it would be helpful for us
@albertogonzalezpascoe693710 ай бұрын
Hi, I think there's a little error on line 66: "input": user_query; it must be "input": user_input, doesn't it?
@alejandro_ao9 ай бұрын
you are right! currently, it is working because it's getting the `user_query` variable from the wider scope. but it should be using the function param instead or it will stop working as soon as you modularize the app. thanks! i will push the corrected code in a moment :)
@guanjwcn10 ай бұрын
Thank you for the great video. Could you do a video showing how to add in the streaming feature?
@alejandro_ao10 ай бұрын
it's coming soon!
@yashsrivastava67710 ай бұрын
How to use it with open source llm? It is incredibly hard to start without open models & datasets.
@alejandro_ao10 ай бұрын
i'll make a dedicated video about this covering the new langchain version
@ifeolu85017 ай бұрын
You are a rare gem. I really appreciate your knowledge sharing. Please help us release video that uses natural language to SQL and we can connect to WhatsApp. To make things more exciting that we can load image from WhatsApp to our database.
@vivayan9 ай бұрын
Hey pretty cool of your video! Like it! BTW could you suggest which plugin you're using for the auto-code-completing feature? Looks very useful to me. Thx!
@vivayan9 ай бұрын
I figured it out by installing plugin "Continue". Thx anyway.
@alejandro_ao9 ай бұрын
hey there! sure thing. i don't know about 'continue', but i am using gh copilot. how good is continue?
@vivayan9 ай бұрын
I compared it a bit by following your video and turned out most of the time I could get similar code prediction as gh copilot did. Only sometimes it focused more on correcting the word but not giving the correct package name within a module. I can still fix it by debugging. So overall, Continue is good and enough for me, and free!@@alejandro_ao