1
00:00:00,901 --> 00:00:03,817
How do you make your data queryable using natural language?

2
00:00:03,817 --> 00:00:12,174
We see lots of terms pop up, RAG systems, semantic querying, and we'll show you today with
MindsDB how to set that up in a few minutes.

3
00:00:12,174 --> 00:00:13,019
Let's go.

4
00:00:21,018 --> 00:00:24,443
Hi everyone, welcome to technology explorations at Dataminded.

5
00:00:24,443 --> 00:00:28,588
In this series, we give you an initial look in new or interesting technologies.

6
00:00:28,709 --> 00:00:34,397
My name is Jonny, Knowledge lead here at Dataminded, and today we'll have a look into
MindsDB.

7
00:00:34,397 --> 00:00:36,260
And for that, I've invited Tarik.

8
00:00:36,260 --> 00:00:37,521
Welcome Tarik.

9
00:00:37,650 --> 00:00:39,334
Hi Jonny, thank you for having me.

10
00:00:39,334 --> 00:00:41,292
happy to be here to talk about MindsDB.

11
00:00:41,292 --> 00:00:50,460
So we will be building on top of what we did last time where we went over extracting data
from Google Drive and putting it into a Postgres database and today you're going to show

12
00:00:50,460 --> 00:00:51,862
me MindsDB.

13
00:00:51,862 --> 00:00:53,622
Tell me what is MindsDB?

14
00:00:54,624 --> 00:01:04,788
uh MindsDB, we could call it an open source AI layer, which makes your data queryable
using natural language.

15
00:01:04,849 --> 00:01:09,572
So what it can do is that it can connect to a database, like Postgres, for example.

16
00:01:09,572 --> 00:01:15,254
And then you can add AI capabilities using SQL commands.

17
00:01:15,873 --> 00:01:22,507
So what it can do is it turns your data into a knowledge base.

18
00:01:22,847 --> 00:01:31,482
And then you can build chatbots to talk questions about this MindsDB can also connect to
multiple connectors.

19
00:01:31,739 --> 00:01:35,222
such as Slack, Notion, Databricks, and so on.

20
00:01:35,222 --> 00:01:37,393
So you can directly chat with your data.

21
00:01:37,393 --> 00:01:46,697
So you have two ways to use MindsDB You can use it to connect to a Postgres database that
you own where you already ingested data, or you can directly connect to the data that

22
00:01:46,697 --> 00:01:49,359
lives in a system and query that.

23
00:01:49,902 --> 00:02:01,553
Okay, so MindsDB, if I understand correctly, is a layer that you use to fetch data from an
existing system and then basically index it so that it's easily queryable by agents.

24
00:02:01,553 --> 00:02:02,963
Yes, Indeed.

25
00:02:02,963 --> 00:02:03,124
Is

26
00:02:03,124 --> 00:02:11,022
What we're going to do today is we are going to create a knowledge base on MindsDB from
the database that we have in Postgres.

27
00:02:11,022 --> 00:02:15,013
a knowledge base is like a semantic search engine over the data.

28
00:02:15,013 --> 00:02:17,815
So it combines an embedding model, vector storage.

29
00:02:17,815 --> 00:02:24,389
metadata tracking And then it automatically chunks long documents for better retrieval.

30
00:02:24,489 --> 00:02:32,420
So it's a way for the chatbot or the LLM to have a better semantic understanding of the
data that is behind it.

31
00:02:32,420 --> 00:02:36,328
Yeah, can you remind us again, what is the data we have available?

32
00:02:36,328 --> 00:02:47,834
so during the PyAirByte demo, we ingested a couple of text files from Google Drive, which
now live in the Postgres table here in the Google Drive files.

33
00:02:47,834 --> 00:02:54,797
you have the names here of the files, and then you have the contents of the files here.

34
00:02:54,839 --> 00:03:05,128
So we will vectorize these, create a knowledge base out these files in the database, and
then use a chatbot to ask questions about these files.

35
00:03:05,542 --> 00:03:06,795
Yeah, okay.

36
00:03:07,058 --> 00:03:08,953
Let's have a look at what it can do.

37
00:03:09,025 --> 00:03:10,436
this is mindsDB.

38
00:03:10,857 --> 00:03:18,402
Here, it's already running on my laptop, on this local host, locally.

39
00:03:18,402 --> 00:03:30,530
And then you can see here, for example, if you wanted to connect to a data source, you can
have multiple data source in there where you can directly connect to the data, through the

40
00:03:30,530 --> 00:03:31,310
API.

41
00:03:32,493 --> 00:03:34,749
and then ask questions uh in real time.

42
00:03:34,749 --> 00:03:39,179
Or you can also create knowledge base from a selected data source.

43
00:03:39,179 --> 00:03:42,076
um

44
00:03:42,076 --> 00:03:50,267
a knowledge base, does that mean then reading all of this data and making embeddings out
of it or chunking everything?

45
00:03:51,370 --> 00:03:52,000
Okay.

46
00:03:52,000 --> 00:04:01,189
and then you can select your own embedding models to do that and we will see how we can
use the MindsDB to do it.

47
00:04:01,189 --> 00:04:04,572
You will notice that for example, there is no Google Drive connector.

48
00:04:04,572 --> 00:04:06,033
which in...

49
00:04:06,713 --> 00:04:07,198
Yes.

50
00:04:07,198 --> 00:04:08,539
to postgres.

51
00:04:08,623 --> 00:04:10,344
And I did see a Slack connector.

52
00:04:10,344 --> 00:04:16,639
So I see a mixture between data systems and also software systems or SaaS providers.

53
00:04:18,041 --> 00:04:18,410
Okay.

54
00:04:18,410 --> 00:04:20,734
I think there's also Teams, Notion.

55
00:04:20,734 --> 00:04:25,916
So we won't have time to explore everything, but there is a lot that you can do with it.

56
00:04:25,916 --> 00:04:30,838
You can also connect it to an MCP that talks to other data sources or providers.

57
00:04:30,838 --> 00:04:33,409
So it's a quite versatile tool.

58
00:04:34,036 --> 00:04:36,979
Okay, so you could have MCP as a source.

59
00:04:37,480 --> 00:04:39,442
And so MindsDB could read from there.

60
00:04:39,442 --> 00:04:42,685
We have another video on MCP for those who want to explore,

61
00:04:43,707 --> 00:04:46,008
We will go through the code later.

62
00:04:46,008 --> 00:04:49,791
But first, let's have a look at what is inside the MindsDB.

63
00:04:49,791 --> 00:04:55,734
Here we have, as you can see in my data sources, I already ingested the files.

64
00:04:56,394 --> 00:04:57,935
And they are there.

65
00:04:57,935 --> 00:04:59,475
Google Drive files.

66
00:05:00,209 --> 00:05:01,390
you can see the contents.

67
00:05:01,390 --> 00:05:06,113
This is basically what we see in Postgres.

68
00:05:06,113 --> 00:05:10,075
And then what we can do is that we create a knowledge base out of this.

69
00:05:10,075 --> 00:05:11,376
So it's here.

70
00:05:11,536 --> 00:05:20,000
And then here you have information about the name of the knowledge base, about the
embedding models that we choose.

71
00:05:20,000 --> 00:05:21,931
Here is this is the one that I use.

72
00:05:21,931 --> 00:05:24,323
This is my API key, which is hidden.

73
00:05:24,323 --> 00:05:29,465
um And then you have metadata column and...

74
00:05:29,741 --> 00:05:30,962
parameters and so on.

75
00:05:30,962 --> 00:05:34,443
And what we do afterwards is that we have an agent here.

76
00:05:34,443 --> 00:05:36,684
So it's nicely structured here.

77
00:05:36,684 --> 00:05:40,947
You have your agents, you have your jobs, you have knowledge bases, models.

78
00:05:40,947 --> 00:05:50,092
You can also use local models if you so choose, which is quite powerful because if you
want to do everything locally or you have sensitive files that you don't want to connect

79
00:05:50,092 --> 00:05:50,802
to.

80
00:05:50,943 --> 00:05:54,636
a cloud-based LLM, you can also use it locally.

81
00:05:54,636 --> 00:06:03,082
And then we have our agent here, which also uses a model and has built-in parameters like
you need to connect to that knowledge base.

82
00:06:03,082 --> 00:06:04,682
You have a prompt template.

83
00:06:04,682 --> 00:06:06,023
You have a role.

84
00:06:06,023 --> 00:06:10,766
You answer user questions about that knowledge base, Google Drive knowledge base here.

85
00:06:10,766 --> 00:06:12,367
You should add the ID.

86
00:06:13,186 --> 00:06:21,550
Here when you quote or paraphrase a chunk, you should write the ID and the source,
summarize duplicates and so on.

87
00:06:21,550 --> 00:06:32,556
So you're creating an agent with uh a specific prompting that connects to a knowledge base
that you created, that is linked to files on the database so that you can use natural

88
00:06:32,556 --> 00:06:34,598
language to ask questions about your files.

89
00:06:34,598 --> 00:06:38,063
Yeah, yes.

90
00:06:38,063 --> 00:06:39,484
resides in the source.

91
00:06:39,484 --> 00:06:45,170
Then you have your knowledge base that is built up from data in the source and MindsDB
helps you create that.

92
00:06:45,170 --> 00:06:54,035
And then you have an agent level, which can interact with that knowledge base, but also
using an external agent to answer questions.

93
00:06:54,035 --> 00:06:55,027
Yes, exactly.

94
00:06:55,027 --> 00:07:00,082
So here I'm going to use the Google Drive agent to ask questions about my files.

95
00:07:00,082 --> 00:07:04,286
So here I will ask him to give me pros and cons about Microsoft Fabric,

96
00:07:04,286 --> 00:07:13,006
So here it's using the Google Drive Knowledge base because I've instructed him to do it.

97
00:07:14,206 --> 00:07:20,306
And he's doing SQL queries on the actual copy of the text.

98
00:07:20,306 --> 00:07:25,826
So here we have some pros and cons about Microsoft Fabric based on recent learnings.

99
00:07:25,826 --> 00:07:31,166
Here you see it's a fully managed platform and upgrade on the Power BI platform and so on.

100
00:07:31,166 --> 00:07:34,354
So you have a good view and then you have the source.

101
00:07:34,354 --> 00:07:40,402
the ID of the file and also the name of the file, which is the Facts and Breakfast,
Celebrating Fabric's First Year.

102
00:07:40,402 --> 00:07:43,846
And we know that it's actually here, right?

103
00:07:43,846 --> 00:07:47,870
So it took the information from this file here.

104
00:07:48,311 --> 00:07:57,045
What I already wondered like is we see the query there select star from, and it's trying
to do a where query with like a specific string match.

105
00:07:57,165 --> 00:08:05,409
This is translated into like an embedding behind the scenes that we don't see it, or is it
actually trying to do like a literal match?

106
00:08:06,186 --> 00:08:08,208
No, he's doing semantic search.

107
00:08:09,270 --> 00:08:11,922
Yes, yes, yes, yes.

108
00:08:11,922 --> 00:08:13,375
Yeah, indeed.

109
00:08:13,375 --> 00:08:24,558
It's doing semantic search and then looking over all the vectors in the Google Drive
knowledge base and then selecting the file which is the most appropriate to the question

110
00:08:24,558 --> 00:08:25,609
that we're asking.

111
00:08:25,814 --> 00:08:28,466
Okay, so the equal sign here is a bit misleading.

112
00:08:28,466 --> 00:08:32,930
It's actually doing a semantic search on the content column in this case.

113
00:08:34,111 --> 00:08:35,452
Okay, got it.

114
00:08:36,022 --> 00:08:43,912
So maybe I can show you the code on how to get this MindsDB up and running

115
00:08:43,914 --> 00:08:47,036
basically we're doing a Docker compose mindsDB.

116
00:08:47,036 --> 00:08:51,680
So we are getting a mindsDB image from mindsDB.

117
00:08:51,680 --> 00:08:56,601
What is really nice about that is that you don't have to log in anywhere.

118
00:08:56,601 --> 00:09:02,357
It's open source and you just download the image as a Docker, Docker compose up.

119
00:09:02,357 --> 00:09:05,318
and then you set up a username and a password and you're in.

120
00:09:05,318 --> 00:09:08,041
And you can use the full MindsDB experience.

121
00:09:08,041 --> 00:09:10,222
here I tried to code a little bit.

122
00:09:10,222 --> 00:09:17,505
So for example, I have this Python file which is called setup-db.py and we are trying to
connect to the MindsDB.

123
00:09:17,765 --> 00:09:20,428
uh here with our Python script.

124
00:09:20,428 --> 00:09:29,187
Then we are executing SQL statement in here to create the database and the knowledge base
inside mindsDB.

125
00:09:29,187 --> 00:09:33,100
We are connecting here to the Postgres database.

126
00:09:33,100 --> 00:09:38,245
We are creating the knowledge base using a model name and API key.

127
00:09:38,245 --> 00:09:40,846
You can define also the storage

128
00:09:41,428 --> 00:09:45,929
you're not defining storage, then it's going to be stored in mindsDB.

129
00:09:47,010 --> 00:09:54,034
But then if you lose the Docker image or if you do a Docker compose down, it's in the
cache, it's going to disappear.

130
00:09:54,034 --> 00:09:56,195
And here, you can store it in Postgres.

131
00:09:56,195 --> 00:10:00,860
You can also here populate the Google Drive knowledge base from

132
00:10:00,860 --> 00:10:05,985
Postgres table and then we execute all this.

133
00:10:05,985 --> 00:10:08,027
So what does this do?

134
00:10:08,027 --> 00:10:13,754
as soon as I do make mindsdb and spin up my Docker image it's going to run all this.

135
00:10:13,754 --> 00:10:29,685
You can also do it here you could create everything in mindsDB in this SQL query editor
here for example this is example code to connect to a Slack data source so this is to show

136
00:10:29,685 --> 00:10:30,745
you that you can

137
00:10:31,077 --> 00:10:37,391
Do it inside mindsDB using the built-in SQL editor and then creating all of this here.

138
00:10:37,391 --> 00:10:50,119
But you can also do it in a more, I would say, production-ready way, where you can have
everything as code, em where you can define the API keys and have them stored in a secret

139
00:10:50,119 --> 00:10:52,080
and secure location.

140
00:10:52,080 --> 00:10:55,361
Because here you would have to write, for example, the...

141
00:10:55,381 --> 00:10:55,953
Yes.

142
00:10:55,953 --> 00:11:05,398
you paste it in here, for example, I'm creating a database for Slack and I'm gonna have to
paste in my token right in there, which is not a very secure way to do it.

143
00:11:05,479 --> 00:11:07,090
But if you want to,

144
00:11:07,090 --> 00:11:14,523
take it up further for a production environment, you would have all of these secrets
stored in a secure store.

145
00:11:14,523 --> 00:11:21,424
So this is to show that you can create a knowledge base, you can create an agent using the
query editor of MindsDB.

146
00:11:21,424 --> 00:11:26,888
You can also, write it as code and run it when you create the image.

147
00:11:27,390 --> 00:11:30,352
I have a few questions on the three steps you showed here.

148
00:11:30,352 --> 00:11:32,854
So the first step was creating a database.

149
00:11:32,854 --> 00:11:35,956
That is then the source that you indicate, right?

150
00:11:35,956 --> 00:11:41,519
This is the source Postgres database The second step I see is creating a knowledge base.

151
00:11:41,579 --> 00:11:44,866
So you set the stage for an empty knowledge base.

152
00:11:44,866 --> 00:11:49,446
with specific columns I see and one specific content column.

153
00:11:49,446 --> 00:11:54,358
And then the third step, you do is you load the data in the knowledge base.

154
00:11:54,358 --> 00:12:03,152
I expect there embeddings will start being calculated and behind the scenes, will load
everything into the knowledge base of step two.

155
00:12:03,927 --> 00:12:04,368
Okay.

156
00:12:04,368 --> 00:12:06,228
And how long does this take?

157
00:12:06,228 --> 00:12:12,461
Cause embeddings, I can imagine if it does chunking or something behind the scenes, it can
take quite a while, no?

158
00:12:13,228 --> 00:12:14,748
Well, we don't have a lot of files.

159
00:12:14,748 --> 00:12:17,308
We have about 14 files or so.

160
00:12:18,028 --> 00:12:19,728
It doesn't take that long.

161
00:12:19,728 --> 00:12:23,368
We can make MindsDB here.

162
00:12:24,208 --> 00:12:36,648
And it's going to start doing a Docker Compose up and checking for the Postgres that is
running and also MindsDB.

163
00:12:37,248 --> 00:12:40,408
Here you can see it's successfully connected to MindsDB.

164
00:12:40,408 --> 00:12:41,354
And then now it's...

165
00:12:41,354 --> 00:12:45,940
creating the database if it exists, of course, and voila, it's done already.

166
00:12:45,940 --> 00:12:47,442
It was quite quick.

167
00:12:47,725 --> 00:12:50,048
Okay and it reloaded these files.

168
00:12:50,048 --> 00:12:51,388
Yes.

169
00:12:52,128 --> 00:12:53,148
Yes.

170
00:12:53,168 --> 00:12:58,408
So for 14, for 15 text files, that was quite quick.

171
00:12:58,498 --> 00:12:59,218
Yeah.

172
00:12:59,167 --> 00:13:04,885
Right so now we have the knowledge base in place, it's filled up, but then we don't have
the AI agent yet.

173
00:13:04,903 --> 00:13:05,686
Yeah, indeed.

174
00:13:05,686 --> 00:13:07,751
So how do you create that agent?

175
00:13:07,751 --> 00:13:11,312
You can create a new editor here.

176
00:13:11,312 --> 00:13:15,852
So what you do is that we are going to create an agent here.

177
00:13:15,852 --> 00:13:19,213
Drive, we'll name it Google Drive 2 transcript bot.

178
00:13:19,213 --> 00:13:23,153
And we can use GPT 4.1, for example.

179
00:13:24,053 --> 00:13:25,993
You define which

180
00:13:26,039 --> 00:13:33,196
data it needs to connect to, so the knowledge base, Google Drive knowledge base, and then
you can give it a prompt template.

181
00:13:33,196 --> 00:13:36,780
Here I said role is what I explained before.

182
00:13:36,780 --> 00:13:46,750
You need to explain the source, summarize duplicates finish every response with certain
prefix, and then concise and helpful answer.

183
00:13:46,931 --> 00:13:48,623
So you just run this.

184
00:13:48,623 --> 00:13:55,502
So you just run it, and then here you have Google Drive 2 transcript bot, and it's
directly usable here.

185
00:13:55,502 --> 00:13:56,311
flexible.

186
00:13:56,311 --> 00:13:58,837
in about two minutes you build a small RAG.

187
00:13:58,983 --> 00:14:00,645
Yeah, basically.

188
00:14:00,787 --> 00:14:03,792
That's what's really nice about MindsDB.

189
00:14:09,265 --> 00:14:12,736
What we did here, the whole concept of ingesting files from a Google Drive, connecting to
Postgres, this is rather a long step.

190
00:14:12,736 --> 00:14:16,601
What you could also do is here based on what is in Slack.

191
00:14:17,429 --> 00:14:21,874
So it will do some kind of some part of ingestion itself.

192
00:14:21,874 --> 00:14:24,136
And then you can store everything in MindsDB.

193
00:14:24,136 --> 00:14:26,698
You don't have to connect to Postgres database.

194
00:14:26,860 --> 00:14:27,678
So it's.

195
00:14:27,678 --> 00:14:32,698
here you have step one, create database connection that is connecting to Slack.

196
00:14:32,698 --> 00:14:35,818
this case, we consider Slack a database or a data source.

197
00:14:35,818 --> 00:14:42,078
Then step two is for yourself to just see what channels there are.

198
00:14:42,078 --> 00:14:44,779
I assume this is for development purposes.

199
00:14:44,779 --> 00:14:45,411
development.

200
00:14:45,411 --> 00:14:49,372
And here we can see, for example,

201
00:14:49,372 --> 00:14:53,192
turn Slack into a database that you can query using SQL already.

202
00:14:53,192 --> 00:14:53,773
Yeah.

203
00:14:53,773 --> 00:14:56,661
And then here we can see these are the names of...

204
00:14:56,661 --> 00:14:59,208
of the channels, yeah.

205
00:14:59,208 --> 00:15:00,157
uh

206
00:15:00,157 --> 00:15:07,558
so I want to get the messages from the learning channel here, which is this ID, so we can
run it.

207
00:15:09,172 --> 00:15:12,186
And then here we have all the text from the messages here.

208
00:15:12,186 --> 00:15:17,139
We're talking about Claude.

209
00:15:17,139 --> 00:15:18,659
Yeah, indeed.

210
00:15:20,213 --> 00:15:24,108
Okay, so this gives you a way to query the data so you know what's looking right.

211
00:15:24,108 --> 00:15:29,495
And then in the next step you say, let's build a knowledge base and you provide the
columns.

212
00:15:29,997 --> 00:15:31,899
Yes, you're providing the columns.

213
00:15:31,899 --> 00:15:34,341
then so here we created a knowledge base.

214
00:15:34,341 --> 00:15:36,881
It's already created, so we don't have to do it anymore.

215
00:15:36,881 --> 00:15:44,144
But then we can populate the knowledge base with the messages that we have in the channel
ID that we defined as so.

216
00:15:44,764 --> 00:15:48,485
And here it's going to take a bit longer because we have...

217
00:15:48,872 --> 00:15:51,073
a lot of messages in there.

218
00:15:51,073 --> 00:15:54,478
in the back, I assume it's doing all kinds of Slack API calls.

219
00:15:54,478 --> 00:15:59,478
Yes, yes, but it's quite removed from what you're doing.

220
00:15:59,478 --> 00:16:08,598
So you can really quickly get to a point where you can ask stuff about your Slack messages
and everything is really made easy.

221
00:16:08,899 --> 00:16:12,239
Yeah, it puts like a SQL interface on top of your source system.

222
00:16:12,239 --> 00:16:13,701
this is really nice.

223
00:16:14,163 --> 00:16:16,015
Okay, so the query was successful.

224
00:16:16,015 --> 00:16:19,710
So now we have a Slack knowledge base here.

225
00:16:22,423 --> 00:16:26,589
And then we can create an agent that we will call Slack Assistant.

226
00:16:26,589 --> 00:16:28,791
And we define the knowledge base here.

227
00:16:30,819 --> 00:16:33,687
So we'll call it Slack Assistant demo.

228
00:16:33,687 --> 00:16:35,354
Let's create it.

229
00:16:35,354 --> 00:16:38,921
So voila, the query was successful and...

230
00:16:38,921 --> 00:16:42,510
new agent now that is primed with this information.

231
00:16:42,575 --> 00:16:44,898
Yes, this guy, Slack Assistant demo.

232
00:16:44,898 --> 00:16:49,102
And normally now if you ask a question, it will look into the knowledge base of Slack.

233
00:16:49,102 --> 00:16:49,879
So we saw.

234
00:16:49,879 --> 00:16:52,791
ask, do you have news on Claude?

235
00:16:56,707 --> 00:16:58,068
Hopefully, yes.

236
00:16:59,089 --> 00:16:59,710
Let's see.

237
00:16:59,710 --> 00:17:04,755
So he's using the knowledge base of Slack.

238
00:17:04,755 --> 00:17:07,237
here's the latest news on cloud from the Slack conversations.

239
00:17:07,237 --> 00:17:09,219
Claude Sonnet 4.5 has been released.

240
00:17:09,219 --> 00:17:12,144
And then you have the source ID, the message and the...

241
00:17:12,144 --> 00:17:18,997
Yeah, that's probably the user identifier which you can resolve to the user so that we
know who this is really nice.

242
00:17:18,997 --> 00:17:19,269
Yeah.

243
00:17:19,269 --> 00:17:23,991
what you could do, you could create an agent that has access to multiple knowledge bases.

244
00:17:23,991 --> 00:17:33,631
and there you have your problems that we had, that we discussed in the PyAirbyte video,
where we saying we have a lot of different sources, and we had a lot of knowledge in

245
00:17:33,631 --> 00:17:36,331
Google Drive, in Notion, in Slack.

246
00:17:37,611 --> 00:17:40,045
And PyAirbyte was kind of a...

247
00:17:40,045 --> 00:17:44,538
parentheses to get here because we also need files from Google Drive.

248
00:17:44,618 --> 00:17:55,879
But for example, if you want to skip that whole ETL process of ingesting those files and
putting them in the Postgres database where you have more control, but it takes more time

249
00:17:55,879 --> 00:18:04,636
and more management and more resources, more overhead, you can also use the MindsDB
integration connector, directly connect using the API.

250
00:18:04,925 --> 00:18:08,667
creating the knowledge bases using all the tools in there.

251
00:18:08,667 --> 00:18:18,244
And really quickly, you can get to a point where you have an agent using the LLM of your
choice, asking questions about multiple knowledge bases that can be all put together.

252
00:18:18,791 --> 00:18:23,696
Yeah, this is indeed quite a fast track to get to something quickly.

253
00:18:23,917 --> 00:18:26,759
And then it makes me wonder, we're running this locally.

254
00:18:27,421 --> 00:18:31,044
I would love to have this integrated into some other tool.

255
00:18:31,245 --> 00:18:40,335
So does MindsDB then also expose an API that we can use to query this agent you just
created, if we don't want to use this user interface?

256
00:18:40,767 --> 00:18:44,693
because there's a top called code is that something that

257
00:18:45,734 --> 00:18:50,223
Query an agent to generate response to your questions using your connected data.

258
00:18:50,440 --> 00:18:53,823
So it does actually allow you using the SDK.

259
00:18:53,823 --> 00:19:05,014
So suppose I have my Streamlit app somewhere running and I want to have my own interface
and this as a backend, not with this UI, I could actually host this somewhere and query

260
00:19:05,014 --> 00:19:06,709
the agents directly.

261
00:19:06,709 --> 00:19:08,371
Indeed, yes, you could do that.

262
00:19:08,371 --> 00:19:09,703
Okay, this is really nice.

263
00:19:09,703 --> 00:19:20,087
Of course, you're not answering the question on how you host this and how you can scale
this or anything, but in principle, this is a nice way of very quickly getting from Slack,

264
00:19:20,087 --> 00:19:28,932
which is a bit locked down in the silo towards making it queryable and making this into an
agent and then turning this into an API.

265
00:19:28,932 --> 00:19:31,897
I think this is a really nice value proposition.

266
00:19:31,831 --> 00:19:34,092
Maybe a quick conclusion from your side.

267
00:19:34,418 --> 00:19:36,319
it brings you to value quickly.

268
00:19:36,319 --> 00:19:41,923
with PyAirbyte for Google Drive and MindsDB for Notion and Slack, I was able to...

269
00:19:41,923 --> 00:19:47,194
query multiple sources from Dataminded in maybe one day of work or so,

270
00:19:47,194 --> 00:19:55,083
I think it's a really nice tool, MindsDB, to turn database into a knowledge base that you
can query with natural language really quickly.

271
00:19:55,083 --> 00:19:56,854
It's SQL-based AI.

272
00:19:56,854 --> 00:19:58,936
It's open source, so that's really nice.

273
00:19:58,936 --> 00:20:06,342
If you have already a Postgres database where you want to connect this to, it's really
quickly to get an agent to do that.

274
00:20:06,342 --> 00:20:09,497
So yeah, I think it's a really cool tool.

275
00:20:09,798 --> 00:20:10,498
Yeah.

276
00:20:10,498 --> 00:20:12,980
From my perspective, this was a really nice demo.

277
00:20:12,980 --> 00:20:15,901
I especially liked the whole Slack setup.

278
00:20:15,921 --> 00:20:20,165
And my takeaway is you can build a RAG in a few minutes.

279
00:20:20,165 --> 00:20:25,949
You get a knowledge base, you get an agent and you get an API So good for prototyping.

280
00:20:25,949 --> 00:20:26,829
Yeah.

281
00:20:27,310 --> 00:20:28,120
Right.

282
00:20:28,550 --> 00:20:31,013
Thanks a lot for the demo, Tarik.

283
00:20:31,013 --> 00:20:34,096
Looking forward to seeing more of this and to trying it out myself.

284
00:20:34,826 --> 00:20:35,853
Thank you, Jonny, for having me.

285
00:20:35,853 --> 00:20:37,511
It was nice to talk about that.

286
00:20:37,643 --> 00:20:38,654
we have some code.

287
00:20:38,654 --> 00:20:40,384
We'll put it in the comments.

288
00:20:40,584 --> 00:20:44,147
And also if you have any questions for Tarik, also put them in the comments.

289
00:20:44,147 --> 00:20:46,188
Again, thanks for watching and see you next time.

290
00:20:46,188 --> 00:20:47,188
Bye bye.