Build a Streamlit Chatbot FAST 🤯

2024 ж. 18 Мам.
38 051 Рет қаралды

👉 DOWNLOAD MY EXCEL ADD-IN: pythonandvba.com/mytoolbelt
In this video, I demonstrate how to use the new chat feature in Streamlit to build a ChatGPT clone. Beginning with a simple chat application, we explore Streamlit's "chat_message" and "chat_input" features, adjust user roles, and customize avatars.
I also explain how to use the session state feature to retain conversation history, similar to a regular browsing session. Later in the video, we enhance our application by integrating the OpenAI library and Streamlit's secrets manager to securely manage API keys.
All code used in this video is sourced from the Streamlit documentation which can be found here: docs.streamlit.io/knowledge-b...
⭐ 𝗧𝗜𝗠𝗘𝗦𝗧𝗔𝗠𝗣𝗦:
0:00 - Intro
0:30 - Simple Example
1:39 - Echo Bot
4:10 - ChatGPT Clone
7:44 - Outro
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
𝗖𝗢𝗡𝗡𝗘𝗖𝗧 𝗪𝗜𝗧𝗛 𝗠𝗘:
🌎 Website: pythonandvba.com
📝 GitHub: github.com/Sven-Bo
⭐ Discord: pythonandvba.com/discord
📷 Instagram: / codingisfun_official
▶️ Subscribe: kzhead.info?sub...
📚 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 𝗳𝗼𝗿 𝗹𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗩𝗕𝗔 & 𝗣𝘆𝘁𝗵𝗼𝗻
Check out my recommendations: pythonandvba.com/resources
☕ 𝗕𝘂𝘆 𝗺𝗲 𝗮 𝗰𝗼𝗳𝗳𝗲𝗲❓
If you want to support this channel, you can buy me a coffee here:
pythonandvba.com/coffee-donation

Пікірлер
  • *Here is the link to the written tutorial, incl. the code:* ⤵ docs.streamlit.io/knowledge-base/tutorials/build-conversational-apps

    @CodingIsFun@CodingIsFun10 ай бұрын
  • You have an amazing teaching style! Really love it and wish you could produce more content

    @srh1034@srh103410 ай бұрын
    • Thanks for the kind words! I am glad you enjoyed it. ♥

      @CodingIsFun@CodingIsFun10 ай бұрын
  • love it, great video as always🙌

    @CandyMan...@CandyMan...10 ай бұрын
    • Happy to hear that you enjoyed this one too! Thanks for the comment! 🙏

      @CodingIsFun@CodingIsFun10 ай бұрын
  • This is awesome, thanks for the content.

    @praveenvishnu17@praveenvishnu1710 ай бұрын
    • My pleasure! Appreciate you taking the time to watch and leave a comment. 👍

      @CodingIsFun@CodingIsFun10 ай бұрын
  • Cool!! Thanks for this.

    @AaSinSin137@AaSinSin13710 ай бұрын
    • Glad you liked it. Thanks for watching and taking the time to leave a comment!

      @CodingIsFun@CodingIsFun10 ай бұрын
  • i just love you man

    @lomo3533@lomo35339 ай бұрын
    • Thank you ❤️

      @CodingIsFun@CodingIsFun9 ай бұрын
  • thanks man, this helped me a lot 🙌

    @brook26x@brook26x22 күн бұрын
    • Glad I could help! Thanks for watching and for the kind words. Cheers, Sven ✌️

      @CodingIsFun@CodingIsFun21 күн бұрын
  • Great video - thank you

    @micbab-vg2mu@micbab-vg2mu10 ай бұрын
    • Glad to hear you liked it! Thank you for commenting and watching.

      @CodingIsFun@CodingIsFun10 ай бұрын
  • It was really great. Please provide a tutorial on deploy app in streamlit that we can make public and always available. I don't want it to go to sleep after 7 days.

    @abdollahchelasi1477@abdollahchelasi147710 ай бұрын
    • Thanks for watching. Here you are: kzhead.info/sun/Z7eIY6eNjoKPmWg/bejne.html

      @CodingIsFun@CodingIsFun10 ай бұрын
  • Hi. Thank you for an amazing video once again. What other models can I use that will be free or is this only for paid OpenAI accounts?

    @arnoldtvisagie@arnoldtvisagie10 ай бұрын
    • As always, thanks for watching. As far as I know, there are no free APIs offered by OpenAI

      @CodingIsFun@CodingIsFun10 ай бұрын
  • Super Awesome video. which editor do you use ?

    @AkulSamartha@AkulSamartha8 ай бұрын
    • Thanks for watching. Glad you liked it. For that video, I used "Atom"

      @CodingIsFun@CodingIsFun8 ай бұрын
  • Thank you.. I have exhausted the openai api key usage... Are there any free options?

    @gunngunn6763@gunngunn676310 ай бұрын
    • Thanks for watching. Not that I know of.

      @CodingIsFun@CodingIsFun10 ай бұрын
  • Hi that was a great session, could you please give me the complete path for this file which you had uploaded in Github Repo? thankyou!!

    @amanvaishya9867@amanvaishya98673 ай бұрын
    • Thanks. As I am mentioned, I took the code from the streamlit docs: docs.streamlit.io/knowledge-base/tutorials/build-conversational-apps

      @CodingIsFun@CodingIsFun3 ай бұрын
  • Thanks! I have a question, is it possible to do chat_input disabled till we get full response, and enable back again after we get it

    @Burmachach-zc2ls@Burmachach-zc2ls19 күн бұрын
    • Thank you very much for watching the video and your comment. Your requirements are well noted. Yet, I receive many requests for creating individual solutions. As much as I want to help, I simply do not find the time in my daily schedule to develop & test all the different requests. I hope you can understand. Thank you! Cheers, Sven ✌️

      @CodingIsFun@CodingIsFun13 күн бұрын
  • Where was this last week! I was hired to make a chatgpt clone and was stuck thanks to you I can continue it

    @mr_kobayashi@mr_kobayashi10 ай бұрын
    • This feature is fresh out of the oven and was just released on June 27. Good luck with your project! 🍀

      @CodingIsFun@CodingIsFun10 ай бұрын
    • @@CodingIsFun Thanks for the tutorial, I'll try my best.

      @mr_kobayashi@mr_kobayashi10 ай бұрын
  • Hey, I need an Excel formula that can apply comma before an entirely uppercase word but without VBA cuz using VBA is not allowed in my company. Could you pls help me?

    @komalxz@komalxz10 ай бұрын
    • Thanks so much for watching the video and leaving a comment! Your request is definitely noted. However, I get a ton of requests for custom solutions and, as much as I'd love to help everyone out, I just don't have the time in my schedule to develop and test all of them. I hope you can understand. Happy Coding!

      @CodingIsFun@CodingIsFun10 ай бұрын
    • @@CodingIsFun okayy thankss

      @komalxz@komalxz10 ай бұрын
  • 🎉 can you create a sample projects calculator of Solar system

    @iDea16369@iDea1636910 ай бұрын
    • Thank you very much for watching the video and your comment. Your requirements are well noted. Yet, I receive many requests for creating individual solutions. As much as I want to help, I simply do not find the time in my daily schedule to develop & test all the different requests. I hope you can understand. Thank you!

      @CodingIsFun@CodingIsFun10 ай бұрын
  • This video is very interesting. The only issue is this requires Open API (Secret Key).

    @zhilee8729@zhilee872910 ай бұрын
    • Thanks for watching! 👍

      @CodingIsFun@CodingIsFun10 ай бұрын
    • You can do it with gemini or any other open model from hugging face, for free

      @naomilago@naomilago9 күн бұрын
  • Im trying to make code in such a way that if my input in streamlit chat is some specific questions then user get s options as buttons and on clicking that thing gets input in chat . I tried doing it but the buttons only work outside the if prompt loop seperately and not inside the prompt loop. Any solution?

    @dhmkkk@dhmkkk2 ай бұрын
    • Thank you very much for watching the video and your comment. Your requirements are well noted. Yet, I receive many requests for creating individual solutions. As much as I want to help, I simply do not find the time in my daily schedule to develop & test all the different requests. I hope you can understand. Thank you! Cheers, Sven ✌️

      @CodingIsFun@CodingIsFun2 ай бұрын
  • Great video. However, I'm getting an error: "RateLimitError: You have exceeded your quota" and I haven't even generated a conversation using the API. Or are OpenAI APIs just whack

    @arcanum360YT@arcanum360YT2 ай бұрын
    • Thanks for watching. Have a look here: help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details I hope it helps! Cheers, Sven ✌️

      @CodingIsFun@CodingIsFun2 ай бұрын
  • Great tutorial, but I have one small issue. From asking second question onwards, I find that all of the previous "assistant" content will display twice on the screen. Example of asking up to 3rd question and stop: User: Hi! Assistant: Hi, how can I help you? Assistant: Hi, how can I help you? User: Do you know CodingIsFun channel? Assistant: Yes, he teaches many Streamlit tutorials in his channel Assistant: Yes, he teaches many Streamlit tutorials in his channel User: Where is he from? Assistant: He is from Germany

    @limjuroy7078@limjuroy70783 ай бұрын
    • Thanks for watching. Hard to tell from a distance why you are facing an issue

      @CodingIsFun@CodingIsFun3 ай бұрын
    • @@CodingIsFun I solved it 10 minutes ago 😂 I didn't notice that my program saved the assistant response twice in the session.state.messages

      @limjuroy7078@limjuroy70783 ай бұрын
  • does this still work? i think open ai upfated and it says outdated.

    @tanyyu@tanyyu4 ай бұрын
    • Thanks for watching. Yes, it works

      @CodingIsFun@CodingIsFun4 ай бұрын
    • ​@@CodingIsFunNo, I've tried it and it updates. Mine is an error, please make a new tutorial video 😢🙏

      @Aynay27@Aynay273 ай бұрын
    • @@Aynay27 My example is staight from the docs: docs.streamlit.io/knowledge-base/tutorials/build-conversational-apps If you think, there is a bug in the Streamlit docs, you might want to raise a Github issue.

      @CodingIsFun@CodingIsFun3 ай бұрын
    • @@CodingIsFun I don't think @tanyyu and @Aynay27 are referring to Streamlit, that part is fine! What doesn't work is the way you interact with the OpenAI API which indeed has updated and it doesn't work like it's showing on the video anymore as that is considered deprecated. The solution could be to either to downgrade the version of the OpenAI lib with `pip install` or to update the code to reflect the new OpenAI API on chat completions which would be something like: ``` for response in OpenAI().chat.completions.create( model=st.session_state["openai_model"], messages=[ { "role": m["role"], "content": m["content"], } for m in st.session_state[MESSAGES] ], stream=True, ): full_response += response.choices[0].delta.content or "" message_placeholder.write(full_response) ```

      @Nuno_Reis_Official@Nuno_Reis_Official2 ай бұрын
    • @@Nuno_Reis_Official Thanks, that's a good point. Regarding my previous answer, I simply cannot give any advice without knowing the error message

      @CodingIsFun@CodingIsFun2 ай бұрын
  • Please address my query, how to deploy a chatbot on our website?

    @shahinaperveen-yq4pb@shahinaperveen-yq4pb7 ай бұрын
    • Ok, but please do not spam

      @CodingIsFun@CodingIsFun7 ай бұрын
  • I hate that thing I can't use chatgpt api with out a billing address. Maybe it's free but I need to give my bank details. I hate this about chatgpt api.

    @__________________________6910@__________________________691010 ай бұрын
    • Thanks for watching. Yes, unfortunately there is no free lunch in life :(

      @CodingIsFun@CodingIsFun10 ай бұрын
    • @@CodingIsFun 🙂

      @__________________________6910@__________________________691010 ай бұрын
  • Can we share streamlit url to anyone?

    @Analytix_AI@Analytix_AIАй бұрын
    • Yes, after you have deployed your app, you can also share the url. I already have tutorials here on my channel on how to deploy a Streamlit app. Cheers, Sven ✌️

      @CodingIsFun@CodingIsFunАй бұрын
    • @@CodingIsFun thanks 😊

      @Analytix_AI@Analytix_AIАй бұрын
  • Bro I’m aspiring data analyst but I am worried and really depressed because of gpt 4

    @hsk7715@hsk771510 ай бұрын
    • Don't worry. I suggest you get to know these tools well. Use them to help you work better and faster. I might actually make a separate video on this topic.

      @CodingIsFun@CodingIsFun10 ай бұрын
  • Good job. Cool videos

    @armantech5926@armantech592610 ай бұрын
    • Thank you! Happy to hear that you're enjoying the videos! :)

      @CodingIsFun@CodingIsFun10 ай бұрын
  • What is difference st.secrets vs os.getenv?

    @grev201@grev20110 ай бұрын
    • The key difference is that os.getenv reads environment variables from the operating system, while streamlit.secrets provides a secure way to store and access sensitive data specifically within Streamlit applications, adding an extra layer of security when sharing or deploying these apps.

      @CodingIsFun@CodingIsFun10 ай бұрын
KZhead