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.
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 Full definition for embedding (opens in a new tab)Information represented as a numerical vector, positioned so that similar information sits close together. with an Go to glossary for large language model (opens in a new tab)A 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 Full definition for relationship (opens in a new tab)A 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 Full definition for knowledge graph (opens in a new tab)A 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.
3 modules, 1 hour.
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 Full definition for embedding (opens in a new tab)Information represented as a numerical vector, positioned so that similar information sits close together. and Full definition for vector search (opens in a new tab)Finding 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 Full definition for GraphRAG (opens in a new tab)Retrieval-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 Full definition for knowledge graph (opens in a new tab)A 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 Full definition for embedding (opens in a new tab)Information 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 Full definition for Cypher (opens in a new tab)Neo4j'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 Full definition for relationship (opens in a new tab)A 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 Go to glossary for large language model (opens in a new tab)A 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 Full definition for relationship (opens in a new tab)A 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 Go to glossary for large language model (opens in a new tab)A 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 Full definition for retriever (opens in a new tab)A 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 Full definition for vector search (opens in a new tab)Finding the records whose vectors lie closest to a query vector., Full definition for embedding (opens in a new tab)Information represented as a numerical vector, positioned so that similar information sits close together., and Full definition for GraphRAG (opens in a new tab)Retrieval-augmented generation whose context comes from a knowledge graph, so the model can follow the relationships between facts. with Neo4j.