Course · Part of Generative AI & GraphRAG

Introduction to Vector Indexes and Unstructured Data

Learn semantic search with Neo4j vector indexes. Create embeddings with LLMs, chunk unstructured data with LangChain, and build a knowledge graph.

1 hour18 lessons across 3 modules
About this course

In this 1-hour course, you will learn

Introduction to Vector Indexes and Unstructured Data teaches you how semantic search works and how to apply it in Neo4j. You will create embeddingsInformation represented as a numerical vector, positioned so that similar information sits close together. with an LLMA model trained on text to predict the next token, and so to generate language., build vector indexes, and process unstructured text with Python and LangChain into a graph you can search by meaning.

Keyword search finds documents that share words with your query; semantic search finds documents that share meaning. Embeddings make this possible by representing text as vectors, and Neo4j's vector indexes let you search those vectors at speed — then use relationshipsA named, directed connection between two nodes. Every relationship has a type, a start node and an end node. to connect the results to everything else you know. This course takes you from the underlying concepts to a working knowledge graphA representation of real-world entities and their relationships, stored according to organizing principles, typically in a graph database. built from real unstructured data.

  • Semantic Search, Unstructured Data, and Vector Indexes

    Understand how vector indexes enable semantic search in Neo4j, and learn to store and query unstructured data using similarity-based retrieval techniques.

  • How to Create Embeddings Using LLMs and LangChain

    Use LangChain and large language models to generate vector embeddings from raw text, then store those embeddings as properties on Neo4j nodes.

  • Build a Graph Database of Unstructured Data

    Chunk raw documents, embed each chunk, and load the resulting vectors into a Neo4j knowledge graph ready for semantic search and Retrieval-Augmented Generation.

  • Who this course is for

    This course is for developers and data engineers who need to make unstructured data searchable and useful. If you have a collection of documents, transcripts, or text content and want to move beyond keyword matching — or you keep hearing about embeddingsInformation represented as a numerical vector, positioned so that similar information sits close together. and vector searchFinding the records whose vectors lie closest to a query vector. and want to understand them properly by building something — this course is for you. It sits between the fundamentals courses and the more advanced GraphRAGRetrieval-augmented generation whose context comes from a knowledge graph, so the model can follow the relationships between facts. material: you will learn what vectors and embeddings actually are, not just call an API, and you will finish by constructing a graph from raw text files yourself. You should have completed Neo4j Fundamentals and Cypher Fundamentals, be able to read and run simple Python programs, and have an OpenAI API key with billing enabled for the practical tasks.

  • What you'll build and do

    You start with a blank Neo4j instance and finish with a knowledge graphA representation of real-world entities and their relationships, stored according to organizing principles, typically in a graph database. of course content, built entirely by pipelines you ran yourself.

    You will explore semantic search hands-on, including finding movie plots by meaning and searching images, to build intuition for what embeddingsInformation represented as a numerical vector, positioned so that similar information sits close together. capture. You will load pre-computed embeddings into Neo4j, create vector indexes with CypherNeo4j's implementation of GQL, the ISO standard query language for graph databases. It is declarative: you describe the pattern to find, and the database decides how to find it., and query them to find similar items. In the final module you will run a complete ingestion pipeline: chunking text files with LangChain, generating embeddings for each chunk with OpenAI, importing chunks into Neo4j with Python, and creating relationshipsA named, directed connection between two nodes. Every relationship has a type, a start node and an end node. between them. You will then use an LLMA model trained on text to predict the next token, and so to generate language. to extract topics from the chunks and expand the graph, turning a pile of text files into connected, queryable knowledge.

  • Where to go next

    This course extracts topics from text; the natural next step is extracting full entities and relationshipsA named, directed connection between two nodes. Every relationship has a type, a start node and an end node.. Building Knowledge Graphs with LLMs covers the theory of using LLMsA model trained on text to predict the next token, and so to generate language. to build knowledge graphs, and Constructing Knowledge Graphs with Neo4j GraphRAG for Python gives you a production-oriented pipeline for doing it at scale. If you want to put your vector indexes to work in an LLM application, Using Neo4j with LangChain shows you how to build retrieversA component that searches a data source and returns the information relevant to a query. Often used to provide context for a language model. over them. The skills from this course also feature in the Neo4j & Generative AI Certification, which covers vector searchFinding the records whose vectors lie closest to a query vector., embeddingsInformation represented as a numerical vector, positioned so that similar information sits close together., and GraphRAGRetrieval-augmented generation whose context comes from a knowledge graph, so the model can follow the relationships between facts. with Neo4j.