How to create the ULTIMATE Ollama UI app with Streamlit
Vložit
- čas přidán 5. 07. 2024
- In this tutorial, we'll build a full-fledged Streamlit app user interface to interact with our local model using Ollama! I chose Streamlit because it is easy to get started and very composable.
Before starting, download [Ollama](ollama.com/) on your local machine.
Enjoy, and please leave your feedback in the comments!
TIMESTAMPS:
============
0:00 - Introduction
0:47 - Preface
1:44 - Code directory walkthrough
6:52 - Streamlit chat UI for Ollama code
15:59 - Streamlit multimodal UI for Ollama code
26:36 - Streamlit UI for Ollama model management
31:34 - Streamlit Ollama UI app demo
42:56 - How to clone and implement the code
44:52 - RAG app update
45:22 - Conclusion and outro
LINKS:
=====
🔗 GitHub repo:
github.com/tonykipkemboi/olla...
Follow me on socials:
=================
/ tonykipkemboi
/ tonykipkemboi
#ollama #streamlit #machinelearning #ai #llm #llava #multimodal #settings - Věda a technologie
I am starting to think that youtube algorithm now read minds with this video suggestion 🤔
😂 well, that's awesome 🙌
CZcams algorithm worked well for me :D
try checking auto-completion in colab... really scary...
I am building the chatbot app with ollama and chromadb. I watched 4 videos related to that in your channel. And it is really understandable and easily explained compare to any other YT channel. Thanks for helping me.
@@rushabhshah12200 thank you and glad you found the videos helpful!
Loved that you explained the directory structure, good to know industry level stuff. Thanks, insist you to explain more modular directory designs in upcoming videos.
Thanks, will do!
it is good to know that ollama has openai compatibality.
Hey Tony !
There you go, you have a new fan.
Thanks a lot for sharing all of this content.
Awesome, thank you! 😊
This makes using offline models so much easier having a UI interface like this, would be amazing to see some kind of PDF uploader that can learn from your documents... AI is moving so fast so I suspect there will be an easy one stop solution soon for all the non-coders out there. Great work on the video!
Thank you and I agree with you. I will be working on a RAG one soon. There's just many edge cases for each file type.
@@tonykipkemboi that would be excellent thanks, PDF can have so many different formatting's but I think just start with simple text based only PDFs
I feel like you just gave me and everyone a gift...awesome video this
🙏 😊
great demo, never used streamlit before, as long term flask user thanks for a first intro into streamlit library,great job well presented
Thank you!🙏 It's awesome, check it out and let me know know.
Great job! I like your code review style instead of code writing.
Thank you! I find it much better explaining how it works rather than doing live coding since most of them time I've done it prior to the recording. There's only a few cases that I prefer more interactive live coding.
Just early feedback, it worked like a charm without any issues. You may want to show people conda and give them some sample connects in git as an extra add-on so they don't mess up their env
Will take a look and I may want to modify this because it's a nice UI to learn on
Thank you! Awesome feedback. I will keep that in mind for the next ones.
I am going to learn how to get verbose stats like inference speed added to the display just to play around with the code
Good one 👍
Thank you 🙏
excellent! possibly in future video to expect a combined version of this and your previous video with local pdf?
Yes, I'll be doing a RAG specific app.
Good one ❤
Thank you so much 😀
Looking forward to your RAG one. Hope you can put in memory management too. ❤
Good idea! Yes, I'll add that to the list. Thank you for the feedback.
thank you, very good video! i wanted to try, but it seems that browserless api is not free anymore, is there any other options?
Yes, unfortunately they make you pay after a 7-day trial now. I would use exa.ai.
will it work for pdfs ,that too specifically for text based (actually there are 2 types of pdfs , 1)text base 2) image based
So I haven't implemented the RAG portion of the app but if you're reffering to using `llava/bakllava` for this, then it will work for the image PDFs for sure but accuracy is not guaranteed. You have to remember to convert the PDFs to images, .png for it to work.
man, good job. that is what i want. i hope you to add RAG(URL/PDF) integrating in this Demo. change st.switch_page grammar for new streamlit doc
Cool! I don't think I quite understood what you mentioned about `st.switch_page`; do you need me to use `st.switch_page` to do something particular in the demo app?
@@tonykipkemboi if st.button("Go to settings to download a model"):
st.switch_page("pages/03_⚙_Settings.py")
Badly need a video on stable RAG that you were going to integrate in this ultimate UI ! When is it coming out ??
I'm going to probably work on it next month. I've been traveling a lot for work the last few weeks and have time had time to shoot.
@@tonykipkemboi Much awaited! Its a special request please try to release it as early as you can.
@@tonykipkemboi yes bro, waiting for that
Hi! When is the video on integration with RAG coming?
I am finalizing the app itself atm. I'll add the PDF RAG UI for now since the other integrations are breaking frequently. Thank you for your patience.
is it support with another languange?
The app itself?
can you containerise with Docker?
Yes you can. Follow this guide from Streamlit: docs.streamlit.io/deploy/tutorials/docker
@@tonykipkemboi thank you for the quick reply! sorry i forgot to mention if i use ollama in my app, can you containerise the app with Docker? if yes, would you please tell me how?
Agree. Live coding is unnecessary. Better with your method.
Thank you. Glad you share the same sentiment ❤
I appreciate the video, but emojis don't make anything cool, haha
Thanks! Yes, very dependent on the person I'd say. I happen to prefer them on my Streamlit apps but can also be taken out easily.
Yes, of course I was joking. The overuse is really the issue.
Good point. I get too carried away with the emoji's especially if it is an app am building to use locally 😅