DevXplaining
DevXplaining
  • 158
  • 355 490
Ollama in a RASPI | Running a Large Language Model in a Raspberry Pi
Hi and welcome back to DevXplaining channel! In todays video, we'll go through how to install Ollama and a large language model in a Raspberry Pi. I'll also cover the prerequisites needed to make it happen smoothly, and give you a glimpse at the performance and use cases for this.
So join me for a bit and as always, I appreciate any likes, feedback and comments. Feel free to subscribe to my channel for more content like this! Might get inspired to do a follow-up with some coding as well.
Links in the video:
- www.raspberrypi.com/software/operating-systems/
- ollama.com/
zhlédnutí: 201

Video

Retrieval Augmented Generation with Python+Ollama+Phi3+ChromaDB | How to RAG with a local model
zhlédnutí 550Před měsícem
Hi and welcome to DevXplaining channel! Todays I've got a long-form video of a Retrieval Augmented Generation (RAG) using Ollama, ChromaDB, and a little bit of Python. We'll be using RSS feed as our source, and create a program that's able to query that source and use generative AI model to answer questions. Cool thing in todays video is that it's all open source, it's all local model, so this ...
Ollama + Phi3 + Python - run large language models locally like a pro!
zhlédnutí 2,6KPřed měsícem
Large Language Models are popular these days. In this video I'll cover what is Ollama, how you can use it to pull and run local LLM models like Phi3, Mistral, Llama, or similar ones. We'll also cover the setup, do a bit of model customization, and a little bit of Python programming in the end as well. I'll be doing a follow-up video on Ollama RAG if there is enough interest. Let me know how you...
Certifications Are (Still) Useless!!?
zhlédnutí 328Před 2 měsíci
Welcome to DevXplaining video - this one is some thoughts on certifications, getting certified, skill levels, and effects on salary. Sorry, no coding in this one, we'll get back to that later. This video should work nicely also as just audio, if you like me like to listen to CZcams rants when working out. Are certifications useless? Is there any value in obtaining a certification for AWS Certif...
Spring AI RAG | Chat with your PDF Documents using Java and Spring Boot
zhlédnutí 4KPřed 3 měsíci
Hi and welcome back to my channel! Todays video goes through an example of Retrieval Augmented Generation using Large Language Models (OpenAI in this case)- or how to chat with your PDF documents - using Java 21, Spring Boot, and Spring AI module. As always, the code I will show here is available in Github, link below this. I will cover how to use Vector databases and prompt engineering to limi...
Java 21 + Spring Boot 3.2 + Spring AI = Software Development Advice from Miyamoto Musashi
zhlédnutí 1,2KPřed 4 měsíci
Hi and welcome to DevXplaining channel! Todays video is a nice tutorial on how to slam together three modern components: Java 21, Spring Boot 3.2, and Spring AI - the newcomer. I will start from scratch, put these together, and create a RESTful AI service that leverages OpenAI API to provide deep and meaningful advice for a software developer - from the late and great Miyamoto Musashi, a legend...
Java 22 New Features | What's coming up in future of Java?
zhlédnutí 3,6KPřed 5 měsíci
Hi and welcome back to DevXplaining channel! It's time to start this year by learning and talking tech again. For this first video, we'll stick to basics. Java 21 was recently released in 2023, but now we have bold new year 2024, and upcoming Java 22, that will build on the previous version, and add a bunch of new features. Join me for this video, where I'll comment through all the new things c...
Virtual AI Assistant | Code it yourself with Python
zhlédnutí 671Před 7 měsíci
Earlier, I made a video about how to build your own voice-based AI virtual assistant - with a personality. Today it's time to revisit that topic, but with some improvements, and a bit more elaboration, plus all the code you see me do, you can check out from my Git repository link below. The assistant uses as combination of SpeechRecognition (google in this case), OpenAI API with gpt-4 turbo mod...
Advent of Code 2023 | Advent Calendar For The Coders
zhlédnutí 1,6KPřed 8 měsíci
In this video, I'll cover what is the Advent of Code, why you should consider participating in it this year, and how can you participate in the Advent of Code. I'll also share some tips and tricks to make the most of it while attending. I'll also explain why I'll be investing some of my precious December time to participate here, and what programming language and setup I'll be using this year. ...
Java 21 Record Patterns and Pattern Matching | Making Switch Great Again
zhlédnutí 1,3KPřed 8 měsíci
Java 21 was recently released with a lot of goodies now out of preview and ready to use. Unlike virtual threads, Java 21 changes related to switch statements, record patterns, record deconstruction, and pattern matching are things every developer should know now. Some of them will give you a big boost for Java code efficiency and readability, as well, so learn them now. I made a short video tha...
Java 21 Virtual Threads | Scale your threads optimally
zhlédnutí 431Před 9 měsíci
In this video, I'll go through one of the major features of Java 21 - the virtual threads model. Virtual Threads allow thread-using applications to scale with much better resource utilization, thus we achieve better scaling and faster speeds when the hardware allows it. Another cool thing is that any changes to your existing code would be minimal. So join me for a bit, I'll introduce this topic...
Java 21 String Templates | Java 21 New Features
zhlédnutí 1,1KPřed 10 měsíci
Today's video is about Java 21 String Templates. String Templates (JEP 430) is a preview feature of Java 21 - the latest big update for the Java platform. In this video, I'll cover the basics with some examples of what you can do with it, and what is it good for. As always, appreciate likes and feedback if you like the content, and do drop questions or feature requests if you have any. Subscrib...
Java 21 New Features | What's New In Java 21?
zhlédnutí 3,7KPřed 10 měsíci
In this video, I'll cover what's new in Java 21? More precisely, three sections: 1) What's new since Java 17 (Java releases 18, 19, 20) 2) What's new in Java 21 that's released? And 3) What's in the preview/incubator state in Java 21, in other words, what's coming up in later releases? So join me and watch this video to get an overview of what's included, what they mean, whether or not you shou...
Java 21 Hello World | Java 21 New Features
zhlédnutí 614Před 10 měsíci
Welcome to join me for a new Java 21 topic: The evolution of Hello World from ancient Java to the modern Java 21 version. We'll go through how the Hello World works in Java 21, why it was changed, and how you are able to use the new form. This video works as a warm-up for the more advanced Java 21 features, so you should definitely start watching from here. Java 21 is full of new features, so a...
Langchain Memory Model | How can LLM AI hold a ChatGPT-like conversation?
zhlédnutí 3,8KPřed rokem
Langchain Memory Model | How can LLM AI hold a ChatGPT-like conversation?
Getting Started With Langchain | ChatGPT Python Agents With Web Search Capabilities
zhlédnutí 2,2KPřed rokem
Getting Started With Langchain | ChatGPT Python Agents With Web Search Capabilities
Chat with your blogs | Langchain, OpenAI APIs and GPT4All Embeddings
zhlédnutí 2,2KPřed rokem
Chat with your blogs | Langchain, OpenAI APIs and GPT4All Embeddings
How to run ChatGPT in your own laptop for free? | GPT4All
zhlédnutí 4,1KPřed rokem
How to run ChatGPT in your own laptop for free? | GPT4All
How To Create ChatGPT Virtual Assistant With Python
zhlédnutí 2,4KPřed rokem
How To Create ChatGPT Virtual Assistant With Python
ChatGPT API
zhlédnutí 283Před rokem
ChatGPT API
ChatGPT Fails And Limitations | Artificial Stupidity
zhlédnutí 1,5KPřed rokem
ChatGPT Fails And Limitations | Artificial Stupidity
Java 20 New Features | Scoped Values and beyond Java 20
zhlédnutí 3KPřed rokem
Java 20 New Features | Scoped Values and beyond Java 20
ChatGPT writes my code - AND my unit tests??
zhlédnutí 1,3KPřed rokem
ChatGPT writes my code - AND my unit tests??
The Best Advent Calender? | Tips and tricks for getting the most out of Advent of Code
zhlédnutí 149Před rokem
The Best Advent Calender? | Tips and tricks for getting the most out of Advent of Code
Best Jupyter Keyboard Shortcuts | Data Science For The Developer
zhlédnutí 589Před rokem
Best Jupyter Keyboard Shortcuts | Data Science For The Developer
7 Reasons Why I Love Jupyter Lab! | Data Science For The Developers
zhlédnutí 4KPřed rokem
7 Reasons Why I Love Jupyter Lab! | Data Science For The Developers
How To Get Started With Jupyter Notebook | Data Science For The Developers
zhlédnutí 514Před rokem
How To Get Started With Jupyter Notebook | Data Science For The Developers
Let's Terraform Part 6: AWS S3 Backend And Remote State | Terraform Backends And Statefiles
zhlédnutí 141Před rokem
Let's Terraform Part 6: AWS S3 Backend And Remote State | Terraform Backends And Statefiles
Java 19 and beyond | What's new in Java 19?
zhlédnutí 3,3KPřed rokem
Java 19 and beyond | What's new in Java 19?
Java 19 And Beyond | New Parallelism Through Virtual Threads And Structured Concurrency
zhlédnutí 1,4KPřed rokem
Java 19 And Beyond | New Parallelism Through Virtual Threads And Structured Concurrency

Komentáře

  • @leonardosouzaconradodesant6213

    Great thank you. And by the way, I'd like that video using chromaDB as an application node running in background. See you!

  • @JoanApita
    @JoanApita Před 4 dny

    Thank you for sharing this video. I learned a lot today. Please keep them coming. Thank you

    • @DevXplaining
      @DevXplaining Před 3 dny

      Thank you for your feedback! Much appreciated!

  • @praveenmail2him
    @praveenmail2him Před 14 dny

    Great video. Please keep posting more examples.

  • @julienr8114
    @julienr8114 Před 23 dny

    What a useless feature... and a dirty impletentation of templating

    • @DevXplaining
      @DevXplaining Před 23 dny

      Indeed. Seems it's not going to make it into future releases.

  • @liqwis9598
    @liqwis9598 Před měsícem

    one doubt i have ollama which will have a ai model lets say mistral or meta now i am connecting this to my springboot app and lets say i have a pdf about my product can show me how a rag implementation done here and when a api is sent it should give me the data about the PDF

  • @liqwis9598
    @liqwis9598 Před měsícem

    good ones , we want more usecases for AI and springboot

  • @cesarhernandezcinfo
    @cesarhernandezcinfo Před měsícem

    Great video, very practical information. Thanks

    • @DevXplaining
      @DevXplaining Před měsícem

      Thank you! Much appreciated! More to follow on the topic. Stay tuned. :)

  • @rasmustoivanen2709
    @rasmustoivanen2709 Před měsícem

    Great video! Ideas for future videos: Try out different embedding models (I think the ChromaDB default is all-MiniLM-L6-v2) Set up a separate embedding database. Maybe something more familiar with developers like Postgres + pgvector + hnsw indexing (Important to trial out different index building parameters)

  • @suraj_bini
    @suraj_bini Před měsícem

    Documents Q&A mini project with Phi3 mini

  • @m12652
    @m12652 Před měsícem

    Is it better than VSCode?

    • @DevXplaining
      @DevXplaining Před měsícem

      Well, I use both. VSCode is awesome for dealing with multiple languages and config files, very flexible. Jupyter is great when dealing with mostly Python and data files, soecialized in those. I've got Jupyter plugin in VSCode too, so I use both, depending on what I'm working on.

    • @m12652
      @m12652 Před měsícem

      @@DevXplaining Fair enough... does Lab do anything vsc doesn't?

  • @CodeWithSeenu
    @CodeWithSeenu Před měsícem

    Is there a way to enable jdk 22 features by default without mentioning it everytime “-preview-enable -source 22”? If I use JAVA_TOOL_OPTIONS = -preview-enable -source 22 environment variable, then I’m getting “Unrecognized option: -source”. And tried JDK_JAVA_OPTIONS environment variable instead of JAVA_TOOL_OPTIONS. It’s working 🎉 But now vscode is not working as expected 😅. Is there a solution for this?

    • @DevXplaining
      @DevXplaining Před měsícem

      No, the preview features are always behind the preview flag. Of course the idea is that eventually they get out of preview and become just normal features and thus flag is no longer neede. (Or not, they may never become features, or may change a lot before becoming features). So anything behind the flag is more like a cutting edge sneak peak than something actually released and stable. So good for playing and feedback, but not so reliable for production use - yet. Of course you can hide any flags you need in some kind of startup script etc, so nobody needs to actually see them. Java typically uses all kinds of parameterization anyways.

    • @CodeWithSeenu
      @CodeWithSeenu Před měsícem

      @@DevXplaining yeah got it thanks. Hope they’ll make those features normal soon ✌🏼

  • @kisho2679
    @kisho2679 Před měsícem

    Why does exporting mathematical formulas (Markdown, LaTex) into PDF or HTML not work (e.g. $\Epsilon$)?

    • @DevXplaining
      @DevXplaining Před měsícem

      Oh yes, you've hit one of the weaknesses/limitations of the current RAG model in general (and vector databases). They are suprisingly awesome at digesting and using huge amounts of unstructured data. But the simple examples do not even attempt to deal with bits that require specific interpretations. PDF readers are good at grabbing document data, titles and paragraphs, to make sense of it. But they currently already struggle with tabular data, diagrams, charts, and yes, math formulas. Furthermore, those are fed into vector database as text typically, and similarity search also works text-based. And when you retrieve it, you retrieve text. I'm afraid there's not much to do about it, except you can of course create a specific pre-parser for the documents, or tune your pdf processor or write your own, to decide the rules how the pdf or html is interpreted and stored. I don't know your exact use case, but my advice would be: yes, it's not working, because it's not a trivial problem to solve. Yes, you can probably solve it, but you need to rethink it. Math formulas typically benefit from more structured content. You can always handle them outside the system, perhaps store some links or references in the rag solution to find and fetch them etc. I have to say haven't had to solve this issue yet but already the tables are a common challenge and question with current gen RAG solutions. It's a decent start but more is needed.

    • @DevXplaining
      @DevXplaining Před měsícem

      Oh, forgot one thing: multimodal models that are able to make sense of images might be interesting to explore for formulas, to work around text conversion.

  • @victortarus2814
    @victortarus2814 Před měsícem

    Kiitos paljon

  • @user-pb8qi4ht4h
    @user-pb8qi4ht4h Před měsícem

    Create a Basic RAG model AI chatbot using any open-source model available. Database: Zilliz/Supabase or any Vector DB, of your choice. Backend: Java Frontend: HTML/CSS/JS (or anything you are familiar with) Backend should haveAPI for: • Upload a file or text - text should then be converted into chunks and then embeddings (You can use any open-source embedding model or paid one too). Embedding should then be stored in a vector DB with vector index of your choice (Cosine/ L2/KNN). • Chat API -> prompt or user queries should be passed in this API and using prompt engineering response should be derived from any Language model. Frontend: UI does not have to look pretty. basic pages should be there - 1. For uploading docs or text for training the RAG model. 2. Basic chat interface where user can send message and receive the response. Sir please help me how to do this project🙏🙏🙏🙏🙏🙏

    • @DevXplaining
      @DevXplaining Před měsícem

      Awesome idea! Working on something else right now, but this sounds like a good plan for a long form video, and a fun one.

    • @steffonell
      @steffonell Před měsícem

      Give me your job, Ill do it for easy

  • @MrSocialPirate
    @MrSocialPirate Před měsícem

    Thank you for the video! I think what must be said is the non-techincal filter on job applications. Many recruiters/HR will be inundated with applications in these market conditions, so, why not offer yourself another reason to get put in the 'positive' pile.

    • @DevXplaining
      @DevXplaining Před měsícem

      Oh yeah, a very good point. Job market is a bit more challenging right now, so anything concrete to be able to show might just give you that edge. In that sense, even the lightweight free certificates you can do within few hours work. Probably not going to be the main decision factor, but just a little bit of extra on top.

  • @user-hd1mn9hh8b
    @user-hd1mn9hh8b Před měsícem

    Nice video! Can you do it with front end like nextJs ? it will be really appreciated and helpful!

    • @DevXplaining
      @DevXplaining Před měsícem

      Thank you! I did not include frontend because on top of API that is quite straightforward, and tried to keep the video compact. But I've been thinking of doing a bigger video with full stack, because it looks a lot nicer. But not there yet, at least. It would really be a trivial NextJs (or any other framework) web app that you dump into spring boot 'public' folder under sourcecode. So I'll definitely take that under consideration, but probably not going to happen soon.

  • @jsch2710
    @jsch2710 Před měsícem

    Hey, I just saw this video and I think the potential is huge, really great video! I was wondering if you could show how to correlate with the different tags you can add in oura? That would be really helpful :)

    • @DevXplaining
      @DevXplaining Před měsícem

      Interesting idea, haven't done that yet so need to look into it, if I find something cool I'll definitely be back. Not sure how the API works for them yet, but can see how that could be useful.

  • @zznabil8109
    @zznabil8109 Před 2 měsíci

    Certificates are the new Degree Scrolls

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Haha, should actually be delivered as sealed physical scrolls I think :)

  • @conceptin10minutes
    @conceptin10minutes Před 2 měsíci

    Very informative video. Nice one.

  • @lahiruchethiyaJayasinghe
    @lahiruchethiyaJayasinghe Před 2 měsíci

    Hi How to read and save json document in vector db

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Hmm, perhaps a topic for another video. Short answer is... depends.

  • @kappaj01
    @kappaj01 Před 2 měsíci

    Greate video with lots and lots of great information.

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Thank you for the feedback! Much appreciated! Love to learn and share these things, I understand best by building and tinkering. Some more cool RAG stuff coming up soon! :)

  • @joalafreak1588
    @joalafreak1588 Před 2 měsíci

    Hi, am new to Java can you make a viode about what type of project should I create to practice Spring boot framework.

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Sure, I've done few in the past on my channel, but of course might be nice to redo since both Java and Spring have gone a long way since then. I've mostly been showing Spring Boot + Web module, to create RESTful APIs, and what you want to do behind that is of course up to you, but most often it includes database. But, while waiting for new video, these should still work to give you the big picture: - czcams.com/video/xxRw0XIoKvA/video.html - czcams.com/video/KsWg6nPVwsg/video.html - czcams.com/video/Sg1b0sugbtg/video.html Thanks for tuning to my channel!

  • @lazar9677
    @lazar9677 Před 2 měsíci

    Well explained, thank you!

  • @SuperVinayaka
    @SuperVinayaka Před 2 měsíci

    Great video. I had a question. lets say we are building a chatBot and we need to make sure that the bot answers questions that are available in a document as well as personalized questions for a specific customer [which can be retrieved using some API's that have been exposed]. How would you do it?

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Hmm ,interesting question. If I got it right, some customers would get answers based on the document, but others would get answers based on some APIs? If so, in both cases you want to inject some context in system level instruction, either from vector database/document, or an API - so that part remains the same. So when you need to answer an API, you would call the API, get the context for the question, then include that in system direction. No need for vector database, as long as what the API returns a) has all the context info needed and b) is relevant and c) is not too massive to chat in the available tokens. So in both cases, grab the context information, feed in the system level instruction like in my code. Decide on top of that which context is used for which user. One thing I'm not doing in this video, is keeping a conversational memory: I'm just asking a question, and activating context + chatgpt to handle it, but then forgetting all the conversation. So with conversational memory, would need to be a bit more careful, because also the conversational context is typically injected into the calls. Also I think would have to be careful with size, of course depending on your model token limits. And you would need to keep the contexts separate so each user would see their own personal context only (instead of same shared one for everyone). I hope this helps and I got the question right!

  • @nicolasfelipe1
    @nicolasfelipe1 Před 2 měsíci

    very good video, thanks for the into, great more examples about rag.

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Thank you! It seems RAG usecases are in demand right now, and there's also uses for own internal tools. Some of these of course will appear as part of available tooling, but being able to do it yourself is great for like-minded tinkerers that like to understand things by building them, I think.

  • @user-us2ee8gr2f
    @user-us2ee8gr2f Před 3 měsíci

    please create from the scratch

    • @DevXplaining
      @DevXplaining Před 2 měsíci

      Noted, need to make a longer video then but would be fun :)

  • @ArcWeltraumpert
    @ArcWeltraumpert Před 3 měsíci

    I don't mean to mock you, but when you say "model", it sounds like "module" in my ears. 😅 nice video bro, keep create content like this...

    • @DevXplaining
      @DevXplaining Před 3 měsíci

      Haha, I actually aporeciate feedback on my pronounciation, lets me work on it. Thank you!

  • @ArcWeltraumpert
    @ArcWeltraumpert Před 3 měsíci

    i subs you

  • @TheRealMangoDev
    @TheRealMangoDev Před 3 měsíci

    JNI is cool. I once tried to build an ide with it: but i failed bc i was on mac and for some stupid reason java runs JNI on a separate thread: and as you know, mac only wants guis fron the main thread… and my structure would’ve been this: JNI - will handle GUI, and java - would handle the actual syntax highlighting, and all at junk

    • @DevXplaining
      @DevXplaining Před 3 měsíci

      Haha, you know, I coded myself an IDE too, when starting to learn Java Swing. It never got full featured enough, but it was fun to build it from scratch and then use it to develop it further. Also made me appreciate people who work on modern IDEs a lot more - there's a boatload of details to solve and take care of to make them work beautifully.

    • @TheRealMangoDev
      @TheRealMangoDev Před 3 měsíci

      @@DevXplaining i tried to do it with imgui, and failed bc macos is stupid :( and i never even figured out how to make it so JNI executes on the main thread. Altho if java adds a feature like this then ill probably try doing it all over again

  • @eliseyzscripts6762
    @eliseyzscripts6762 Před 3 měsíci

    Thank you so much!

  • @Chrisbees
    @Chrisbees Před 4 měsíci

    Very interesting sample of Virtual threads. How does this integrate when youre building an application with a framework? Dont the framework handle the creation of threads?

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Yes, a good question. Short answer is that yes, typically that's what happens, and typical software project inside any web framework pretty much ignores you needing to tap into parallelism - you just think about it when accessing background resources. But two reasons to still keep up with Java parallelism features: 1) Well sometimes you do build something from scratch, that would mainly happen if you want to do some intensive calculations without web servers, or if you are building a server. 2) Virtual Threads are currently finding their way into popular servers and frameworks, so mostly you can just enjoy the benefits, but it's at least good to get the idea why they may bring more performance when your favorite framework start using them. So mostly I think this is the message that Java platform is still very much alive and kicking, and still getting better. Spring Framework is already embracing them, for example: spring.io/blog/2022/10/11/embracing-virtual-threads Might be a fun topic for a future video.

    • @Chrisbees
      @Chrisbees Před 4 měsíci

      okay great. Maybe you might consider making a video in the future for this question or you could please share your ideas here. I'm a bit confused if Virtual Threads are going to replace Reactive Programming. If they would, why? and if they won't, why?@@DevXplaining

  • @Chrisbees
    @Chrisbees Před 4 měsíci

    This is really cool. Thank you for making this video, now I have to look more into SpringAI. But what would you say about code safety when using AI, dont that have access to your code that shouldn't be public?

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Yeah, it's a good question. AI takes many forms, so rule of thumb is: anything you would not like to/be permitted to publish on front page of a popular magazine tomorrow, you should not send to AI - unless you know how the data is handled, stored, etc. And additionally, is your input used to train the models (which could cause it to pop up as an answer for future users). So for example using ChatGPT like I do here, I'd limit it to general advice. But for example Github Copilot Enterprise is my tool for daily work, and there are some rules in place to stop my code from leaking. So either know how your AI handles input data, or be safe and just use it for general questions. But as always, keep your secrets secret! :)

    • @Chrisbees
      @Chrisbees Před 4 měsíci

      very insightful, Thank you@@DevXplaining

  • @julborre
    @julborre Před 4 měsíci

    JEP 463 should have been since more than 10 years ago on Java! As someone who learned Java in 2001 this JEP would have been a godsend at that time. I always have said that Java is not a beginner friendly programming language

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Yes, agreed. I was teaching Java for a decade and that getting started part for new coders is tough with it. Once you push through it does get better. So I'm very happy to see they finally added beginner-friendly features, even though old hands really don't need all that :) But much easier to learn it, teach it, do something small just for fun.

  • @mevluterdogdu7418
    @mevluterdogdu7418 Před 4 měsíci

    Hello, How does it understand that the question ends and that it has to answer?

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Hi, that's a good question. That's built-in the speech recognition library, so it stops to interpret the speech when there's long enough pause. So I'm kinda giving it the whole text by not pausing before I'm at the end. Similarly, the SR library also starts interpreting speech to text only when some audio begins. For any SR library (I'm using Google API in this example), there are typically settings to adjust how long pause means speech has ended, and it's time to interpret it. Alternatively, there's also possibility to introduce walkie-talkie-like push button to speak mechanism to signal end. Finally, one could also of course just interpret constant length blocks constantly, but then that might not make sense to be sent for AI to interpret.

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      To give a more concrete answer, here are the parameters that could be passed in my code to adjust how long pause means end of block of speech (in seconds): recognizer = sr.Recognizer(pause_threshold=0.5) # or other value

  • @mevluterdogdu7418
    @mevluterdogdu7418 Před 4 měsíci

    Could you make video with local models also:) ?

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Hi, you know, that is a possibility I've been thinking about. :) Two things on the way: It takes some effort, so I need to find the time for it. Second, there's been a lot of options available currently, so need to choose which one is good. If I can find the time, what I've been thinking about would be to get something running in Raspberry Pi/other low-end hardware that's easily available. I would probably use a suitable Mistral model right now. But no promises, time is hard to come by these days :)

  • @akshaysivadas5516
    @akshaysivadas5516 Před 4 měsíci

    Nice explanation!

  • @dn2443
    @dn2443 Před 4 měsíci

    I love your videos-please make more! I recently got an aura ring, and your videos really helped me orient to its capabilities. I was very excited to play with the SPO2 and temperature data and am very disappointed with the granularity in terms of what is available for those data points. Just curious if you were able to overcome this barrier, and or what you would recommend for an inspiring developer such as myself.

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Oh thank you, much appreciated! Feedback like this definitely inspires me to create more. Yeah, two problems with Oura data is that it's not real-time for performance reasons, and granularity for some datapoints is very sparse, sleep scores being another tough area because you only get them after, and some of them accumulate through the night. That's kind of by design, to conserve energy. I don't remember the granularity of SPO2/temperature, but I don't have any special tricks to overcome. I tend to treat the data based on what granularity/latency I get, aka: Typically just zoom out and get a wider view. On a sidenote, I am suprised that my Oura 3 is still alive and kicking well, previous one died early for battery issues, this one is up and running. For inspiration, here's my view for Oura data. If you just want to analyze it, Oura software and dashboard already does pretty good job in calculating the scores and showing the history. What was interesting for me, was to figure out how to combine that data with other sources, for example compare my heart rate/heart rate recovery against my daily or weekly schedule, my sleep schedule, music I am listening, etc.

  • @AbhishekSaxenaEnggIT
    @AbhishekSaxenaEnggIT Před 4 měsíci

    Great Explanation.

  • @davidgrajalesmirage
    @davidgrajalesmirage Před 4 měsíci

    As someone coding in java for almost 2 years, this is actually very exciting. What is not needed/used just disrupt.

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      I like that Java keeps updating, outdated features are deprecated, then removed. New features are brought in constantly. Using Java 21 and beyond feels so fresh.

    • @davidgrajalesmirage
      @davidgrajalesmirage Před 4 měsíci

      @@DevXplaining yeah, coding in java 1.4 vs Java 21 feels like almost totally different languages. I am happy now I can make simple program/scripts in Java and throw away python almost entirely. Looking how to use GraalVM to use Java to automatize small Scripting fit tasks without the overhead of the JVM. The best time to be a Java coder is now.

  • @AshleyMayne-jw2wx
    @AshleyMayne-jw2wx Před 4 měsíci

    Hello, this is very interesting. Can I ask if this video is the most current that will support the latest updates from Python? Also, would you have coding to create an ai assistant from beginning to end? Thanks again.

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Hi, happy to hear you liked this. This is one of my favourite pet projects, and every now and then I actually turn it on and have a chat, because it's fun :) If you mean latest Python versions, sure, I typically use latest available when recording and this is quite recent. The OpenAI APIs have changed a bit, this video and code uses the latest version of those as well. So should be quite up to date. Of course few months have passed so things may have updated a bit, but as far as I know nothing that would have an impact here. I used then latest available preview model. For the coding from beginning to end.. If you take a look at the code, it's only 69 rows, so not much to it, mainly some decisions on which libraries to choose to get the results I wanted. I try to keep my videos short and sweet when I can, that's why I just shared and showed the result (link to git in the description section). Here, libraries do all the heavy lifting. But this is a fun topic so would probably not mind doing something from scratch, with all the steps. But wouldn't want to do exactly the same thing, so it would have to wait until I get some nice update idea for this. I have some plans cooking but nothing concrete yet. But I would say: It's a nice tool, simple bit of code to get started, inspired, and make it your own, take it further.

    • @AshleyMayne-jw2wx
      @AshleyMayne-jw2wx Před 4 měsíci

      Hey, thanks for your detailed reply. That was very helpful. I’m keen to see what you come up with. I’m after my own self learning AI assistant that could do a multiple amount of things for me. Problem is, most coding includes so much limitations on the extent of what an AI platform can do. A true AI assistant should be limitless. The possibilities would be endless.

    • @AshleyMayne-jw2wx
      @AshleyMayne-jw2wx Před 4 měsíci

      How can I DM you?

  • @rahulpharande1758
    @rahulpharande1758 Před 4 měsíci

    I want to represent the neutral positive and negative comments as the part of a pie chart (i.e percentage of positive negative and neutral comments )how can i do that can you please upload a video on that.

    • @DevXplaining
      @DevXplaining Před 4 měsíci

      Ah, that would be a sidestep from the original theme, don't plan on that video currently. But. There are several ways to do it. I play a lot with Jupyter Notebooks for visualization, so I see two parts here. Step 1: Get the data I gather above in a nice regular numeric format, csv files tend to be nice. Step 2: Get a visualization library of your own preference, for example Matplotlib for Python, Plotly, etc, and plot that data out. Easier path could be to just do it in Excel. Once you get the data in table format, anything is easy. So that specific thing is probably not the next video on my channel, but hard part is getting the data, then many things become possible. Thanks for watching the video!

  • @pvi-axe
    @pvi-axe Před 5 měsíci

    Thank you !!!!

  • @user-fx2kz9qc2z
    @user-fx2kz9qc2z Před 5 měsíci

    great video!

  • @hw1125
    @hw1125 Před 5 měsíci

    Thank you for your outstanding videos about the Oura Ring API. I discovered your channel while playing around with the Oura Ring export data, looking for some more detail on the API as I find the Oura V2 description of their API is sorely lacking in detail. Unless I am missing something, I can't find details on the numbers for many of the columns compared to what I saw in your video, which shows a previous version of the API documentation. Also, what the exported data shows me and what the Oura Dashboard shows me on my iPhone is different, and so far, I don't quite understand why this is the case. For example, the data for January 19, 2024, CSV export differs from what I can see in the Oura App on my iPhone. This is under the assumption that the data shows in seconds, which I get from your video, as there doesn't seem to be information in the API documentation if the export is actually seconds. CSV Export Data: What the Oura Dahsborad on my iPhone shows me for that date: Total Sleep Duration: 25,920s = 7h 12 min 10 h 6 m Awake Time: 6,117s = 1 h 41 min 57 s 2 h 37 min REM Sleep Duration: 5,310s = 1 h 28 min 30 s 1 h 16 min Light Sleep Duration: 18,510s = 5 h 8 min 30 s 5 h 28 min Deep Sleep Duration: 2,100s = 35 min 0 s 46 min 0 s I get quite a discrepancy which I find frustrating, and the documentation is not very helpful. I will now try it with API calls to see if I get different response compared to the CSV file export which wouldn't make any sense but who knows.

    • @DevXplaining
      @DevXplaining Před 5 měsíci

      Thank you for your feedback, much appreciated! Interesting finding. I've never actually compared the oura app stats to the excel exports or API-returned results. It's of course possible that they wouldn't match, but I find it a bit odd. One thing I realized playing with the data is that you easily get a one-off error, for two reasons: 1) data you can export/pull from API is of course not real-time. For data to be there, the ring must have send data to app, and app must have sent it to cloud. This makes the most recent data almost always incomplete. So data gets more reliable after it's few days back in the history.Which takes me to second point 2) there's some data that's available as it's created, but sleep data accumulates over night, and any metrics are calculated and ready for the night afterwards. so if I grab todays data, I get previous nights sleep data along with current dates activity data, this easily confuses the results. So I'd have two questions to narrow down the issue: 1) compare some data at least few days back in history. If the sleep number from API seems to not match what the app tells you, check the days around it, does it match one of them? If so, there's probably logical one-off issue you can compensate to put the data to correct day 2) if there are mismatches, are they regular so that all days are off, or are most days correct, with one day off here and there. If latter, then it sounds like issue with Oura data, otherwise I'd double check my own process and logic. Videos here - no guarantee they are more reliable source of information than Oura documentation. There's been rare cases of me being wrong as well (typically once in a decade or so :) - but Oura is also very secretive about their algorithms, because it's competitive advantage, so I've kind of reverse engineered some details, but no way to check things 100% correct. Just my observations here, sharing my path in hope to get others also interested and dig into it. But I am a big fan of gathering and analyzing metrics, treating myself as an IoT device, so Oura definitely fits that bill. :)

  • @kisho2679
    @kisho2679 Před 5 měsíci

    is it suitable for Julya programming language?

    • @DevXplaining
      @DevXplaining Před 5 měsíci

      It sure is! Not something I have experience on, nor videos, but looks like fun as well. Here's a good writeup of how they work together. julia.quantecon.org/getting_started_julia/getting_started.html#running-jupyterlab

  • @kisho2679
    @kisho2679 Před 5 měsíci

    can it create references (look up pop-ups, links) at singular cells level to various other cells in different separate documents?

    • @DevXplaining
      @DevXplaining Před 5 měsíci

      Not really sure about that. Markdown links between notebooks, sure, between cells and anchors, sure, from notebook to another notebooks cell, don't really know. I can find some discussions but never tried that myself.

  • @kisho2679
    @kisho2679 Před 5 měsíci

    how much CSV data (how big file size) can it process compared to MS Excell or LibreOffice? Is it suitable for BigData?

    • @DevXplaining
      @DevXplaining Před 5 měsíci

      I don't know the upper limits, but of course the CSV preview is very limited, and also opening huge gigabyte-or-more-csv files might not be a good usecase for editor anyway. Programmatically frameworks like Pandas can handle them better.

  • @baby12173
    @baby12173 Před 5 měsíci

    hi it seem like java shorten their code in java 21 . That is very nice easy to use.

    • @DevXplaining
      @DevXplaining Před 5 měsíci

      Yeah, Java staying relevant in 2024 :)

  • @seshasaivenkat
    @seshasaivenkat Před 5 měsíci

    fantastic