Meeting Title: Brainforge <> Omri—n8n-RAG-demo Date: 2024-10-29 Meeting participants: Unknown
WEBVTT
00:02:41.000 ⇒ 00:02:42.000 Hey, Henri.
00:02:42.000 ⇒ 00:02:44.000 Hey, how’s it going?
00:02:44.000 ⇒ 00:02:46.000 Yeah.
00:02:46.000 ⇒ 00:02:47.000 theory.
00:02:47.000 ⇒ 00:02:50.000 Wait, sorry. I think I lowered my volume too low.
00:02:50.000 ⇒ 00:02:52.000 Oh, there you go.
00:02:52.000 ⇒ 00:02:54.000 All good.
00:02:54.000 ⇒ 00:02:57.000 I’ll just ping mutant.
00:02:57.000 ⇒ 00:02:58.000 What’s that?
00:02:58.000 ⇒ 00:03:00.000 I’ll just finger boot them.
00:03:00.000 ⇒ 00:03:02.000 Oh, yeah.
00:03:02.000 ⇒ 00:03:07.000 Is he coming? I wasn’t sure if he was coming or not. You tell me. Ask him. You tell me.
00:03:07.000 ⇒ 00:03:09.000 He will, he will.
00:03:09.000 ⇒ 00:03:14.000 Okay.
00:03:14.000 ⇒ 00:03:15.000 Where are you located?
00:03:15.000 ⇒ 00:03:20.000 Manila. So it’s currently almost 12 midnight
00:03:20.000 ⇒ 00:03:22.000 Oh, wow. Thanks for…
00:03:22.000 ⇒ 00:03:26.000 Being on.
00:03:26.000 ⇒ 00:03:28.000 I have a call with Australia tonight.
00:03:28.000 ⇒ 00:03:33.000 Friday morning for them, which is 11 p.m. for me.
00:03:33.000 ⇒ 00:03:34.000 Are you based in the US?
00:03:34.000 ⇒ 00:03:35.000 Totally.
00:03:35.000 ⇒ 00:03:38.000 I’m in the US, yeah, yeah.
00:03:38.000 ⇒ 00:03:39.000 I’m based in Austin. I think I’m like
00:03:39.000 ⇒ 00:03:40.000 Oh, around autumn.
00:03:40.000 ⇒ 00:03:43.000 I think it’s like.
00:03:43.000 ⇒ 00:03:45.000 maybe…
00:03:45.000 ⇒ 00:03:49.000 I feel like he moved recently, but he’s very close. He’s very close to me somewhere.
00:03:49.000 ⇒ 00:03:52.000 Yeah.
00:03:52.000 ⇒ 00:03:56.000 Okay, I just pinged it.
00:03:56.000 ⇒ 00:04:01.000 So what’s your background? How did you get to where you are?
00:04:01.000 ⇒ 00:04:04.000 Yeah, so basically just did some, you know.
00:04:04.000 ⇒ 00:04:05.000 Because I’m 24 years old.
00:04:05.000 ⇒ 00:04:08.000 So basically you started like
00:04:08.000 ⇒ 00:04:11.000 working around 21, started on PayPal.
00:04:11.000 ⇒ 00:04:14.000 And then from there, I just hopped on, you know.
00:04:14.000 ⇒ 00:04:19.000 Because 2021, right, AI was popping off end of the year. So I was like
00:04:19.000 ⇒ 00:04:21.000 This seems like the future. So I just hopped on
00:04:21.000 ⇒ 00:04:27.000 And then from there, I just jumped around from working from one client to another.
00:04:27.000 ⇒ 00:04:29.000 then yeah, landed with Utam right now.
00:04:29.000 ⇒ 00:04:34.000 And then currently head of AI, basically, and automations
00:04:34.000 ⇒ 00:04:36.000 Yes.
00:04:36.000 ⇒ 00:04:43.000 I’m trying to get my…
00:04:43.000 ⇒ 00:04:50.000 got the sleeping.
00:04:50.000 ⇒ 00:04:52.000 How about you?
00:04:52.000 ⇒ 00:04:56.000 almost the name of the company too, right?
00:04:56.000 ⇒ 00:05:01.000 Kind of, it has a few names. It’s sort of…
00:05:01.000 ⇒ 00:05:16.000 sort of all over. But yeah, so I was a product manager for a number of startups here in Austin for a long time. And I recently started doing something similar to what Utam’s doing, but more on like the product side.
00:05:16.000 ⇒ 00:05:19.000 But every once in a while
00:05:19.000 ⇒ 00:05:23.000 I feel inspired to learn more
00:05:23.000 ⇒ 00:05:30.000 about this sort of stuff. And so Tom and I were, we grabbed coffee last week and I was like, oh, it’d be cool
00:05:30.000 ⇒ 00:05:37.000 to know more, here we are. I’m also using a new tool
00:05:37.000 ⇒ 00:05:40.000 It’s supposed to join my meeting. I’m going to leave and be right back.
00:05:40.000 ⇒ 00:05:41.000 Okay, sure, sure.
00:05:41.000 ⇒ 00:05:45.000 I’ll be right back. One second.
00:05:45.000 ⇒ 00:05:56.000 Hello. I’ll be back in a second.
00:05:56.000 ⇒ 00:06:03.000 You’re muted, Luta.
00:06:03.000 ⇒ 00:06:11.000 You’re still muted, I think.
00:06:11.000 ⇒ 00:06:12.000 Have a now.
00:06:12.000 ⇒ 00:06:14.000 Yeah, there you go. Nice.
00:06:14.000 ⇒ 00:06:19.000 No, my laptop just ran out of battery and then like the whole laptop got fried so
00:06:19.000 ⇒ 00:06:23.000 Later.
00:06:23.000 ⇒ 00:06:26.000 I will deal with that later.
00:06:26.000 ⇒ 00:06:28.000 How’s it going?
00:06:28.000 ⇒ 00:06:29.000 Hey, good.
00:06:29.000 ⇒ 00:06:35.000 How are you? That’s cool. Well, I don’t think I’ve ever talked to you digitally. That’s a fun
00:06:35.000 ⇒ 00:06:36.000 background.
00:06:36.000 ⇒ 00:06:37.000 Thanks. Yeah, this is like…
00:06:37.000 ⇒ 00:06:39.000 Okay.
00:06:39.000 ⇒ 00:06:42.000 I have like an office, which is the best.
00:06:42.000 ⇒ 00:06:43.000 Good.
00:06:43.000 ⇒ 00:06:47.000 I feel way richer than I am.
00:06:47.000 ⇒ 00:06:48.000 This is at home?
00:06:48.000 ⇒ 00:06:50.000 Huh?
00:06:50.000 ⇒ 00:06:52.000 You’re at home, right?
00:06:52.000 ⇒ 00:06:55.000 Yeah, I don’t know. Yeah. My like…
00:06:55.000 ⇒ 00:06:58.000 there’s like a window and it like looks into the front yard and then
00:06:58.000 ⇒ 00:07:03.000 I just sit here basically until I need to eat which
00:07:03.000 ⇒ 00:07:07.000 Yeah, it’s like, well, maybe today, I don’t know, 6 p.m. so
00:07:07.000 ⇒ 00:07:11.000 I was just…
00:07:11.000 ⇒ 00:07:13.000 We’re building a house in Zilker, like on our old lot
00:07:13.000 ⇒ 00:07:14.000 Oh, hell yeah.
00:07:14.000 ⇒ 00:07:18.000 And it was talking about because we need drop square footage on design
00:07:18.000 ⇒ 00:07:23.000 And you’re just on my way and she was like, what do we need your office for?
00:07:23.000 ⇒ 00:07:27.000 And I was like, because, you know, I work here
00:07:27.000 ⇒ 00:07:31.000 I work here. And so that is um
00:07:31.000 ⇒ 00:07:33.000 very much not
00:07:33.000 ⇒ 00:07:36.000 the worst call that yeah
00:07:36.000 ⇒ 00:07:43.000 Yeah, I don’t know. I’ve done every variation of working in like
00:07:43.000 ⇒ 00:07:47.000 office to coworking to coffee to here
00:07:47.000 ⇒ 00:07:50.000 I think my ideal is like here
00:07:50.000 ⇒ 00:07:58.000 And then when I get fed up, I go to like the coffee shop. And then that’s kind of like it. I mean.
00:07:58.000 ⇒ 00:08:00.000 Most of my team is distributed.
00:08:00.000 ⇒ 00:08:04.000 So it’s like, I can’t have everybody here so
00:08:04.000 ⇒ 00:08:12.000 There’s no reason. And honestly, if people want to come like have meetings in Austin, I feel like it’s not usually downtown anyways. It’s usually at a coffee shop.
00:08:12.000 ⇒ 00:08:13.000 So.
00:08:13.000 ⇒ 00:08:15.000 During that time.
00:08:15.000 ⇒ 00:08:18.000 I don’t know. But I do get kind of antsy in here sometimes
00:08:18.000 ⇒ 00:08:23.000 So then I just leave. I just go to the coffee shop immediately, which is what I’ll probably do.
00:08:23.000 ⇒ 00:08:25.000 I…
00:08:25.000 ⇒ 00:08:28.000 I am…
00:08:28.000 ⇒ 00:08:35.000 I have kids. It’s a little different, changes things when they’re at home when they’re very long so
00:08:35.000 ⇒ 00:08:37.000 Anyways, so…
00:08:37.000 ⇒ 00:08:38.000 Yeah.
00:08:38.000 ⇒ 00:08:41.000 Yeah, that makes sense. Yeah. My girlfriend doesn’t live with me because I basically told her that
00:08:41.000 ⇒ 00:08:45.000 this is going to be the worst year to to like
00:08:45.000 ⇒ 00:08:50.000 If you live here, we’re just going to get into arguments because I sit here, I sit here for 10 hours a day.
00:08:50.000 ⇒ 00:09:01.000 And I’m not like any fun while I’m sitting here. Like, it’s just going to be annoying. So just give me a year to like figure out how this business is going to work.
00:09:01.000 ⇒ 00:09:02.000 It’s got to be on them. It’s good.
00:09:02.000 ⇒ 00:09:04.000 Yeah.
00:09:04.000 ⇒ 00:09:08.000 Cool. Well, I saw your notes and then I got so busy on Sunday and then I didn’t follow up.
00:09:08.000 ⇒ 00:09:11.000 No, it’s good you ignored it. It’s good you ignored it.
00:09:11.000 ⇒ 00:09:13.000 Okay, cool.
00:09:13.000 ⇒ 00:09:17.000 So I don’t have any specific goal here.
00:09:17.000 ⇒ 00:09:20.000 But I was working
00:09:20.000 ⇒ 00:09:23.000 I had a friend reach out to me and ask me a question
00:09:23.000 ⇒ 00:09:26.000 He’s like, hey, what is going on in this data? And I was like, you know what?
00:09:26.000 ⇒ 00:09:31.000 I’m just going to like use this as a basis for trying to understand how this works.
00:09:31.000 ⇒ 00:09:36.000 So I’m going to share my screen. Can I share my screen? Yeah, Jim.
00:09:36.000 ⇒ 00:09:41.000 Yeah. Yeah. Yeah. And I think overall, like Miguel on my team
00:09:41.000 ⇒ 00:09:48.000 just runs everything on the AI side and we’re starting to build out a ton of solutions internally on NAN and externally.
00:09:48.000 ⇒ 00:09:52.000 But I would say if you have any questions on capabilities.
00:09:52.000 ⇒ 00:09:54.000 he’s the guy.
00:09:54.000 ⇒ 00:09:58.000 I do. I do have some questions.
00:09:58.000 ⇒ 00:09:59.000 So here’s what I’ve built so far.
00:09:59.000 ⇒ 00:10:01.000 Yeah, so just hitting. Yeah.
00:10:01.000 ⇒ 00:10:03.000 Here’s what I’ve built so far.
00:10:03.000 ⇒ 00:10:14.000 So right now I’m trying to figure, he literally wants me to, he wants to know, he essentially asked me to do some like BA sort of analysis for him. And I was like, instead of doing that, because he doesn’t.
00:10:14.000 ⇒ 00:10:17.000 He said she doesn’t know how to access his ERP. And he’s like, I’m trying to like
00:10:17.000 ⇒ 00:10:20.000 massage the data to do this because he’s like
00:10:20.000 ⇒ 00:10:29.000 I’m not sure if someone’s trying to acquire him, but certainly someone’s trying to buy it, like invest in the business. And he’s like, can you just tell me this and like help me put together this like pro forma
00:10:29.000 ⇒ 00:10:44.000 And so he gave me this data and I was like, do I have permission to mess with this as a data set? And he’s like, yes, do whatever you want.
00:10:44.000 ⇒ 00:10:45.000 Yeah.
00:10:45.000 ⇒ 00:10:46.000 So then I was like, I was talking to you and I was like, I’m just, instead of, I’ve already done the BA stuff I owe him. It took me about 20 minutes. This took me more than 20 minutes, but like it’s a fun, interesting use case. I’m like.
00:10:46.000 ⇒ 00:10:48.000 Yeah.
00:10:48.000 ⇒ 00:10:52.000 I’m already seeing things where I can like take my Google Notes and drop it in here and that sort of stuff. And it hooks into Notion.
00:10:52.000 ⇒ 00:10:53.000 Yeah.
00:10:53.000 ⇒ 00:10:56.000 It’s amazing, obviously.
00:10:56.000 ⇒ 00:10:59.000 So let me tell you what I built and have a series of questions.
00:10:59.000 ⇒ 00:11:02.000 And then when you all are done with me.
00:11:02.000 ⇒ 00:11:05.000 Tell me to go off the phone.
00:11:05.000 ⇒ 00:11:10.000 Just to ask. So I have their chat trigger
00:11:10.000 ⇒ 00:11:14.000 goes into this AI agent, right?
00:11:14.000 ⇒ 00:11:20.000 This AI agent uses, as the chat model is my open AI credentials
00:11:20.000 ⇒ 00:11:27.000 the memory disappeared because I’m an idiot, but it was using a Postgres
00:11:27.000 ⇒ 00:11:30.000 from um
00:11:30.000 ⇒ 00:11:36.000 From Super Base.
00:11:36.000 ⇒ 00:11:46.000 So that should be there. Then it goes and retrieves documents. This is the idea that
00:11:46.000 ⇒ 00:11:50.000 For me personally, I have a bunch of garbage and like, this is like the whole idea of like rag.
00:11:50.000 ⇒ 00:11:55.000 I want you to access the first thing I want you to do is access the things that matter to you and then
00:11:55.000 ⇒ 00:12:00.000 So maybe this is our first taking off point. Is this correct logic or like
00:12:00.000 ⇒ 00:12:11.000 How do I get more informed? I’m like, does that make sense as an approach of like, don’t go read everything, go figure out the documents that are relevant to the topic at hand first and then query those for an answer.
00:12:11.000 ⇒ 00:12:15.000 I’ll stop there and I’ll
00:12:15.000 ⇒ 00:12:17.000 open the floor for your thoughts.
00:12:17.000 ⇒ 00:12:23.000 The bag doesn’t because basically after like all the documents are vectorized
00:12:23.000 ⇒ 00:12:32.000 You can’t really tell the AI to basically, you know, this page only work on this first few pages or something like that. It will always scan the entire thing and play with chunks.
00:12:32.000 ⇒ 00:12:41.000 Right. So this retrieved documents thing, and there’s like a limit to
00:12:41.000 ⇒ 00:12:42.000 What is limit 10 dictating?
00:12:42.000 ⇒ 00:12:46.000 So basically what happens there is, for example.
00:12:46.000 ⇒ 00:12:51.000 it’s a 60 page document, right? What RAG does basically is it divides into different chunks.
00:12:51.000 ⇒ 00:12:53.000 Yep. Which is…
00:12:53.000 ⇒ 00:12:55.000 So for example, and then it grades that in itself
00:12:55.000 ⇒ 00:12:58.000 That’s what the embedding is for.
00:12:58.000 ⇒ 00:12:59.000 Yeah.
00:12:59.000 ⇒ 00:13:08.000 And then basically whoever has the highest score will be used by the agent. 10 is basically who has the 10 highest scores it will be used. So the lower it is, the better. But of course, the results will
00:13:08.000 ⇒ 00:13:10.000 also be, you know, smaller.
00:13:10.000 ⇒ 00:13:12.000 Thank you.
00:13:12.000 ⇒ 00:13:19.000 So then what’s happening here, I guess like one of the things I’m trying to figure out is how to happen. And I have like questions about how you’d approach something.
00:13:19.000 ⇒ 00:13:26.000 First of all, tell me if this is stupid and insane and I should do it a different way, or this seems like relatively normal.
00:13:26.000 ⇒ 00:13:31.000 Yeah, we can even share we can even share, Omri, what we built
00:13:31.000 ⇒ 00:13:32.000 Oh, yeah.
00:13:32.000 ⇒ 00:13:33.000 And so he can even have…
00:13:33.000 ⇒ 00:13:34.000 We didn’t have that.
00:13:34.000 ⇒ 00:13:37.000 We can even share that. And so you have access to see that
00:13:37.000 ⇒ 00:13:38.000 It’d be amazing.
00:13:38.000 ⇒ 00:13:41.000 Or I don’t know, Miguel, you want to talk through the one you did in Super Base? Because this seems like very similar to that.
00:13:41.000 ⇒ 00:13:45.000 Yeah, actually, it’s very similar, totally similar. The only difference is
00:13:45.000 ⇒ 00:13:46.000 I couldn’t.
00:13:46.000 ⇒ 00:13:47.000 we’re using
00:13:47.000 ⇒ 00:13:49.000 we’re not using we’re using space across the whole thing basically
00:13:49.000 ⇒ 00:13:51.000 Yeah, super base and everything, not fine cone.
00:13:51.000 ⇒ 00:13:53.000 So you don’t use this step, this retrieve documents?
00:13:53.000 ⇒ 00:13:58.000 No, we do. We do retrieval, but we don’t use pine cone and we’re not using
00:13:58.000 ⇒ 00:14:04.000 We’re just basically use super base for any sort of database or vector store activity.
00:14:04.000 ⇒ 00:14:05.000 Yeah.
00:14:05.000 ⇒ 00:14:06.000 Got it.
00:14:06.000 ⇒ 00:14:12.000 And that’s completely free too. And the UI is nice. But yeah, maybe Miguel, this is basically exactly what we did on
00:14:12.000 ⇒ 00:14:15.000 Yeah, it’s absolutely the same.
00:14:15.000 ⇒ 00:14:16.000 Yeah.
00:14:16.000 ⇒ 00:14:19.000 I use Pinecone because of the question I asked you, Tom, that I couldn’t figure out
00:14:19.000 ⇒ 00:14:26.000 For some reason, I couldn’t get, I think the problem at the end of the day was I wasn’t able to, I was failing to load data into
00:14:26.000 ⇒ 00:14:27.000 super base.
00:14:27.000 ⇒ 00:14:31.000 this into super base and then i found greater success with pinecone
00:14:31.000 ⇒ 00:14:35.000 For no other reason than I probably tried harder with pinecone than I did this increase.
00:14:35.000 ⇒ 00:14:38.000 One, Miguel, we should do it. We got to do a video
00:14:38.000 ⇒ 00:14:44.000 on this because I feel like this is like, we go through our example like every week
00:14:44.000 ⇒ 00:14:49.000 But also, do you want to, Miguel, do you want to walk through ours like briefly
00:14:49.000 ⇒ 00:14:51.000 Yeah, okay, let me share my screen.
00:14:51.000 ⇒ 00:14:54.000 I have two questions at the end.
00:14:54.000 ⇒ 00:14:57.000 Just walk through ours briefly because we can at least start from there and then basically
00:14:57.000 ⇒ 00:14:58.000 Yeah.
00:14:58.000 ⇒ 00:15:02.000 find the distance.
00:15:02.000 ⇒ 00:15:06.000 And then, I mean, better yet, we could even just share
00:15:06.000 ⇒ 00:15:07.000 We can even share those.
00:15:07.000 ⇒ 00:15:08.000 You’re recording this, by the way. You can share this recording.
00:15:08.000 ⇒ 00:15:15.000 Yeah, this recording is great. Maybe we’ll clip this and put this up or something.
00:15:15.000 ⇒ 00:15:16.000 I’ll stop talking.
00:15:16.000 ⇒ 00:15:20.000 Okay. Okay. Yeah. So this is basically our setup, right? The only
00:15:20.000 ⇒ 00:15:24.000 Sorry, Miguel, feel free to uh
00:15:24.000 ⇒ 00:15:27.000 speak through this as if you’re right making a YouTube video.
00:15:27.000 ⇒ 00:15:28.000 And then you’re already done.
00:15:28.000 ⇒ 00:15:29.000 Thank you.
00:15:29.000 ⇒ 00:15:38.000 Okay, yeah. So basically, we have the same setup. The only difference is we have, you know, activated, like we added this webhook
00:15:38.000 ⇒ 00:15:42.000 Because we have basically this ability to, we wanted to chat to it
00:15:42.000 ⇒ 00:15:45.000 differently instead of just here.
00:15:45.000 ⇒ 00:15:48.000 So that’s what the webhook is for.
00:15:48.000 ⇒ 00:15:55.000 But everything else is practically the same. Super base is here. You’re using pinecone.
00:15:55.000 ⇒ 00:15:59.000 And then the way we loaded stuff into
00:15:59.000 ⇒ 00:16:05.000 I’m not sure. I think the main problem issue you’re having is how you insert the data into Pinecone.
00:16:05.000 ⇒ 00:16:07.000 Okay.
00:16:07.000 ⇒ 00:16:11.000 Because, oh, wait, let me see if I can move this actually
00:16:11.000 ⇒ 00:16:13.000 because now this is HPI demo.
00:16:13.000 ⇒ 00:16:16.000 Because it will look something like
00:16:16.000 ⇒ 00:16:21.000 this once you import it into super base
00:16:21.000 ⇒ 00:16:24.000 I once basically you
00:16:24.000 ⇒ 00:16:27.000 vectorize the data.
00:16:27.000 ⇒ 00:16:31.000 No, it’s not this one. It’s only demo.
00:16:31.000 ⇒ 00:16:36.000 That’s that we do.
00:16:36.000 ⇒ 00:16:37.000 Do you pay for super baits?
00:16:37.000 ⇒ 00:16:39.000 Oh, yeah. You know, basically look something like this
00:16:39.000 ⇒ 00:16:42.000 Thank you. I don’t think we pay.
00:16:42.000 ⇒ 00:16:45.000 I think it’s free right now.
00:16:45.000 ⇒ 00:16:49.000 We only paid for anything.
00:16:49.000 ⇒ 00:16:50.000 So yeah, this is
00:16:50.000 ⇒ 00:16:54.000 Okay. Yeah, I think you can’t use any data for free, it seems like at all
00:16:54.000 ⇒ 00:17:04.000 Yeah. Yeah, so it’s going to look something like this. And this is all like the data and you can, you know, chat with it. So the way we set that up is we have like a Google Drive.
00:17:04.000 ⇒ 00:17:08.000 And everything we put in there automatically adds to this vector database.
00:17:08.000 ⇒ 00:17:13.000 Okay, so it’s listening to your Google updates and creations, it looks like.
00:17:13.000 ⇒ 00:17:16.000 Yeah, yeah.
00:17:16.000 ⇒ 00:17:19.000 So I could probably send this over to you.
00:17:19.000 ⇒ 00:17:20.000 It’s amazing.
00:17:20.000 ⇒ 00:17:21.000 the template.
00:17:21.000 ⇒ 00:17:24.000 Oh, and you extract the document text
00:17:24.000 ⇒ 00:17:25.000 into, okay.
00:17:25.000 ⇒ 00:17:33.000 Yeah, the thing at the bottom is really probably the thing that’s like not super clear, which is like how you actually get new files in.
00:17:33.000 ⇒ 00:17:42.000 So we have like a Google Drive. Basically, I was like, I want everything going through Google Drive because that’s just what non-technical folks can use for storage.
00:17:42.000 ⇒ 00:17:43.000 Just listen.
00:17:43.000 ⇒ 00:17:50.000 And then we basically have a trigger on file creation. We also will probably end up doing something on file update or something like that down the line.
00:17:50.000 ⇒ 00:17:53.000 But this is basically how everything gets into SuperBase.
00:17:53.000 ⇒ 00:17:57.000 And then separately, there is a process to actually do the
00:17:57.000 ⇒ 00:18:02.000 retrieval. There are, Miguel, there’s actually one other i was reading
00:18:02.000 ⇒ 00:18:08.000 a few days ago, there is another way for RAG, which is basically like
00:18:08.000 ⇒ 00:18:11.000 retrieve a bunch of docs, then do another step.
00:18:11.000 ⇒ 00:18:16.000 And then retrieve some other information. But this is very simple rag where we’re just
00:18:16.000 ⇒ 00:18:27.000 we’re doing like top 10 or whatever. And then basically what it does is you get a question, it then vectorizes that compares it to whatever the closest vector is and pulls those documents.
00:18:27.000 ⇒ 00:18:28.000 Yeah.
00:18:28.000 ⇒ 00:18:29.000 All those guys.
00:18:29.000 ⇒ 00:18:31.000 What’s this UI there?
00:18:31.000 ⇒ 00:18:32.000 This one I coded.
00:18:32.000 ⇒ 00:18:33.000 This is the…
00:18:33.000 ⇒ 00:18:34.000 Okay.
00:18:34.000 ⇒ 00:18:36.000 Okay, okay, yeah, okay, great.
00:18:36.000 ⇒ 00:18:37.000 So like for instance.
00:18:37.000 ⇒ 00:18:39.000 So we are um
00:18:39.000 ⇒ 00:18:47.000 So we’re doing, so basically I mentioned Omri, I think I mentioned on Fridays that we’re, we’re building a sales hub for every client
00:18:47.000 ⇒ 00:18:50.000 is my goal so that whenever we start a new client.
00:18:50.000 ⇒ 00:18:56.000 all of the documents, Notion emails get shoved somewhere and then
00:18:56.000 ⇒ 00:19:03.000 That way I just don’t have to hide. One, I like all of the people that get involved in the project have the similar questions
00:19:03.000 ⇒ 00:19:10.000 And I’m like, just ask the chat bot. Ideally, this probably ends up in Slack somehow. Second thing is I bounce across like.
00:19:10.000 ⇒ 00:19:20.000 Anywhere from 10 to 20 open opportunities. And like, I cannot deal with that in my head. And instead of hiring like sales admins, I’m like, just create
00:19:20.000 ⇒ 00:19:25.000 create a storage layer for all this. So that’s kind of like what our goal is but
00:19:25.000 ⇒ 00:19:33.000 we have the base sort of rag set up here. So what’s the, I mean, we can send that template over, but I feel like that’s mostly what you need.
00:19:33.000 ⇒ 00:19:38.000 Yeah, actually, I’m not trying to accomplish anything here i’m just trying to learn
00:19:38.000 ⇒ 00:19:39.000 Okay.
00:19:39.000 ⇒ 00:19:48.000 I do have one question on mine. By the way, on your extract document text, how do you extract it as JSON? How does it get extracted?
00:19:48.000 ⇒ 00:19:55.000 Basically, you download the file here to step and then you just it just extracts the text
00:19:55.000 ⇒ 00:19:56.000 And then, yeah.
00:19:56.000 ⇒ 00:19:57.000 And then he chunks it in that.
00:19:57.000 ⇒ 00:20:02.000 And then supervisor does its thing where it vectorizes it?
00:20:02.000 ⇒ 00:20:03.000 this is not this is really not our
00:20:03.000 ⇒ 00:20:04.000 It’s just a step
00:20:04.000 ⇒ 00:20:09.000 Is that what the recursive character text is? What’s that thing down there?
00:20:09.000 ⇒ 00:20:11.000 Um.
00:20:11.000 ⇒ 00:20:14.000 How do you explain this? Sorry.
00:20:14.000 ⇒ 00:20:15.000 Yeah. How do you explain this?
00:20:15.000 ⇒ 00:20:18.000 Wait, sorry.
00:20:18.000 ⇒ 00:20:27.000 Junk size is chunk size is like you have a, let’s say you have a document with 10,000
00:20:27.000 ⇒ 00:20:28.000 Yeah.
00:20:28.000 ⇒ 00:20:31.000 different, let’s say 10,000 words, it then basically just takes all our text, chunks it
00:20:31.000 ⇒ 00:20:32.000 Yeah.
00:20:32.000 ⇒ 00:20:37.000 characters. So 1300 would end up being around 10 chunks
00:20:37.000 ⇒ 00:20:38.000 Accurate.
00:20:38.000 ⇒ 00:20:40.000 The smaller the chunks, the more isolated the pictures are but of course
00:20:40.000 ⇒ 00:20:49.000 the slower it will be.
00:20:49.000 ⇒ 00:20:50.000 Yeah.
00:20:50.000 ⇒ 00:20:51.000 If you do 100, when you do retrieval, you don’t get the context around it. So this is kind of like some level of fine tuning. What we will probably do is have
00:20:51.000 ⇒ 00:20:55.000 like this will turn up to be this will end up being more multimodal for example
00:20:55.000 ⇒ 00:21:01.000 I may send in Zoom videos, transcripts, documents, which will have different chunks
00:21:01.000 ⇒ 00:21:04.000 Depending on the type of document.
00:21:04.000 ⇒ 00:21:05.000 Mm-hmm.
00:21:05.000 ⇒ 00:21:13.000 That’s the gist. I would say it’s all like get the first version working, see what the retrieval is like, and then just like kind of
00:21:13.000 ⇒ 00:21:21.000 play with it mostly.
00:21:21.000 ⇒ 00:21:24.000 Yeah. Okay.
00:21:24.000 ⇒ 00:21:27.000 Okay.
00:21:27.000 ⇒ 00:21:31.000 I like the color coding. It’s very nice.
00:21:31.000 ⇒ 00:21:33.000 Um.
00:21:33.000 ⇒ 00:21:38.000 This makes sense. I’d love to have access. Can I ask you two questions on
00:21:38.000 ⇒ 00:21:41.000 I think I’m just an idiot.
00:21:41.000 ⇒ 00:21:43.000 But one of the
00:21:43.000 ⇒ 00:21:48.000 One of the things, one of the things that
00:21:48.000 ⇒ 00:21:50.000 I think a lot about is like.
00:21:50.000 ⇒ 00:22:07.000 You know how when you go, I think it was like the Gemini thing, like where you search something like it pre it was like, you know, it essentially takes what you’ve, it’s like essentially appending what you’ve asked onto a broader set of questions and then queries. So like you might just ask.
00:22:07.000 ⇒ 00:22:09.000 like a date
00:22:09.000 ⇒ 00:22:15.000 Because it’s like a date input. But the question is like a broader question where it’s like
00:22:15.000 ⇒ 00:22:23.000 This person’s about to provide you a date. This date represents this. Take the date and try to do this against the data set. How would you do that in an 8N?
00:22:23.000 ⇒ 00:22:25.000 like essentially inject
00:22:25.000 ⇒ 00:22:30.000 context to what’s submitted.
00:22:30.000 ⇒ 00:22:31.000 Thank you.
00:22:31.000 ⇒ 00:22:38.000 Honestly, we’re using NAT and only for this rag thing because we use relevance for that type of scenario.
00:22:38.000 ⇒ 00:22:41.000 but like if so you’re saying the document has a date
00:22:41.000 ⇒ 00:22:42.000 associated with the document.
00:22:42.000 ⇒ 00:22:47.000 So let’s say, so I’m thinking about myself. So in the future, I will want to say
00:22:47.000 ⇒ 00:22:56.000 I want to like write it like i’ll want to say like a date. I want to build myself like a really accrued UI where I put a date and it like spits back all the meetings I had that day.
00:22:56.000 ⇒ 00:22:58.000 But when I submit the date.
00:22:58.000 ⇒ 00:23:01.000 it’s not just a date. It’s I want to take the date and
00:23:01.000 ⇒ 00:23:06.000 query against like the data to suggest like
00:23:06.000 ⇒ 00:23:13.000 the date is blank. Tell me all the meetings that happened. I don’t want to write that every time. I want that to like sort of like be embedded into the UI. Does that make sense?
00:23:13.000 ⇒ 00:23:14.000 I don’t think it was explained very well.
00:23:14.000 ⇒ 00:23:15.000 Yeah, I think it’s just a prompt.
00:23:15.000 ⇒ 00:23:22.000 Yeah, it seems like metadata on all the files, right, Miguel? This seems like whenever you insert a file, one column just needs to be the date of creation.
00:23:22.000 ⇒ 00:23:26.000 And it’s like metadata associated with a document, right?
00:23:26.000 ⇒ 00:23:27.000 Yeah, I think…
00:23:27.000 ⇒ 00:23:28.000 Right. There’s…
00:23:28.000 ⇒ 00:23:31.000 I think what he’s asking though, is that
00:23:31.000 ⇒ 00:23:35.000 what do you call this? For example, he puts in a date
00:23:35.000 ⇒ 00:23:42.000 And then it automatically assumes that it’s looking for meetings. Am I right in understanding that, Aaron?
00:23:42.000 ⇒ 00:23:45.000 um not well
00:23:45.000 ⇒ 00:23:47.000 So imagine I have a UI
00:23:47.000 ⇒ 00:23:48.000 Something like that.
00:23:48.000 ⇒ 00:23:50.000 And like, so you have you have a web hook listener, right?
00:23:50.000 ⇒ 00:23:51.000 Yeah.
00:23:51.000 ⇒ 00:23:53.000 And I have a UI rate and i want to
00:23:53.000 ⇒ 00:23:59.000 I want to be able to, yeah, let’s say in this year, I was just typing message here, I just want to enter a date
00:23:59.000 ⇒ 00:24:11.000 And then I want what is returned of like all the meetings that are in that, like all the meetings that happen that date. So like you had to take my dates and add some context to the way that you query
00:24:11.000 ⇒ 00:24:17.000 the data store. Where would you do that? Would you do that in N8N? How do you all?
00:24:17.000 ⇒ 00:24:18.000 approach that sort of problem.
00:24:18.000 ⇒ 00:24:25.000 It’s most probably going to be here in the system message.
00:24:25.000 ⇒ 00:24:26.000 Oh.
00:24:26.000 ⇒ 00:24:28.000 Because basically you’re just adding a bit, some instructions to the agent on what to do with the data you find.
00:24:28.000 ⇒ 00:24:30.000 Oh, is that?
00:24:30.000 ⇒ 00:24:31.000 Yeah.
00:24:31.000 ⇒ 00:24:34.000 Oh, is that what the system message is?
00:24:34.000 ⇒ 00:24:37.000 Got it. And so then you could add
00:24:37.000 ⇒ 00:24:45.000 you could have like two webhooks and one is you instantiate the webhook for that one. It’s a date and then you instantiate a different webhook for something else.
00:24:45.000 ⇒ 00:24:52.000 Yeah, or it could be a bit more complex, right? So for example, we can put here, if you receive a date
00:24:52.000 ⇒ 00:24:59.000 This is what you do, basically how an AI agent works. If you receive this, this is what you will do. This is the data you will look for.
00:24:59.000 ⇒ 00:25:01.000 and stuff like that.
00:25:01.000 ⇒ 00:25:02.000 Got it.
00:25:02.000 ⇒ 00:25:06.000 So basically, system message is the instructions.
00:25:06.000 ⇒ 00:25:15.000 Got it. And so like when the instructions are that, is that essentially like.
00:25:15.000 ⇒ 00:25:19.000 Oh, okay. I see. I see.
00:25:19.000 ⇒ 00:25:25.000 So this system message comes along with a query.
00:25:25.000 ⇒ 00:25:27.000 Effectively, in some way. Got it.
00:25:27.000 ⇒ 00:25:28.000 Yeah, yeah.
00:25:28.000 ⇒ 00:25:30.000 Okay, interesting.
00:25:30.000 ⇒ 00:25:34.000 I need to poke around around it more, but I think I understand it academically.
00:25:34.000 ⇒ 00:25:43.000 The best thing to do, I think, is like even just like writing it out because basically we have like multi-agent systems where based on the instruction, it does a different thing.
00:25:43.000 ⇒ 00:25:47.000 like this is why this is a better system than just like
00:25:47.000 ⇒ 00:25:51.000 throwing a document into ChatGPT and being like, tell me this.
00:25:51.000 ⇒ 00:25:54.000 The evolution is that you have almost different
00:25:54.000 ⇒ 00:26:03.000 like use cases, if you were to get a date, then go to the meeting agent, which can pull meetings. If you were to get like a question about a client, go to the client
00:26:03.000 ⇒ 00:26:12.000 database. So you’re kind of building this router a little bit.
00:26:12.000 ⇒ 00:26:17.000 Makes sense.
00:26:17.000 ⇒ 00:26:23.000 Okay. What did you say earlier? You said we use relevance for that. What’s that mean?
00:26:23.000 ⇒ 00:26:27.000 It’s basically just an agent builder
00:26:27.000 ⇒ 00:26:31.000 So basically, because what
00:26:31.000 ⇒ 00:26:41.000 some of the projects we’re trying to do requires multiple, basically a team of agents. So there’s like a router agent, there’s an agent that does this specifically and does that specifically.
00:26:41.000 ⇒ 00:26:42.000 Mm-hmm.
00:26:42.000 ⇒ 00:26:48.000 So for example, because one agent can do everything, right? So if she needs, for example, a copywriting agent.
00:26:48.000 ⇒ 00:26:51.000 The agent will then you know.
00:26:51.000 ⇒ 00:26:56.000 call this, hey, I have this details, pass it to that agent
00:26:56.000 ⇒ 00:27:04.000 And then if another scenario I need to get N8N, I’ll have another agent that has access to N8N and then just, you know.
00:27:04.000 ⇒ 00:27:11.000 all the data there. It’s basically just a team of people, but AI agents
00:27:11.000 ⇒ 00:27:18.000 That software is really cool to play around with, but it’s also not as coding heavy as N8N.
00:27:18.000 ⇒ 00:27:22.000 It’s basically just like kind of like prompt the engineering
00:27:22.000 ⇒ 00:27:25.000 for the most part, I think it’s just like advanced prompt engineering.
00:27:25.000 ⇒ 00:27:27.000 Right.
00:27:27.000 ⇒ 00:27:28.000 They’re collecting stuff out, yeah.
00:27:28.000 ⇒ 00:27:32.000 Yeah.
00:27:32.000 ⇒ 00:27:35.000 Okay. This is exciting.
00:27:35.000 ⇒ 00:27:36.000 I’m excited.
00:27:36.000 ⇒ 00:27:38.000 Why don’t we share, maybe we can share our template
00:27:38.000 ⇒ 00:27:40.000 RAG template.
00:27:40.000 ⇒ 00:27:41.000 Yeah, for sure.
00:27:41.000 ⇒ 00:27:42.000 And then…
00:27:42.000 ⇒ 00:27:44.000 This one.
00:27:44.000 ⇒ 00:27:47.000 Yeah.
00:27:47.000 ⇒ 00:27:50.000 Okay.
00:27:50.000 ⇒ 00:27:55.000 In my mind, my mind is the hamster wheel is turning.
00:27:55.000 ⇒ 00:27:59.000 I mean, dude, this software is dope. I wish I could spend
00:27:59.000 ⇒ 00:28:02.000 all day doing this but i
00:28:02.000 ⇒ 00:28:06.000 can’t. And it sucks because
00:28:06.000 ⇒ 00:28:07.000 Well, I’m…
00:28:07.000 ⇒ 00:28:09.000 There’s a lot of involved.
00:28:09.000 ⇒ 00:28:15.000 But also this is like, this is the new, like, this is where we were talking about
00:28:15.000 ⇒ 00:28:20.000 A lot of companies are basically just like this, plus maybe like another two or three weeks of work.
00:28:20.000 ⇒ 00:28:23.000 And then they wrap this around a UI and sell it.
00:28:23.000 ⇒ 00:28:25.000 The nice thing is.
00:28:25.000 ⇒ 00:28:31.000 you can basically build these things really easily. If you have a general understanding like web hooks.
00:28:31.000 ⇒ 00:28:32.000 And then you have a little bit of understanding about like
00:28:32.000 ⇒ 00:28:33.000 Okay.
00:28:33.000 ⇒ 00:28:37.000 vector store, there’s nothing in this that’s actually that complicated.
00:28:37.000 ⇒ 00:28:41.000 And the nice thing is there’s a lot of tutorials and videos on everything else so
00:28:41.000 ⇒ 00:28:42.000 Yeah.
00:28:42.000 ⇒ 00:28:44.000 Yeah. There’s also a uh
00:28:44.000 ⇒ 00:28:48.000 There’s also a notion
00:28:48.000 ⇒ 00:28:49.000 So like…
00:28:49.000 ⇒ 00:28:56.000 Yeah, that’s what I want to start doing too. It’s like a lot of companies don’t have the Notion plugin. So we were going to basically
00:28:56.000 ⇒ 00:28:57.000 I was going to try to write some sort of exporter
00:28:57.000 ⇒ 00:29:05.000 But I want to load all of our notion because we have client portals too. So everything will start to get into somewhere.
00:29:05.000 ⇒ 00:29:14.000 Because the first thing is like putting it behind chat. The next thing is understanding the common tasks and then having the agents actually just do work.
00:29:14.000 ⇒ 00:29:15.000 Hi, yeah.
00:29:15.000 ⇒ 00:29:18.000 automatically on a given time frame. For example, if you always on fridays
00:29:18.000 ⇒ 00:29:20.000 We send client updates.
00:29:20.000 ⇒ 00:29:24.000 So every Friday, I want there to automatically spit out
00:29:24.000 ⇒ 00:29:32.000 all the work we’ve done in the format that we usually send.
00:29:32.000 ⇒ 00:29:33.000 Yeah.
00:29:33.000 ⇒ 00:29:36.000 Like that’s the evolution. You start by saying, can we get all the data in? Can we ask for that update? And then once it gets confident enough, like send the update yourself.
00:29:36.000 ⇒ 00:29:38.000 And then it’s just like it’s
00:29:38.000 ⇒ 00:29:40.000 that’s someone’s full-time job.
00:29:40.000 ⇒ 00:29:44.000 We no longer need.
00:29:44.000 ⇒ 00:29:46.000 Yeah.
00:29:46.000 ⇒ 00:29:49.000 That’s kind of like what I want to do. Like.
00:29:49.000 ⇒ 00:29:55.000 It requires me documenting what I do better, but that’s something I should do anyways, you know?
00:29:55.000 ⇒ 00:29:58.000 That’s roughly what I had in my mind for myself.
00:29:58.000 ⇒ 00:30:00.000 Cool. This is amazing.
00:30:00.000 ⇒ 00:30:03.000 And I appreciate it.
00:30:03.000 ⇒ 00:30:07.000 Yeah, if there’s anyone in mind too, you want to pair on like one of these
00:30:07.000 ⇒ 00:30:11.000 use cases with in n8n like we could we’re totally down to try to do that too
00:30:11.000 ⇒ 00:30:14.000 Yeah, for sure. No, I would love to.
00:30:14.000 ⇒ 00:30:17.000 I would love to.
00:30:17.000 ⇒ 00:30:22.000 Yeah.
00:30:22.000 ⇒ 00:30:23.000 Okay, cool.
00:30:23.000 ⇒ 00:30:29.000 Awesome. My mind is racing and the things I can do inside of my own. I’m 100% just thinking about
00:30:29.000 ⇒ 00:30:34.000 I just, as we were talking, I looked at the various, like on the notion
00:30:34.000 ⇒ 00:30:35.000 Yeah.
00:30:35.000 ⇒ 00:30:37.000 trigger things you could do on any and it’s pre-built out. I don’t know if you’ve looked at it, but you can like
00:30:37.000 ⇒ 00:30:38.000 Create a database.
00:30:38.000 ⇒ 00:30:41.000 I haven’t looked at any of the ocean ones, but I like, yeah, I mean, we’re
00:30:41.000 ⇒ 00:30:43.000 Okay.
00:30:43.000 ⇒ 00:30:46.000 The only reason I don’t have more Notion stuff to share is
00:30:46.000 ⇒ 00:30:49.000 Because there are not enough hours in the day at the moment but like
00:30:49.000 ⇒ 00:30:50.000 No, I know.
00:30:50.000 ⇒ 00:30:54.000 We have a long list of, we basically have an internal list of like
00:30:54.000 ⇒ 00:30:58.000 40 different automations that are like in the backlog of building
00:30:58.000 ⇒ 00:30:59.000 Thank you.
00:30:59.000 ⇒ 00:31:04.000 And the goal for us is like starting on the sales and then start on operations and then we’ll move into more engineering work.
00:31:04.000 ⇒ 00:31:05.000 Yep.
00:31:05.000 ⇒ 00:31:07.000 Engineering stuff will be the hardest.
00:31:07.000 ⇒ 00:31:11.000 like automated data analysis, stuff like that.
00:31:11.000 ⇒ 00:31:16.000 But operations and like anywhere where information is getting passed and summarized
00:31:16.000 ⇒ 00:31:24.000 I don’t want us to be spending any time on that, basically.
00:31:24.000 ⇒ 00:31:28.000 Sweet.
00:31:28.000 ⇒ 00:31:33.000 Okay. Well, maybe we can, I can sense just out of three of us into Slack or
00:31:33.000 ⇒ 00:31:34.000 Yeah, for sure.
00:31:34.000 ⇒ 00:31:37.000 Maybe I’ll add Miguel Slack channel and then we can just um
00:31:37.000 ⇒ 00:31:38.000 Yeah.
00:31:38.000 ⇒ 00:31:41.000 Send over there and then keep chatting.
00:31:41.000 ⇒ 00:31:44.000 Is there anything, I don’t know if there’s any way I can help you all, let me know.
00:31:44.000 ⇒ 00:31:45.000 from the productization side?
00:31:45.000 ⇒ 00:31:49.000 I would say that any help is like interesting use cases. And yeah, let’s try to work on something for somebody together.
00:31:49.000 ⇒ 00:31:51.000 I really want to work this thing. I would love to.
00:31:51.000 ⇒ 00:31:55.000 Do that. Yeah.
00:31:55.000 ⇒ 00:31:57.000 All righty.
00:31:57.000 ⇒ 00:32:01.000 Cool. Well, I really appreciate it. It’s going to be meeting you, Miguel.
00:32:01.000 ⇒ 00:32:08.000 It is exciting stuff.
00:32:08.000 ⇒ 00:32:09.000 Okay.
00:32:09.000 ⇒ 00:32:10.000 Cool. Okay. Well, thanks, Jen. We’ll talk again soon.
00:32:10.000 ⇒ 00:32:12.000 Appreciate it.
00:32:12.000 ⇒ 00:32:13.000 Thank you.
00:32:13.000 ⇒ 00:32:14.000 Bye-bye.
00:32:14.000 ⇒ 00:32:14.000 Thanks. Thanks