|
1 | | -# Neo4j GenAI Workshop |
| 1 | +# GraphRAG Workshops |
2 | 2 |
|
3 | | -Please see [`genai-workshop.ipynb`](genai-workshop.ipynb) which serves as the self-contained workshop. |
| 3 | +This repository contains two GraphRAG workshops: **Customers and Products** and **Talent**. Each workshop provides notebooks, data, and resources for hands-on exercises. |
4 | 4 |
|
5 | | -The other companion notebooks contain code for staging data, building the Neo4j Graph, and providing easy access to demos: |
6 | | -1. [`data-prep.ipynb`](data-prep.ipynb) stages the workshop data, sampling and formatting data sourced from the [H&M Personalized Fashion Recommendations Dataset](https://www.kaggle.com/competitions/h-and-m-personalized-fashion-recommendations/data). |
7 | | -2. [`data-load.ipynb`](data-load.ipynb) loads the staged data into Neo4j, performs text embedding, and creates a vector index. |
8 | | -3. [`genai-workshop-w-outputs.ipynb`](genai-workshop-w-outputs.ipynb) is a reference notebook for following along and checking outputs. It is simply `genai-workshop.ipynb`with cell outputs intact. |
9 | | -4. [`genai-example-app-only.ipynb`](genai-example-app-only.ipynb) is a copy of `genai-workshop.ipynb` that contains only the final section: the demo LLM GraphRAG app for content generation. It assumes you have already run [`genai-workshop.ipynb`](genai-workshop.ipynb) and exists only for instructor demo purposes. |
| 5 | +## Workshops |
10 | 6 |
|
11 | 7 |
|
12 | | -## Changelog |
| 8 | +1. **[Talent](talent)** |
| 9 | +Combine both structured and unstructured data about employees and their technical skills into a knowledge graph. Perform graph pattern matching, vector search, and graph analytics to find similar skill sets and cohorts/clusters. Use the knowledge graph to power a GraphRAG talent agent that can search and respond to inquiries about people, their skills, and their similarities. |
13 | 10 |
|
14 | | -### v4 (Sep 2nd, 2024 - Present) |
15 | 11 |
|
16 | | ------------- |
17 | | -- Transition from using Neo4j Sandbox to AuraDS |
| 12 | +2. **[Customers & Products](customers-and-products)** |
| 13 | +Uses real-world customer and product data from a fashion, style, and beauty retailer. Learn how to use a knowledge graph to ground an LLM with GraphRAG, enabling AI to build tailored marketing content personalized to each customer based on their interests and shared purchase histories. Learn about retrieval strategies leveraging vector search, graph pattern matching, and graph machine learning. |
18 | 14 |
|
19 | 15 |
|
20 | | -- Split out data loading |
21 | | - - Split out data load into a separate notebook |
22 | | - - Live workshops now begin with the dataset pre-loaded to cut down on time and spend more of the course walking through GraphRAG. the data-load.ipynb is kept for reference and replication. |
23 | | - - Remove `neo4j_tools` Python package. the functions/utilities are now included in data-load.ipynb |
24 | 16 |
|
25 | | - |
26 | | -- Updated Workshop Slides |
27 | | - |
28 | | - |
29 | | -- Added more query exploration & improved explainer queries |
30 | | - - Add Browser-based graph exploration in beginning of workshop |
31 | | - - Include database tips & more Cypher queries in multiple steps |
32 | | - - Update explainer markdown and code cells for graph patterns and GDS for clarity |
33 | | - - Various other minor adjustments to markdown and code to improve course quality |
34 | | - |
35 | | - |
36 | | -- Added `genai-workshop-w-outputs.ipynb` and GitHub Actions Workflow |
37 | | - - `genai-workshp.ipynb` is now maintained with cleared outputs for better workshop experience and easier PR review |
38 | | - - A GitHub actions workflow automatically tests data loading, workshop, and example-only notebooks and auto-commits `genai-workshop-w-outputs.ipynb` file for each PR. |
39 | | - |
40 | | -### [v3 (June 25th, 2024 - Sep 1st, 2024)](https://github.com/neo4j-product-examples/genai-workshop/releases/tag/v3.0) |
41 | | - |
42 | | ------------- |
43 | | -- improve LLM response quality and cleaned up code for LLM chains and vector stores |
44 | | - - parameterizing customer id so don't need to recreate chains & stores for each customer |
45 | | - - updated prompts to better account for seasonality and use all retrieved data |
46 | | - - update to use gpt-4o |
47 | | - |
48 | | - |
49 | | -- Improve text embedding speed and reduce code by transitioning to native `genai.vector` Cypher functions |
50 | | - |
51 | | - |
52 | | -- Updated slides |
53 | | - |
54 | | - |
55 | | -- Various other minor adjustments to markdown and code to improve course quality |
56 | | - |
57 | | -### [v2 (Feb 20th, 2024 - June 24th, 2024)](https://github.com/neo4j-product-examples/genai-workshop/releases/tag/v2.0) |
58 | | - |
59 | | ------------- |
60 | | - |
61 | | -- (fix) Add `langchain_community` to the libraries that are pip installed in the notebooks |
62 | | - |
63 | | - |
64 | | -- Simplify and Shorten Course |
65 | | - - Shortened GDS section to just three cells to run |
66 | | - - Condensed Vector Search Section |
67 | | - - Condensed Loading to Single Notebook Cell |
68 | | - - Switched Recommendation Retriever to a Simple KG Query |
69 | | - - Adding `neo4j_tools` Package to hold convenience functions for loading data and reduce code footprint in main workshop notebook |
70 | | - - Updated to GPT-4 throughout |
71 | | - - General Notebook Cleaning - Removed duplicate load statements, updating to newest llm packages, etc. |
72 | | - |
73 | | - |
74 | | -- Provide Better Explainers & Examples |
75 | | - - Add A Chain for Printing Final Prompt to LLM with retrieval data to better explain process. |
76 | | - - Added Differentiated Names for Customer Examples in Demo App. |
77 | | - |
78 | | - |
79 | | -- Added Additional Resources |
80 | | - - Added workshop slides |
81 | | - - Added "demo only" notebook |
82 | | - |
83 | | - |
84 | | -### [v1 (Nov 13th, 2023 - Feb 19th, 2024)](https://github.com/neo4j-product-examples/genai-workshop/releases/tag/v1.0) |
85 | | - |
86 | | ------------- |
87 | | - |
88 | | -- Initial 5-part course with |
89 | | - - Building the knowledge graph |
90 | | - - Vector search & text embedding |
91 | | - - Graph patterns to improve semantic search |
92 | | - - knowledge graph inference & ML |
93 | | - - Building the LLM chain and demo app for generating content |
94 | | - |
95 | | - |
96 | | -## Contributing |
97 | | -Contributions are welcome! To contribute please: |
98 | | -1. Make a PR with a descriptive name |
99 | | -2. If you are updating [`genai-workshop.ipynb`](genai-workshop.ipynb) please ensure to clear all outputs before committing. |
100 | | -3. Do not alter the [`genai-workshop-w-outputs.ipynb`](genai-workshop-w-outputs.ipynb) file. This file is autogenerated upon creating/updating PRs. |
0 commit comments