WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=Q0VkgCyNVUg

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/Q0VkgCyNVUg.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:01.309 --> 00:00:03.309
[music]

s2
00:00:12.920 --> 00:00:14.680
My name's Stephen Chin.

s3
00:00:14.680 --> 00:00:20.800
I run the developer relations team here at Neo4j.

s4
00:00:21.360 --> 00:00:29.640
And I'm excited to talk to you about something we've all come to love, our our crustacean friends.

s5
00:00:29.640 --> 00:00:33.600
So, we have um um open claw mascot.

s6
00:00:33.600 --> 00:00:40.120
We have a bunch of other crustaceans, and we're going to we're going to focus on one member of the crustacean family.

s7
00:00:40.120 --> 00:00:53.560
I I I love crabs, so our little boy Crab D. And I think in the in the journey to to figure out how to apply agents, how to do things which are more autonomous,

s8
00:00:53.560 --> 00:01:00.000
we're all looking for ways where we can get better results, more accurate answers, and to actually capture all of this.

s9
00:01:00.000 --> 00:01:02.080
But, the tools kind of work against us.

s10
00:01:02.080 --> 00:01:08.480
So, um here is our our friend Crab D. He's a he's a personal assistant.

s11
00:01:08.480 --> 00:01:09.840
Very happy, very eager.

s12
00:01:09.840 --> 00:01:18.520
He wants to to help us out with our lives, maybe to help us to code, to help us to, you know, manage our email, to do different things.

s13
00:01:18.520 --> 00:01:22.000
But, he's got a problem.

s14
00:01:22.000 --> 00:01:27.120
And our poor boy Crab D has a very bad memory.

s15
00:01:27.120 --> 00:01:32.880
He wakes up every day, and his memory file flips, and now it's a new day, and he forgets everything from yesterday.

s16
00:01:32.880 --> 00:01:42.720
Does this happen to you where you you wake up, and you're using open claw, and suddenly it's on a new set of memory files, and remembers nothing that you actually did the previous day?

s17
00:01:44.080 --> 00:01:46.760
He's got a lot of tools at his disposal.

s18
00:01:46.760 --> 00:01:53.240
I mean, we love giving our agents tools, but sometimes he doesn't pick the right tool for the job.

s19
00:01:53.600 --> 00:01:56.600
I don't think either of these are going to help him drink his his bowl of soup.

s20
00:01:56.600 --> 00:02:01.840
So, that's not the tool which he was looking to to reach for.

s21
00:02:03.560 --> 00:02:05.360
And a little bit forgetful at times.

s22
00:02:05.360 --> 00:02:10.039
So, you know, I think I don't remember everybody I meet, but I'm pretty good at faces.

s23
00:02:10.039 --> 00:02:12.800
Like if I've if I've met you before, I recognize faces.

s24
00:02:12.800 --> 00:02:15.520
It's like pleased to meet you.

s25
00:02:15.520 --> 00:02:17.520
Um Krabdi is not as good at that.

s26
00:02:17.520 --> 00:02:19.680
So, very forgetful.

s27
00:02:19.680 --> 00:02:26.520
It's like you're re-teaching it every day to do the same sort of tasks and we want agents which are more helpful, which are able to do more for us.

s28
00:02:26.520 --> 00:02:29.840
So, let's dig into how Krabdi actually works.

s29
00:02:29.840 --> 00:02:33.959
So, it's basically a a memory loop, right?

s30
00:02:33.959 --> 00:02:40.680
So, we're we're prompting, we're thinking about the response, maybe calling tools, observing what happens.

s31
00:02:40.680 --> 00:02:43.400
But, the hard part is the memory.

s32
00:02:43.400 --> 00:02:47.360
The hard part is what you put in context, what you're recalling from.

s33
00:02:47.360 --> 00:02:55.720
And the way which you have memory structured in most tools is an example of um how Open Claw structures things.

s34
00:02:55.720 --> 00:02:58.280
Is you have a solved at MD for your agent's memory.

s35
00:02:58.280 --> 00:03:00.680
You have maybe um memory files.

s36
00:03:00.680 --> 00:03:01.760
You have different tool files.

s37
00:03:01.760 --> 00:03:04.080
You have daily memory files.

s38
00:03:04.080 --> 00:03:10.840
Now, if you look at this, there's one thing which is in common with all of these, they're just markdown files.

s39
00:03:10.840 --> 00:03:12.400
So, mark markdown files are great.

s40
00:03:12.400 --> 00:03:14.040
That's easy for us to read.

s41
00:03:14.040 --> 00:03:15.640
Like we can we can look through it.

s42
00:03:15.640 --> 00:03:19.480
We can quickly figure out what's not needed and compact them.

s43
00:03:19.480 --> 00:03:28.120
Um they're intentionally small for agents because you have a limited context window and also you need to keep the right things at the top of the context.

s44
00:03:28.120 --> 00:03:35.680
But, if your whole memory is a bunch of markdown files, you're wasting a lot of tokens.

s45
00:03:35.680 --> 00:03:43.160
So, um my my average agents are loading up at least 100k in tokens for each round.

s46
00:03:43.160 --> 00:03:45.200
Um they're doing a lot of skills.

s47
00:03:45.200 --> 00:03:47.320
They're adding a lot of things into the context constantly.

s48
00:03:47.320 --> 00:03:55.960
It's very repetitive because they they basically load up everything in the hopes that something will be useful in the context.

s49
00:03:55.960 --> 00:04:00.800
At small scale that works where you get the results you want with a high quality model.

s50
00:04:00.800 --> 00:04:10.000
It doesn't work at large scale and I'm going to show a demo of large scale where we take open claw and we let it run loose on my home lab.

s51
00:04:10.000 --> 00:04:16.680
So, um high demo risk, but a lot of fun and um a classic digital twin scenario.

s52
00:04:16.680 --> 00:04:20.079
So, I think we'll have we'll have a lot of fun here.

s53
00:04:20.079 --> 00:04:23.280
Um anybody use Hermes agent at all?

s54
00:04:23.280 --> 00:04:23.800
Okay.

s55
00:04:23.800 --> 00:04:25.720
I'm a big fan of Hermes agent.

s56
00:04:25.720 --> 00:04:29.160
Um I think it's got a much better memory system.

s57
00:04:29.160 --> 00:04:36.120
It kind of at the end of each task it goes and it reflects and it adds back in new skills or new things which it needs.

s58
00:04:36.120 --> 00:04:39.800
So, um it's a really powerful system.

s59
00:04:39.800 --> 00:04:46.040
And um you know, again, we're relying a lot on markdown files.

s60
00:04:46.040 --> 00:04:49.000
Skills are just basically markdown files.

s61
00:04:49.000 --> 00:04:56.440
But we can teach the agent to do a lot of things with skills and it can it can get the right skill if it gets loaded up and then good things happen.

s62
00:04:56.640 --> 00:05:00.600
But sometimes we don't get the right skill loaded up.

s63
00:05:00.600 --> 00:05:04.000
So, our our poor boy crab D here is not going to get that clam.

s64
00:05:04.000 --> 00:05:07.560
He just doesn't have the open clam shell skill.

s65
00:05:07.560 --> 00:05:10.360
Lots of shrimp, no clams.

s66
00:05:10.960 --> 00:05:16.200
Maybe you pick the wrong skill for the job and suddenly you're you're jet skiing on the on the beach.

s67
00:05:16.200 --> 00:05:16.400
Right?

s68
00:05:16.400 --> 00:05:20.240
This this is not this is not going to get him very far.

s69
00:05:20.680 --> 00:05:30.280
And sometimes you you might get that clam open, but then you don't have the skill to eat them.

s70
00:05:30.600 --> 00:05:34.240
So, skills you need to have the right skills, the right chain of skills.

s71
00:05:34.240 --> 00:05:43.240
Um actually we have an awesome project by one of the Neo4j folks which is just Bennet as an Arvix paper which is a graph for skills.

s72
00:05:43.240 --> 00:05:47.760
So, that's an exciting way of like like figuring out what the right skills are.

s73
00:05:47.760 --> 00:05:50.840
But, maybe we can do better.

s74
00:05:50.840 --> 00:05:55.800
So, um Goose is a project that's part of the um Agentic AI Foundation.

s75
00:05:55.800 --> 00:05:58.840
It's a new foundation which MCP is part of.

s76
00:05:58.840 --> 00:06:00.880
Um Anthropic is backing this.

s77
00:06:00.880 --> 00:06:02.160
We're We're also a member of this.

s78
00:06:02.160 --> 00:06:07.480
So, it's a it's a great automation tool for a lot of enterprise workflows.

s79
00:06:07.480 --> 00:06:10.400
You can also use it kind of like a personal assistant.

s80
00:06:10.400 --> 00:06:13.040
It relies heavily on MCP as the layer.

s81
00:06:13.040 --> 00:06:15.640
Over 70 MCP extensions.

s82
00:06:15.640 --> 00:06:22.760
And what it does is it treats memory just like another MCP server.

s83
00:06:23.160 --> 00:06:24.080
So, this is great, right?

s84
00:06:24.080 --> 00:06:25.360
It's It's pluggable.

s85
00:06:25.360 --> 00:06:32.120
You can call different commands on it to retrieve memories, remember memories, um forget memories.

s86
00:06:32.120 --> 00:06:34.200
Memories are just plain files on disk.

s87
00:06:34.200 --> 00:06:37.360
So, now you can manipulate them.

s88
00:06:37.360 --> 00:06:40.960
So, same great idea, same fundamental problem.

s89
00:06:40.960 --> 00:06:42.040
We're We're storing the memory.

s90
00:06:42.040 --> 00:06:46.040
We're storing the memory of agents as markdown files on disks.

s91
00:06:46.040 --> 00:06:54.560
And again, you end up with what if What if you pick the wrong tool for the job, the wrong paddle?

s92
00:06:55.040 --> 00:07:04.160
Now, in this case, if you pick the wrong paddle, you're genius cuz you've invented the most the fastest rising sport in the US, which is pickleball.

s93
00:07:04.840 --> 00:07:13.440
Um actually, the origin of pickleball was was um a family wanted to create a new game and they just took what they had around the house, a badminton court,

s94
00:07:13.440 --> 00:07:16.080
and um made up the rules along the way.

s95
00:07:16.080 --> 00:07:20.360
So, creation can be good when you have the wrong tools.

s96
00:07:20.680 --> 00:07:22.640
Maybe you remember everything, but it's too much.

s97
00:07:22.640 --> 00:07:25.240
It's too much weight because you can't actually solve the problem.

s98
00:07:25.240 --> 00:07:32.360
So, our poor friend Goose here is encumbered by too many notes, too many memories.

s99
00:07:33.360 --> 00:07:43.560
Or, most dangerously, now you have MCP tools, you're one step away from calling the forget command and just wiping out your own memory.

s100
00:07:44.440 --> 00:07:48.600
Okay, so we want to be able to do better than this.

s101
00:07:48.600 --> 00:07:52.040
So, vector databases, right?

s102
00:07:52.040 --> 00:07:54.520
So, we can store everything, we can create embeddings for it.

s103
00:07:54.520 --> 00:07:59.120
Now, we actually have a a database, we can store it in a vector database.

s104
00:07:59.120 --> 00:08:00.000
So, this is great.

s105
00:08:00.000 --> 00:08:02.600
I mean, you have to pick the right vector database.

s106
00:08:02.600 --> 00:08:09.680
Um and then now you can do similarity searches, so you can pull back information which is which is relevant.

s107
00:08:09.680 --> 00:08:11.240
So, we're doing much better.

s108
00:08:11.240 --> 00:08:15.560
We have a large repository of knowledge, we can pull back related information.

s109
00:08:15.560 --> 00:08:18.320
Um Open Claw comes with PGVector out of the box.

s110
00:08:18.320 --> 00:08:21.200
Given an embedding, you can just start using this.

s111
00:08:21.200 --> 00:08:22.800
Um LanceDB is a great option.

s112
00:08:22.800 --> 00:08:26.280
I'm going to use both of those in my demo.

s113
00:08:26.600 --> 00:08:37.840
But, the challenge here is similar what what vectors give you, which is similarity in vector space, is not the same as actual relationships.

s114
00:08:37.840 --> 00:08:44.039
And so, you get hallucinations, you get a lot of problems when you're relying solely on vector lookup as the answer.

s115
00:08:44.039 --> 00:08:50.680
And it compounds with more complex scenarios when you're doing things like like I'm going to show you an example of a digital twin.

s116
00:08:50.680 --> 00:09:04.920
When you're doing things which are very complex, they they just don't scale and you make silly mistakes like this is obviously is not what poor crab D wanted to munch into and it's a very expensive lunch for him.

s117
00:09:06.360 --> 00:09:18.160
Also, it's sometimes impossible to get to the answer even though you have all the facts because those large multi-hop reasoning chains don't work on similarity searches.

s118
00:09:18.160 --> 00:09:22.520
They're also very expensive on traditional relational databases.

s119
00:09:25.360 --> 00:09:30.760
And often things look similar but they're not exactly the same.

s120
00:09:30.760 --> 00:09:42.840
And this is one of the problems with the responses you get from a vector database is you suffer from getting facts which are related in some way and they're not your shell.

s121
00:09:42.840 --> 00:09:45.240
And you don't you don't want to take the wrong shell out of the locker room.

s122
00:09:45.240 --> 00:09:46.560
That's that's very unfortunate.

s123
00:09:46.560 --> 00:09:48.280
So, enter graphs.

s124
00:09:48.280 --> 00:09:56.600
Graphs are a great way of finding the relationships, finding those identities, mapping out the paths, getting that full chain.

s125
00:09:57.200 --> 00:10:00.000
And they're built for this sort of connected data.

s126
00:10:00.000 --> 00:10:12.200
So, now that you have first class nodes, which are the the circles, edges, those are the relationships between different objects, and then you can put properties on top of graphs to store information.

s127
00:10:12.200 --> 00:10:19.560
You can also store embeddings in your graph and that gives you a way to both use vectors and graphs together.

s128
00:10:19.560 --> 00:10:25.440
Um architecturally, the demo I'm going to show you is um both a vector search and a graph search.

s129
00:10:25.440 --> 00:10:31.120
So, it uses the vector search to get the seed nodes where it starts the traversal.

s130
00:10:31.120 --> 00:10:38.680
And then it uses a graph search pulling the the nearest neighbors and then ranking those by how related they are.

s131
00:10:38.680 --> 00:10:50.560
And this gives you this complex multi-hop queries to solve more difficult, more domain-specific problems and to figure out where that where that reef is that we want to get to with all the

s132
00:10:50.560 --> 00:10:55.480
the tasty um the tasty junk food across the ocean.

s133
00:10:56.800 --> 00:10:58.600
And graphs are they're accurate.

s134
00:10:58.600 --> 00:11:02.360
So, they give you very precise information.

s135
00:11:02.360 --> 00:11:06.680
Explainable because you can look at the graph which got returned.

s136
00:11:06.680 --> 00:11:11.160
And auditable because now you can actually say these are the this is the context.

s137
00:11:11.160 --> 00:11:14.920
This is the part of the graph which resulted in that answer.

s138
00:11:14.920 --> 00:11:23.200
So, it's very powerful and it gives you more tools as a developer where if you're not getting the right answer, you know where it's coming from.

s139
00:11:23.200 --> 00:11:35.640
You can actually see and introspect the graph and you can change how you're doing extraction, you can reduce duplicate nodes in the graph, and then you can get to and converge very quickly on a great answer.

s140
00:11:35.640 --> 00:11:38.000
If you're not a graph expert, guess what?

s141
00:11:38.000 --> 00:11:39.400
Claude is.

s142
00:11:39.400 --> 00:11:41.680
Claude can write Cypher better than I can.

s143
00:11:41.680 --> 00:11:52.680
Claude can extract build entity extractors and it can do pretty much everything you need to do to get started with graphs today as long as you know the the basic kind of model for what you want to accomplish.

s144
00:11:52.680 --> 00:11:53.880
And that's what I'm going to cover in the demo.

s145
00:11:53.880 --> 00:11:58.640
So, we're going to do have Claude write each action into the graph as he works.

s146
00:11:58.640 --> 00:12:02.280
We're going to follow up by traversing, not re-reading it.

s147
00:12:02.280 --> 00:12:06.720
And then in a fresh session, we will get the results we want to get out.

s148
00:12:06.720 --> 00:12:17.360
Now, what I did for this um high-stakes demo is I over the past week or two, I took my home lab as the demo environment, did a full digital twin

s149
00:12:17.360 --> 00:12:23.040
as a graph and I have two separate environments built off the same original markdown files.

s150
00:12:23.040 --> 00:12:27.480
One is a vector database store, that's our our A test.

s151
00:12:27.480 --> 00:12:30.840
And the second is a graph store, that's our B test.

s152
00:12:30.840 --> 00:12:35.160
And the graph store is built on top of um Cogney.

s153
00:12:35.160 --> 00:12:39.200
So, I'm using Cogney, which is a startup.

s154
00:12:39.200 --> 00:12:41.560
Um they do amazing stuff in the memory space.

s155
00:12:41.560 --> 00:12:44.280
They've a Neo4j backend.

s156
00:12:44.280 --> 00:12:45.839
This is my the structure.

s157
00:12:45.839 --> 00:12:49.040
So, we have a bunch of Proxmox servers in my my home lab.

s158
00:12:49.040 --> 00:12:52.240
It's really a couple computers around my desk.

s159
00:12:52.240 --> 00:12:58.360
And I built a separate VLAN for the demo, so it's segmented off my real network.

s160
00:12:58.360 --> 00:13:02.839
So, it was trained on real network for my network, but now it's it's cut off.

s161
00:13:02.839 --> 00:13:04.600
It can only answer from memory.

s162
00:13:04.600 --> 00:13:08.880
It can't actually look up the hosts and I can't get dynamic information.

s163
00:13:08.880 --> 00:13:16.839
So, let's see how it does in a live demo.

s164
00:13:16.839 --> 00:13:17.240
Okay.

s165
00:13:17.240 --> 00:13:24.040
So, All right.

s166
00:13:24.040 --> 00:13:27.640
Here we have our our Grab Rack cockpit.

s167
00:13:27.680 --> 00:13:32.880
Um and I have five different questions queued up with schematics.

s168
00:13:32.880 --> 00:13:38.240
You can see this is the same home lab schematic that you saw earlier in the slides.

s169
00:13:38.240 --> 00:13:40.880
And um let's let's start with this one.

s170
00:13:40.880 --> 00:13:45.480
So, WRN exposed end-of-life soft when exposed end-of-life software.

s171
00:13:45.480 --> 00:13:57.200
So, we're going to basically we're going to try to find out if there's anything on my network which is exposed to the network, the the internet, the WAN that's running out-of-date software which put my home lab at risk, right?

s172
00:13:57.200 --> 00:13:59.640
So, if if somebody can attack the home lab.

s173
00:13:59.640 --> 00:14:07.880
And um you can see here that [clears throat] there there is some servers um Tinkster Lands, which is my daughter's Minecraft server.

s174
00:14:07.880 --> 00:14:10.720
It's running Oh my god, Debian 8 Jessie.

s175
00:14:10.720 --> 00:14:14.800
And let's see how the the two agents did in looking this up.

s176
00:14:14.800 --> 00:14:15.360
Okay.

s177
00:14:15.360 --> 00:14:17.680
So, we got the vector response back.

s178
00:14:17.680 --> 00:14:20.520
Couldn't find specific details.

s179
00:14:20.520 --> 00:14:23.560
Excluded by policy for more precise information.

s180
00:14:23.560 --> 00:14:24.520
Yadada yada.

s181
00:14:24.520 --> 00:14:25.400
Source is separately.

s182
00:14:25.400 --> 00:14:27.520
Okay, that's not that's not very helpful.

s183
00:14:27.520 --> 00:14:30.800
Now, on the graph side, it's done a bunch of Cypher queries.

s184
00:14:30.800 --> 00:14:33.120
Here are the Cypher queries it's fired off.

s185
00:14:33.120 --> 00:14:35.920
Um this is the graph traversal.

s186
00:14:35.920 --> 00:14:41.400
And the the color coding on the graph traversal is these blue guys.

s187
00:14:41.400 --> 00:14:42.720
These are the seed nodes.

s188
00:14:42.720 --> 00:14:46.880
So, this came from a a vector look up and a ranking, but it didn't stop there.

s189
00:14:46.880 --> 00:14:49.400
It does the one hop traversals.

s190
00:14:49.400 --> 00:14:51.640
Those are all the gray nodes.

s191
00:14:51.640 --> 00:14:58.680
Some of the nodes get highlighted in green and those are the ones which which won and got into context.

s192
00:14:58.680 --> 00:15:00.720
And you can see the answer here.

s193
00:15:00.720 --> 00:15:04.160
So, guest name Tinksterlin, exactly as expected.

s194
00:15:04.160 --> 00:15:11.200
Um OS version out of date and it's flagging So, so it gives us very precise actionable information.

s195
00:15:11.200 --> 00:15:15.760
And so that's the difference between same same exact data.

s196
00:15:15.760 --> 00:15:25.560
One is a vector store, one is a graph store, and you can see the difference where the the vector store is having a lot of trouble pulling the information out the relevant information out.

s197
00:15:25.560 --> 00:15:27.960
Okay, let's try another one just for fun.

s198
00:15:27.960 --> 00:15:33.760
Um Let's see, expose 0.0.0.0 management ports.

s199
00:15:33.760 --> 00:15:35.640
That's that's bad.

s200
00:15:35.640 --> 00:15:44.000
So, um basically you don't want your management ports on the network exposed to the, you know, the world.

s201
00:15:44.000 --> 00:15:45.880
And there's a bunch of these.

s202
00:15:45.880 --> 00:15:51.120
So, I have a a new Matrix server I set up and also HAProxy which are exposed to the internet.

s203
00:15:51.120 --> 00:15:52.320
That's bad.

s204
00:15:52.320 --> 00:15:56.640
The rest of these, like my Cogny demo, my Open Claw instance, those are inside the LAN.

s205
00:15:56.640 --> 00:15:58.800
You need to get into the LAN to access them.

s206
00:15:58.800 --> 00:16:00.840
That's That's what you want.

s207
00:16:00.840 --> 00:16:05.000
Okay, and let's see how the two agents did in identifying this.

s208
00:16:05.000 --> 00:16:14.240
So, the memory search returned some information and it's telling me check services configuration expects pfSense rule.

s209
00:16:14.240 --> 00:16:17.360
So, it told me to go do the job for it.

s210
00:16:17.360 --> 00:16:26.240
Um okay, and then on the graph memory side found an open port exposed to WAN, HAProxy and OpenVPN, which are the are the two we expected.

s211
00:16:26.240 --> 00:16:31.040
Now, this you can see the shape of this graph is entirely different from the previous one.

s212
00:16:31.040 --> 00:16:41.960
And what it did is it it actually found the node for for my router, the pfSense router, and it was able to follow that directly to all of the results which related to it

s213
00:16:41.960 --> 00:16:46.280
and then give us a like a very precise answer.

s214
00:16:49.200 --> 00:16:50.000
All right.

s215
00:16:50.000 --> 00:17:08.920
So, um So, now So, now we've seen our little boy Krab D with his certified Neo4j developer t-shirt is able to do a lot more, right?

s216
00:17:08.920 --> 00:17:14.199
Now, he's able to follow that full chain, crack, eat, do the next thing.

s217
00:17:14.199 --> 00:17:16.800
So, he's getting his he's getting his clams.

s218
00:17:16.800 --> 00:17:20.480
He's helping me fix all the security holes in my network.

s219
00:17:20.480 --> 00:17:24.600
Um oh, by the way, I I patched all those security holes after the demo.

s220
00:17:24.600 --> 00:17:26.079
Um so, this was good for me, too.

s221
00:17:26.079 --> 00:17:30.760
It found a bunch of security holes in my home lab, and then I I went and patched them later.

s222
00:17:30.760 --> 00:17:34.120
And um now we have an agent which actually can do interesting things.

s223
00:17:34.120 --> 00:17:45.240
Now, if you can imagine like I have a three or four node home lab at home, if if you have a big enterprise which has a huge data center, if you're doing things in financial

s224
00:17:45.240 --> 00:17:56.200
services where you have like a huge set of companies and customer records you're trying to do, if you're doing anything at at large scale where it doesn't fit into the 1 million context window

s225
00:17:56.200 --> 00:18:03.440
of the modern models, you really need a better memory system than just throwing things in markdown files.

s226
00:18:03.960 --> 00:18:08.880
Our little boy crab recognizes all crew, all the crustacean friends.

s227
00:18:10.160 --> 00:18:12.560
And he's read the book.

s228
00:18:12.560 --> 00:18:20.680
Um so, we just finished my my co-authors and I, Michael Hunger and Jesús Barrasa, finished Graph RAG the Definitive Guide.

s229
00:18:20.680 --> 00:18:22.960
The full book is out on on early release.

s230
00:18:22.960 --> 00:18:28.800
It'll be published um in a couple months once they finish the editorial process, but super excited about this.

s231
00:18:28.800 --> 00:18:37.640
It's got information not only on Graph RAG, but also on building memory, on different industry vertical use cases, on agents.

s232
00:18:37.640 --> 00:18:47.960
So, it's kind of the the whole umbrella if you're building on top of graph solutions, how you need to build applications, the technologies you need end to end.

s233
00:18:49.720 --> 00:19:00.240
And then finally, a great free resource which everybody in this room can take advantage of is Neo4j um's Graph Academy.

s234
00:19:00.240 --> 00:19:07.560
So, it's free online training, um dev.neo4j.com/ga-rag or the QR code below there.

s235
00:19:07.560 --> 00:19:19.240
And um we have courses on doing agent memory, doing context graphs, and everything you need to get know to get started and to do some of the amazing stuff which I showed you

s236
00:19:19.240 --> 00:19:20.080
on stage today.

s237
00:19:20.080 --> 00:19:25.258
So, thank you so much for coming to the the kickoff talk for the graph track.

s238
00:19:25.258 --> 00:19:27.258
[applause]

s239
00:19:30.200 --> 00:19:35.240
You're in the right place for all of the content from graph experts.

s240
00:19:35.240 --> 00:19:40.520
Andreas Kollegger, my colleague and I crafted a great set of speakers from industry to experts.

s241
00:19:40.520 --> 00:19:43.000
People really know about graph technology.

s242
00:19:43.000 --> 00:19:47.080
So, hang out here, find out more, and then you can see me in the Neo4j booth.

s243
00:19:47.080 --> 00:19:49.320
Thank you.

s244
00:20:03.903 --> 00:20:05.903
[music]
