Hi and welcome to this short course, Knowledge Graphs for RAC, I'm here with the instructor, Andreas Colliger, a developer evangelist for generative AI at Neo4j. Welcome, Andreas. Thanks, Andrew. I'm excited to be here today and can't wait to show you how to use Knowledge Graphs to improve your retrieval augmented generation applications. Knowledge Graphs are a very powerful, Knowledge Graphs provide a way to store and organize data In contrast to traditional relational databases which organize data into tables with rows and columns. Knowledge Graphs instead use a graph-based structure Each of these nodes or edges in the graph can also store additional information about the entity in the case of the node or the relationship in the case of the edge. For example, a person node could store an individual's name, email, and other details. A company node could store data like the number of employees, annual revenue, and so on. And the employer-employee relationship between the company and the person would be represented by an edge between these two nodes. And the edge could also store additional information about that employment relationship, like the person's job title, start date, and so on. The graph structure of nodes and relationships is very flexible and lets you more conveniently model some parts of the world than relational databases. That's right, Andrew. Knowledge Graphs make it much easier to represent and search deep relationships This enables much faster execution of queries, getting you to the data you need more efficiently. This is why web search engines and e-commerce sites that offer product search capability have found knowledge graphs a key technology for delivering relevant results. In fact, if you search for, say, a celebrity on Google or Bing, the results you get back in the cards to the side are retrieved using a knowledge graph. And when you combine a Knowledge Graph with an embedding model, That's because you can take advantage of the relationships and the metadata stored in the graph to improve the relevance of the text you retrieve and pass to the language model. In a basic retrieval augmented generation or RAG system, the documents you want to query or chat with might be first split into smaller sections or chunks which are then transformed into vectors using an embedding model. Once in this vector form, you can use a similarity function like cosine similarity to search through the chunks of text to find the ones relevant to your prompt. But it turns out that storing these text chunks in a knowledge draft opens up new ways to retrieve relevant data from your documents. Rather than just similarity search using text embeddings, you can retrieve one chunk, then, You see in this course how this can review connections between text sources that similarity-based RAAC can miss. In this course, you'll learn how to build a Knowledge Graph You'll start with an introduction to Knowledge Graphs Next, you'll build a knowledge graph to represent one set of SEC forms and use Langchain to carry out RAG by retrieving text from this graph. Lastly, you'll go through the graph creation process one more time for a second set of SEC forms, connect the two graphs using some linking data, and see how you can use more complex graph queries to carry out retrieval across multiple sets of documents. All this together allows you to ask some really interesting questions at the SEC dataset. Thanks, Andreas. This sounds like a really exciting and timely course. Many people have helped with the development of this course. On the Neo4j side, Zachary Blumenfeld and from dblend.ai, Tommy Nelson and Jeff Lardwig all contributed to this course. It's really an exciting time to learn Knowledge Graphs. This course covers a lot, but you'll walk through everything step-by-step so that you'll understand in detail how to build knowledge graph systems yourself. After finishing this course, I hope you'll be able to use Knowledge Graphs to help your systems better understand