Rabbit Hole Syndrome
Rabbit Hole Syndrome
  • 10
  • 771 124
$0 Embeddings (OpenAI vs. free & open source)
What is the cheapest way to generate text embeddings? And how do they compare to OpenAI?
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/RabbitHoleSyndrome. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
This video was sponsored by Brilliant.
The video is going to explore the world of open source embedding models, how to use them, and how they compare to OpenAI's text-embedding-ada-002.
Source code: github.com/rabbit-hole-syndrome/open-source-embeddings
Sentence Embeddings (SBERT): sbert.net/
MTEB Leaderboard: huggingface.co/spaces/mteb/leaderboard
00:00 Intro
02:02 Project setup
03:29 Embeddings 101
05:07 Server-side Embeddings
06:14 SBERT & Hugging Face
10:22 Sentence Transformers Models
17:18 MTEB
28:35 Inference API
55:37 Transformers.js
1:10:38 Embeddings in the Browser
1:20:19 The Future of Embeddings
1:24:23 Thanks for watching!
zhlédnutí: 254 124

Video

ClippyGPT - How I Built Supabase’s OpenAI Doc Search (Embeddings)
zhlédnutí 174KPřed rokem
Supabase hired me to build ClippyGPT - their next generation doc search. We can ask our old friend Clippy anything you want about Supabase, and it will answer it using natural language. Powered by OpenAI prompt engineering. In this video I will be showing you exactly how I did this, and how you can do the same in your projects. We'll be covering: - Prompt engineering and best practices - Workin...
Tutorial: Build a professional product video in Blender/DaVinci Resolve
zhlédnutí 5KPřed rokem
How do people make those epic product videos? Is there an actual professional process they go through to decide what to make and how to make it? In this video we are going to tap into exactly that! Join me down the rabbit hole as we learn exactly what’s involved in creating a product video using Blender. We’re going to: 1. Put our 3D model together (hat leather patch) 2. Create our virtual stud...
I wish I knew this before using Image Textures (Blender)
zhlédnutí 17KPřed rokem
How do Image Textures actually work within Blender? There are so many tutorials that use Image Textures, but very few talk about how they really work under the hood. Today you’re going to be a product designer and we’re going to add our logo to a leather patch. We’re going to go over: 1. Color and alpha channels and how they actually work between nodes 2. UV maps and why we call it that 3. Bump...
Generate Blender textures using AI (Stable Diffusion)
zhlédnutí 26KPřed rokem
Addon Link: github.com/carson-katri/dream-textures There have been major leaps in AI image generation tech recently... so naturally we have to bring this to Blender! Join me down the rabbit hole as we generate textures from scratch, perfectly tiled, for free, on your own computer, using AI. We're going to go under the hood to learn exactly how this Blender addon was built (Stable Diffusion), wh...
I wish I knew this before using Geometry Nodes (Blender)
zhlédnutí 168KPřed rokem
It feels like so many tutorials are just step-by-step guides and don’t explain the WHY and HOW behind geometry nodes. How do geometry nodes actually work in Blender and how do you know when to use them? The goal of this video is to bring a new perspective to geometry nodes so that you can be confident as you build your next creation. 00:00 Why? 02:13 Without Geometry Nodes 06:00 With Geometry N...
Adding React Three Fiber to Electron (To build a screensaver - Part 2)
zhlédnutí 2,8KPřed rokem
What is the best way to scaffold an Electron project with React Three Fiber? There are a lot of options out there, so how do we know what to use? How do we manually add React ourselves if we wanted to? Today we are continuing our series on how to build your own custom screensaver from scratch using Electron and React Three Fiber. As a bonus, we will also talk about a useful R3F concept called “...
The REAL reason your internet is slow (and how to fix)
zhlédnutí 2,4KPřed rokem
You’re on a Zoom call with a bad connection and you’re wondering, “Is it my internet, or theirs?” In this video, we are going down the rabbit hole to understand exactly why your internet isn’t always as fast as you think it should be and what you can do about it. Specifically we’re going to learn how the internet actually works so that it’s no longer black magic, then talk about upload and down...
Build a REAL screensaver using React Three Fiber (Part 1)
zhlédnutí 3,7KPřed 2 lety
How do screensavers REALLY work under the hood? In this series you will learn how to rebuild the classic 3D pipes screensaver using React Three Fiber. We will: - Quickly go back in time to the Windows 95 screensaver era to see what we’re getting ourselves in to - Jump back to the 21 century and recreate the 3D pipes screensaver using Three.js and React Specifically we will learn how to: - Scaff...
I wish I knew this before using React Three Fiber
zhlédnutí 119KPřed 2 lety
Sometimes the best way to understand a library like React Three Fiber is to compare it to the original 3D web library, Three.js. We’re going to walk through a side-by-side, one-to-one build of a Three.js project and a React Three Fiber project at the same time. After watching this video you will understand: - Scene creation (cameras, renderers, meshes, animation) - R3F JSX syntax and special pr...

Komentáře

  • @tsots2501
    @tsots2501 Před 6 dny

    Incredibly helpful. Thank you my guy

  • @Jo-re2ye
    @Jo-re2ye Před 6 dny

    Incredibly well explained! I'm glad I found this as my introduction to geometry nodes. I'm still a total beginner with Blender, but I'm amazed at what it can do.

  • @mj2068
    @mj2068 Před 10 dny

    greg, this is an extremely valuable video, i find it really useful. you truly dive deep into the holes and present the findings so clearly and elegantly. as a severe RHS patient myself, i salute you, greg, thank you.

  • @gottagowork
    @gottagowork Před 11 dny

    Some pointers with displacement, bump, and normal maps. Displacement: Can be height field (like a bump map) or a vector displacement map, which connects to the material output. So all shaders will be affected by it. You don't *have* to use true microdisplacement to use it (there is a setting for bump only), but I would recommend it; if the height field texture map is to be used as a bump map, you can use microdisplacement to find the ideal displacement height and use that as bump distance (bump effect always 1). Bump maps: Can only be a height field map, but the result is plugged into individual shaders instead of on the material level, so you can have a bumpy substrate with a smooth topcoat, impossible with displacement without additional model for the smooth part. Ideally you should only use Bump Strength 1 and adjust Bump Distance (or the height input) instead to obtain ground truth normals that reflects what a displacement would do. Adjusting Bump Strength below 1 tend to introduce some weird clipping of the input. Bump maps requires on the fly *CALCULATIONS* of the new normals, something a normal map provides by simple lookup. Because of that, it is scale dependent. More on that below. Bump maps require no UV layout and less prone to brake (i.e. box mapping), are way more flexible to mix and match, and using the microdisplacement trick (above) you can find out the distance to use or spot if there is any math functions that break down easily. Bump maps are best used for small details because stepping issues will be less visible, but does add computing time. Normal maps: These provide the normal offsets by simply looking up the color. However, to work properly these require a UV layout, are tricky as hell to mix and match (correctly), and can be prone to errors (box mapping). The angles in a normal map are *NOT* affected by texture density, as the color lookup remains the same. It's as if it's the height of the mountain was automatically reduced to maintain the angles, compared to the bump map where the height is maintained (producing steeper angles). Make a triangle wave and array it. Scale on all axis gives you what normal maps do. Scale on x axis only give you want bump maps do (without accounting for it, anyway). Normal maps are preferred by game engines, since angles don't have to be computed (by the bump map slopes) and thus impact performance less. They are also better used for large details like large chamfers since it's done with a single color indicating that angle instead of a gradient. Which means you typically get away with smaller maps and 8 bit (per channel) instead of large 16/32 bit floating point maps to handle gradients (if stepping is a problem) for bump maps.

  • @gottagowork
    @gottagowork Před 12 dny

    Note that under object data properties there is a texture space tab. Using generated (and/or object) texture coordinates you can adjust the position and size of the bounding box that is used. If using XYZ tangents for anisotropic shading and it looks off from what you'd expect, chances are the texture space has been automatically updated to something less than ideal. Generated will use 0-1 in XYZ for the bounding box, whereas Object will use origo and allow negative coordinates in unclamped space. The old modulo math function was prone to breaking with negative numbers, so had to account for that, whereas the new (truncated?) fixes those issues. Generated also accounts for some modifiers like bending. Object coordinates are great for box mapped objects, but we have to adjust the coordinate orientation to change how the mapping aligns, as there are no way to rotate the coordinate system with nodes prior to be used for the image texture node.

  • @gottagowork
    @gottagowork Před 12 dny

    Use case for strings I'm constantly using, is showing a bunch of information related to the object. I'm working with blended projectors and LCD/LED video walls, and some of the information I show are: Aspect ratio, overlap (pixels, projectors only), individual image resolution (per cabinet), total resolution (per video wall), calculated pixel density/size (to determine readability), lens shift and throw calculations (within physical limitations?), and what projector screen is being utilized (may vary with size due to production limitations). Snapshots of this is then used internally to discuss around the solution, and maybe sent to gfx to prepare pixel perfect content to be used in the final renderings (although I use UV vector snap to force anything pixel perfect anyway). Sometimes things are used for communication purposes rather than rendering. One problem is since having to use nodes for separators, concatenations, and special characters, it can get really messy really fast, so all this is dropped into a separate node group. I wish there was a more elegant way of doing this using a multiline expression interpreter.

  • @Max-yy5jx
    @Max-yy5jx Před 20 dny

    the yv map node works correctly when baking?

  • @Max-yy5jx
    @Max-yy5jx Před 20 dny

    this... is the BEST geometry nodes vídeo for begginers i ever seen!!

  • @AvantNovis
    @AvantNovis Před 22 dny

    God bless you for this

  • @lilrafrin6
    @lilrafrin6 Před 27 dny

    VERY HELPFUL TYSM

  • @mateussoares7599
    @mateussoares7599 Před 28 dny

    damn, this video is a gem. the best I've seen about r3f fundamentals, really helpful

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

    This is soo good 👍 thanks 🙏

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

    Every sec of the video was worth watching

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

    Thank you for that video. Learned a lot from it. Though what I was really hoping was that you'd show how to make a node that would stitch around a shape, rather than just being a circle

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

    Drei is 3 in german - so i believe it would be pronounced "dry" in english :)

  • @mykole.
    @mykole. Před měsícem

    13:00 hey, might be bit late, but wanted to point out that you can also unstage selected ranges in vscode, so you could just stage the full file and unstage things you wanted to keep for next commit

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

    part 3 boss! please and thank you!

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

    Thank you for covering a lot of sub topics without going deep too much! I learned a lot

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

    .

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

    Exactly. I never found any tutorial showing me which nodes to use when and why...

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

    Man, you are the reason why CZcams is such an awesome platform. Thank you so much for this golden course!

  • @Autaka-Nubia
    @Autaka-Nubia Před měsícem

    i'm a beginner in 3D art and design world, i've chose Blender, so i'm a beginner in Geo nodes and these information are very useful to me, i git the concept, thanks sooooooooo much

  • @BrianAnderson-tk9dn
    @BrianAnderson-tk9dn Před 2 měsíci

    What everyone else has been saying: don't stop making videos like these. I'm here for any and all tangents.

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

    🥰Excellently explained.

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

    Thanks my friend you saved me

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

    PG Vector is good, last I heard ankane is working with AWS to integrate PG Vector with sql databases on AWS RDS

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

    if you want "search" in GN without having to click with the mouse, after Shift+A, click "s" , then type what you're looking for.

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

    @ the end: I'm not certain, but I would assume material index refers to material slots per object. You can have multiple materials on separate parts of a single object using material slots. One thing that would make sense is to put the material selection as a group input, so the user can add whichever material they want right in the modifier.

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

    Yes! The "why" is super important!

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

    This is absolutely the best explanation of embeddings I have ever seen. Thanks so much for this excellent video!

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

    Thank you, Mr. Professor!╰(*°▽°*)╯ I've watched many videos, and each of them varies in style. I couldn't replicate what I did because I kind of mixed what I learned from them, which confused me. This opened a window that I was passing by every time. I didn't learn basketball by imitating Michael Jordan; I realized at a later age that the key was to understand and master the fundamentals. Thank you for sharing the fundamentals. I'm subscribed. 😍

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

    This is a lovely introduction! I love that you compared the two libaries side by side. Your explanations are concise and effective. Thank you!

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

    Sir. What about using this in JS and MongoDB

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

    Something that I think missed is "performance"

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

    awesome! as for now, we can use open ai assitant to simplify all these?

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

      You certainly can, just keeping in mind that it will be harder to switch LLMs / providers after going down that route. But may be worth it depending on what stage you are in your project.

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

    Amazing video! Thanks. It was uncanny how questions would be popping in my head and you'd answer them in the next sentence lol. Thanks again

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

    Great video with awesome explanations... well done

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

    So I'm trying to make the results of the geometry node stitching pattern into an editable mesh (just to understand the process). It can't be "applied" if the underlying geometry is a curve that is the basic reference point (it comes back with an error "Cannot apply constructive modifiers on curve. Convert curve to mesh in order to apply.)" If I convert the curve to a mesh first, the geometry node doesn't produce the correct result because it was based on operations from a curve. I'm stumped on this one, if anyone has a suggestion.

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

    Very helpful tutorial. Learned a great deal as a Geo Node beginner! Thanks!

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

    too much mumbling, lightning fast mouse moves, no explanation of what you're doing. Added to differences in blender versions (I'm working with blender 4.1) I have to conclude that this video is NOT FOR BEGINNERS 😭 And since I'm a beginner, I'm not able to follow along. Applying the texture to the flatten cylinder was my breaking point. I couldn't even get that done. The sides of the cylinder wouldn't be textured (after Shade Smooth) and after that almost all options used were not in my blender version... disappointed 😦 for instance: around the 13:00 mark, when adding the Bézier segment, how in heave's name do you get to see that in the 3D viewer ? Nothing is shown in mine.. Also, your 3D viewer shows material even when in Solid mode ??? I don't get it. I know blender has a steep learning curve, but this is discouraging :(

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

    Thanks for making these. So many videos show how to do a thing, but don't explain why. I've always just kind of messed with nodes to see what I can do with them. Having a background in software development definitely helps

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

    This was crazyyy useful. Not a software or web developer, but trying to use embeddings for academic research. Really great walkthrough!

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

    Something worth mentioning about multiple UV maps is that .obj export does not support multiple UV maps per object. This drove me crazy for hours.

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

    if anyone is looking at this auto smooth is gone from data in 4.1

  • @a-ezzat5677
    @a-ezzat5677 Před 4 měsíci

    this is the way to explain mindset the philosophy about it not just click , thank you

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

    Did they change the way shading happens within fiber? It seems I now have to set an intensity to achieve a similar result.

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

    I love that I know just *barely* enough about Blender to work a little ahead of the early stages of this tutorial. It's great.

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

    Very good video. I just implemented a semantic search engine in my app and it works like magic

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

    Thank you Just...Thank you

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

    Love you man, thanks for coding and making this tutorial in JavaScript/TypeScript.