From e4bbeab75d250b0f891c63a6f1fc61b1313d43df Mon Sep 17 00:00:00 2001 From: Roshan Suresh Kumar Date: Thu, 20 Nov 2025 17:12:58 -0500 Subject: [PATCH 1/7] Created semantic RAG markdown --- .../resources/semantic_rag.png | Bin 0 -> 379512 bytes lessons/06_AI_augmentation/semantic_rag.md | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 lessons/06_AI_augmentation/resources/semantic_rag.png create mode 100644 lessons/06_AI_augmentation/semantic_rag.md diff --git a/lessons/06_AI_augmentation/resources/semantic_rag.png b/lessons/06_AI_augmentation/resources/semantic_rag.png new file mode 100644 index 0000000000000000000000000000000000000000..113bd0a1907dc74f2ea41c5c2954db8e698c33c5 GIT binary patch literal 379512 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

Y_^@zY0@ob%y)n?0ACmO8+8f0N0 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

gQJ6LF}pr)hK2OIqy_}vKA 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 Date: Thu, 4 Dec 2025 16:28:22 -0500 Subject: [PATCH 2/7] Initial skeleton commit --- lessons/06_AI_augmentation/semantic_rag.md | 134 ++++++++++++++++++++- 1 file changed, 132 insertions(+), 2 deletions(-) diff --git a/lessons/06_AI_augmentation/semantic_rag.md b/lessons/06_AI_augmentation/semantic_rag.md index 1075e99..6d9b667 100644 --- a/lessons/06_AI_augmentation/semantic_rag.md +++ b/lessons/06_AI_augmentation/semantic_rag.md @@ -1,7 +1,137 @@ # Semantic RAG -In the previous lesson we looked at a very basic implementation of RAG that used a keyword matching approach between the user query and the data in the external database. +In the previous lesson we looked at a very basic implementation of RAG that used a keyword matching approach between the user query and the data in the external database. Now we'll go over a more complex but efficient RAG implementation, one that is closer to industry-standard RAG frameworks. Remember that even if this implementation looks more complex, the same steps as the keyword-based RAG will be followed. + +The basic semantic search based RAG framework is illustrated in the figure below. +![Naive Semantic RAG](resources/semantic_rag.png) + +Immediately you will note some key differences between keyword RAG and semantic RAG. + +Here are some additional resources: [Youtube video](https://www.youtube.com/watch?v=HREbdmOSQ18), [Non-brand Data article](https://www.nb-data.com/p/simple-rag-implementation-with-contextual) ## Example Implementation -## Evaluating chatbots - deepeval \ No newline at end of file +### Load and clean PDF text + +```python +def read_pdf_text(path: Path) -> str: + reader = PdfReader(str(path)) + parts = [] + for p in reader.pages: + t = p.extract_text() or "" + t = re.sub(r"[“”]", '"', t) + t = re.sub(r"[’]", "'", t) + t = re.sub(r"[–—]", "-", t) + t = re.sub(r"\s+", " ", t).strip() + parts.append(t) + return "\n".join(parts) + +def load_corpus(pdf_dir: Path): + corpus = [] + for pdf in sorted(pdf_dir.glob("*.pdf")): + text = read_pdf_text(pdf) + corpus.append({"doc_id": pdf.name, "text": text}) + return corpus + +corpus = load_corpus(DATA_DIR) +print(f"Loaded {len(corpus)} docs:", [c["doc_id"] for c in corpus]) +``` + +### Chunking document text + +```python +def simple_chunks(text: str, chunk_size=900, overlap=150): + chunks = [] + i = 0 + L = len(text) + while i < L: + chunk = text[i:i+chunk_size] + end = chunk.rfind(". ") + if end > int(chunk_size * 0.6): + chunk = chunk[:end+1] + chunk = chunk.strip() + if chunk: + chunks.append(chunk) + i += max(1, len(chunk) - overlap) + return chunks + +docs = [] +for d in corpus: + for i, ch in enumerate(simple_chunks(d["text"])): + docs.append({"doc_id": d["doc_id"], "chunk_id": i, "text": ch}) +print("Total chunks:", len(docs)) +``` + +### From text to embeddings + +```python +def embed_texts(texts, model="text-embedding-3-small", batch_size=128): + vecs = [] + for i in range(0, len(texts), batch_size): + batch = texts[i:i+batch_size] + resp = client.embeddings.create(model=model, input=batch) + vecs.extend([np.array(e.embedding, dtype="float32") for e in resp.data]) + return np.vstack(vecs) + +chunk_texts = [d["text"] for d in docs] +emb = embed_texts(chunk_texts) +dim = emb.shape[1] +emb[:2].shape, dim +``` + +### FAISS and determining similarity + + +```python +faiss.normalize_L2(emb) +index = faiss.IndexFlatIP(dim) +index.add(emb) +id2meta = {i: docs[i] for i in range(len(docs))} +print("FAISS index ready. Vectors:", index.ntotal) +``` + + +### Semantic Retrieval + +```python +def retrieve(query, k=3, model="text-embedding-3-small"): + q_emb = embed_texts([query], model=model) + faiss.normalize_L2(q_emb) + D, I = index.search(q_emb, k) + hits = [] + for score, idx in zip(D[0], I[0]): + meta = id2meta[int(idx)] + hits.append({"score": float(score), **meta}) + return hits + +for h in retrieve("What is BrightLeaf Solar's mission?", k=3): + print(round(h["score"], 3), h["doc_id"], f"chunk {h['chunk_id']}") +``` + + +### Augment and Generate + +```python +def ask_llm(query, contexts, model="gpt-4o-mini", temperature=0.2, max_chars=3500): + ctx = "\n\n---\n\n".join(c["text"] for c in contexts) + ctx = ctx[:max_chars] + prompt = ( + "Use ONLY the provided context to answer the question.\n" + "If the answer is not in the context, say you do not know.\n\n" + f"Context:\n{ctx}\n\nQuestion: {query}\nAnswer:" + ) + resp = client.chat.completions.create( + model=model, + messages=[{"role": "user", "content": prompt}], + temperature=temperature, + ) + return resp.choices[0].message.content.strip() + +q = "When did BrightLeaf partner with SunSpan and what did they focus on?" +ctx = retrieve(q, k=3) +print("Context docs:", [c["doc_id"] for c in ctx]) +print() +print(ask_llm(q, ctx)) +``` + +### Beyond Semantic Search - Other RAG frameworks \ No newline at end of file From 113cfd5ff752bac2d6c486e7e35232f97701b0bd Mon Sep 17 00:00:00 2001 From: Roshan Suresh Kumar Date: Fri, 5 Dec 2025 16:16:33 -0500 Subject: [PATCH 3/7] More additions --- .../openai_embeddings_similarity.png | Bin 0 -> 13901 bytes lessons/06_AI_augmentation/semantic_rag.md | 113 ++++++++++++++++-- 2 files changed, 100 insertions(+), 13 deletions(-) create mode 100644 lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png diff --git a/lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png b/lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png new file mode 100644 index 0000000000000000000000000000000000000000..e7cddac64e2a6b7d7525282ed600624215678776 GIT binary patch literal 13901 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 i0z&^90{=R5OjcU!c4Ne +0.828 mission_statement.pdf chunk 0 text: Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption.

    +0.734 mission_statement.pdf chunk 5 text: ransparent financing, and community ownership. We aim to ensure that the economic benefits of solar generation remain within the communities we serve. By 2030, BrightLeaf's goal is to help 100,000 households transition to renewable energy-not through isolated projects, but through a national network of resilient, community-led power systems.

    +0.703 employee_benefits.pdf chunk 68 text: ation, BrightLeaf ensures its workforce evolves alongside the renewable energy sector. + + ### Augment and Generate ```python -def ask_llm(query, contexts, model="gpt-4o-mini", temperature=0.2, max_chars=3500): +def ask_llm(query, contexts, use_rag, model="gpt-4o-mini", temperature=0.2, max_chars=3500): ctx = "\n\n---\n\n".join(c["text"] for c in contexts) ctx = ctx[:max_chars] - prompt = ( - "Use ONLY the provided context to answer the question.\n" - "If the answer is not in the context, say you do not know.\n\n" - f"Context:\n{ctx}\n\nQuestion: {query}\nAnswer:" - ) + if use_rag: + prompt = ( + "Use ONLY the provided context to answer the question.\n" + "If the answer is not in the context, say you do not know.\n\n" + f"Context:\n{ctx}\n\nQuestion: {query}\nAnswer:" + ) + else: + prompt = query resp = client.chat.completions.create( model=model, messages=[{"role": "user", "content": prompt}], @@ -127,11 +175,50 @@ def ask_llm(query, contexts, model="gpt-4o-mini", temperature=0.2, max_chars=350 ) return resp.choices[0].message.content.strip() +``` + +### Example - Semantic RAG in action + +```python q = "When did BrightLeaf partner with SunSpan and what did they focus on?" ctx = retrieve(q, k=3) -print("Context docs:", [c["doc_id"] for c in ctx]) -print() -print(ask_llm(q, ctx)) +for c in ctx: + print("Context score:", c["score"]) + print("Context doc:", c["doc_id"]) + print("Context chunk:", c["chunk_id"]) + print("Context text:", c["text"]) + print() +print(ask_llm(q, ctx, use_rag=False)) ``` +Question: "When did BrightLeaf partner with SunSpan and what did they focus on" + +Retrieved Contexts: + +Context score: 0.7309314012527466 +Context doc: partnerships.pdf +Context chunk: 1 +Context text: . This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects. + +Context score: 0.713233470916748 +Context doc: partnerships.pdf +Context chunk: 0 +Context text: EcoVolt Energy (2022 Partnership) BrightLeaf's collaboration with EcoVolt Energy, established in 2022, focused on delivering microgrid solutions to rural communities in Georgia and South Carolina. The initiative combined BrightLeaf's solar generation systems with EcoVolt's battery storage expertise. Together, they launched five pilot sites that reduced community energy costs by an average of 25 percent. The partnership also created 40 permanent local jobs and helped utilities in the region study the integration of renewable storage into traditional grids. SunSpan Microgrids (2025 Partnership) In 2025, BrightLeaf joined forces with SunSpan Microgrids to develop hybrid renewable infrastructure for the Midwest. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. + +Context score: 0.6759465336799622 +Context doc: mission_statement.pdf +Context chunk: 0 +Context text: Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption. + + +Without RAG: + +BrightLeaf partnered with SunSpan in January 2022. The partnership focused on enhancing the development of solar energy projects, specifically by leveraging BrightLeaf's data extraction and processing capabilities to streamline project development and improve efficiency in the solar energy sector. + + +With RAG: + +BrightLeaf partnered with SunSpan in 2025, focusing on developing hybrid renewable infrastructure for the Midwest, specifically targeting legacy industrial zones in Ohio and Michigan by pairing solar and wind power systems with SunSpan's real-time grid analytics. + + ### Beyond Semantic Search - Other RAG frameworks \ No newline at end of file From 6173aed30cbb637a94fe798c734533b08578637b Mon Sep 17 00:00:00 2001 From: Roshan Suresh Kumar Date: Sat, 6 Dec 2025 00:00:28 -0500 Subject: [PATCH 4/7] Completed semantic RAG lesson --- lessons/06_AI_augmentation/semantic_rag.md | 119 +++++++++++++++++---- 1 file changed, 98 insertions(+), 21 deletions(-) diff --git a/lessons/06_AI_augmentation/semantic_rag.md b/lessons/06_AI_augmentation/semantic_rag.md index f362590..c08adf0 100644 --- a/lessons/06_AI_augmentation/semantic_rag.md +++ b/lessons/06_AI_augmentation/semantic_rag.md @@ -14,14 +14,18 @@ Although it is important to note that the same basic steps from Keyword RAG (and - Augment: Takes place within Gemini LLM - Generate: Generate Answer -Lets look deeper into the implementation below. +Lets look deeper into the implementation below. In order to focus on the details of the approach, this implementation only looks at how a query is answered instead of looking at a Q&A loop. -Here are some additional resources: [Youtube video](https://www.youtube.com/watch?v=HREbdmOSQ18), [Non-brand Data article](https://www.nb-data.com/p/simple-rag-implementation-with-contextual) +In case you are interested, here are some additional resources: [Youtube video](https://www.youtube.com/watch?v=HREbdmOSQ18), [Non-brand Data article](https://www.nb-data.com/p/simple-rag-implementation-with-contextual) -## Example Implementation +## Implementation + +As before, we are using the example of the fictitious Brightleaf Solar company. Make sure the script has access to the directory with the files (`brightleaf_pdfs`). ### Setting up +Note that as before we store and retrieve the OpenAI API Key in the `.env` file. Then, we create the OpenAI API client object as we ave done before. + ```python # Load .env (expects OPENAI_API_KEY) if load_dotenv(): @@ -30,13 +34,14 @@ else: print("no api key loaded check out .env") client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) - -DATA_DIR = Path("brightleaf_pdfs") # <- your BrightLeaf PDF folder -assert DATA_DIR.exists(), f"{DATA_DIR} not found. Put PDFs there." ``` +Next, we load the files to create a corpus that will serve as our database. + ### Load and clean PDF text +The code snippet below loads the files from the directory and cleans the text before storing it in a dictionary. + ```python def read_pdf_text(path: Path) -> str: reader = PdfReader(str(path)) @@ -57,15 +62,29 @@ def load_corpus(pdf_dir: Path): corpus.append({"doc_id": pdf.name, "text": text}) return corpus +DATA_DIR = Path("brightleaf_pdfs") # <- your BrightLeaf PDF folder +assert DATA_DIR.exists(), f"{DATA_DIR} not found. Put PDFs there." + corpus = load_corpus(DATA_DIR) print(f"Loaded {len(corpus)} docs:", [c["doc_id"] for c in corpus]) ``` +This script is very similar to the one in the previous lesson. A new addition is the `assert` method used to make sure that the directory exists and the text from the files can be extracted and cleaned. Like before, PDFReader is used to extract the text from the pdf files. The cleaning process involves the use of the regular expression operator `re.sub()`. Its syntax is given below: +```python +re.sub(pattern, repl, string) +``` +Basically, it replaces all occurences of `pattern` in `string` with `repl`. + +As there are 6 documents in the directory, the output of the code snippet will look like the one below. + ``` Loaded 6 docs: ['earnings_report.pdf', 'employee_benefits.pdf', 'mission_statement.pdf', 'partnerships.pdf', 'product_specs.pdf', 'security_policy.pdf'] ``` +Now that we have extracted the text from all documents, we start the process of chunking the documents into bite-sized portions for more efficient context retrieval. -### Chunking document text +### Breaking down document text - "Chunking" + +Chunking is the process of breaking down text into smaller portions (or "chunks"), usually for the purpose of efficient search and retrieval. Chunking is commonly used in all modern RAG implementations. [Here](https://medium.com/@jagadeesan.ganesh/understanding-chunking-algorithms-and-overlapping-techniques-in-natural-language-processing-df7b2c7183b2) is a great medium article talking about the main purpose and different ways of chunking for more context. Chunking is useful in cases of large documents in a corpus and addresses the shortcoming of the keyword RAG approach in the previous lesson wherein the entire document was retrieved as context for a query. This also helps with reducing token usage. The function below is an implementation of the sliding window chunking approach. ```python def simple_chunks(text: str, chunk_size=900, overlap=150): @@ -89,11 +108,20 @@ for d in corpus: docs.append({"doc_id": d["doc_id"], "chunk_id": i, "text": ch}) print("Total chunks:", len(docs)) ``` +The function creates chunks of a specifiable size (here the default value is 900 characters) with some overlap between subsequent chunks (default value is 150 characters). The chunks are created by "sliding" a window of size `chunk_size` over the text in a document. The reason for some overlap between chunks is to preserve context within chunks (i.e. to reduce cases where the full context for a query is split between two chunks). In the below function, we additionally limit the size of chunks by stopping at periods (".") if they appear later than 60% of the chunk size (i.e. closer to the end of the chunk). Note that each document is "chunked" individually. Usually, `chunk_size` and `overlap` are hyperparameters that you can tune to improve the quality of responses of the RAG framework. Based on the values chosen, a total of 930 chunks are obtained across all documents, thus the output of the code is as below. + ``` Total chunks: 930 ``` + +Now that we have chunked our documents, we will get into the key ideas behind semantic RAG - starting with embeddings. + ### From text to embeddings +A key feature in modern RAG implementations is the use of embeddings to represent text. An embedding is essentially a list of numbers that uniquely represents a piece of text, audio, image or any other form of data. The reason we use embeddings instead of text in LLMs and RAG is that we can perform efficient search operations that account for nuances in context that would be very difficult or even impossible in the text space. [Here](https://www.ibm.com/think/topics/embedding) is a great IBM article talking about embeddings in general and their uses. + +There are many embedding models out there that map text to vectors. The one used in this example is OpenAI's "text-embedding-3-small." You can learn more about it in the documentation [here](https://platform.openai.com/docs/models/text-embedding-3-small). The model has been trained on the corpus of text in the internet. The function below converts the text in the chunks into embedding vectors. + ```python def embed_texts(texts, model="text-embedding-3-small", batch_size=128): vecs = [] @@ -106,33 +134,51 @@ def embed_texts(texts, model="text-embedding-3-small", batch_size=128): chunk_texts = [d["text"] for d in docs] emb = embed_texts(chunk_texts) dim = emb.shape[1] -emb.shape +print(emb.shape) ``` +The function collects the chunks into batches (of default size 128) and queries the embedding model to get the corresponding embedding vectors for each chunk. It must be noted that changing the batch size does not change the corresponding embedding for a given chunk. A higher batch size allows for more efficient conversion into embeddings, upto a certain limit. Refer to the documentation to know more. Every piece of text (irrespective of number of characters) is converted to a vector of float values of size 1536 by the model. Since there are 930 chunks, the output of the code will be as shown below. ``` (930, 1536) ``` -![Embeddings Semantic Similarity](resources/openai_embeddings_similarity.png) +So so far, we have extracted the text from the documents into a corpus, broken the text down into chunks, and mapped the chunk text onto the embeddings space. The next step is to do semantic search in this embeddings space for context retrieval in response to a query. ### FAISS and determining similarity +As mentioned earlier, moving from text to embedding space allows for a more efficient search to find semantically similar to a given text. [FAISS](https://faiss.ai/index.html) (Facebook AI Similarity Search) is a library developed by Facebook AI Research to enable similarity search across different embeddings spaces. Its primarily written in C++, but has Python wrappers allowing it to be used in Python projects but with faster compilation. Recall that embeddings can represent anything from text to audio, images or video. FAISS can be used to search across any of these embeddings spaces. + +To demonstrate how te embeddings space can be used for semantic similarity search, observe the plot below. This plot represents the embedding values for different words, reduced to two dimensions using Principal Component Analysis (PCA, which you should be familiar with from your ML lessons). + +![Embeddings Semantic Similarity](resources/openai_embeddings_similarity.png) + +Here, the actual numbers are not as important as the relative positions of the words. You will see that semantically similar words like "uncle" and "aunt", "cat" and "dog" are close together in the reduced embeddings space. Also, words like "policy", "goals" and "mission" are close together with "company" being nearby. It is important to note that this semantic proximity happens not just for words, but also for multiple sentences. This proximity is what allows the use of similarity metrics to retrieve the appropriate context for a given query. + +There are many metrics you can use to ascertain semantic similarity between two embeddings. For more information on the different search metrics in FAISS, have a look at [this](https://medium.com/walmartglobaltech/transforming-text-classification-with-semantic-search-techniques-faiss-c413f133d0e2) medium article. In this implementation, we use cosine similarity. + +Cosine similarity $c$ between two vectors $A$ and $B$ is calculated as follows: +$$c(A,B) = \frac{A.B}{||A||.||B||}$$ +$A.B$ is the inner (dot) product between $A$ and $B$ and $||A||$ and $||B||$ are the magnitudes of the two vectors. For our case, $A$ and $B$ are two embeddings representing two pieces of text. The cosine similarity score varies from -1 to 1, with 1 implying high degree of similarity. So from the previous example, "uncle" and "aunt" will have a higher cosine similarity score than "uncle" and "company." [This](https://www.ibm.com/think/topics/cosine-similarity) IBM article discusses cosine similarity and compares it with other metrics. + +Now that we've gone over how cosine similarity between text embeddings is calculated, lets look at how cosine similarity in FAISS is used for context retrieval given a query. + +### Semantic Retrieval + +The code snippet below goes over the process of creating an index (a database of embeddings) in FAISS that will use cosine similarity to search and retrieve the relevent context for a query. ```python faiss.normalize_L2(emb) index = faiss.IndexFlatIP(dim) index.add(emb) -id2meta = {i: docs[i] for i in range(len(docs))} print("FAISS index ready. Vectors:", index.ntotal) ``` - +Firstly, all embeddings are normalized to have a magnitude of 1 (using `normalize_L2`). This is done so that similarity only depends on the relative positions of the text and not absolute positions. Next, the index that uses cosine similarity is created using `IndexFlatIP` (IP stands for Inner Product). Since all embeddings are normalized, the inner product between two embeddings is equal to the cosine similarity score. Then, the embeddings for the text chunks from our documents is added to this index. Since there are 930 chunks, the output of the print statement is as below. ``` FAISS index ready. Vectors: 930 ``` - -### Semantic Retrieval - +Now that we have the database index of our embeddings, the function below searches this index using the cosine similarity to retrieve the most relevant chunks to the given query. ```python +id2meta = {i: docs[i] for i in range(len(docs))} def retrieve(query, k=3, model="text-embedding-3-small"): q_emb = embed_texts([query], model=model) faiss.normalize_L2(q_emb) @@ -146,6 +192,9 @@ def retrieve(query, k=3, model="text-embedding-3-small"): for h in retrieve("What is BrightLeaf Solar's mission?", k=3): print(round(h["score"], 3), h["doc_id"], f"chunk {h['chunk_id']}", f"text: {h['text']}") ``` +First, the given query is converted into an embedding using the OpenAI embedding model used on the document chunks. The resulting embedding is normalized and then input to the FAISS index's search function. The search function essentially computes the cosine similarity between the query embedding and the chunk embeddings in the index and returns the similarity scores `D` and indices `I` of the `k` highest scoring chunks. Here `k` is set to a default of 3 but is generally a hyperparameter to tune. The 3 highest scoring chunks are appended into the `hits` list and will be used as retireved context to be augmented with the query to generate the response. + +As an example, we look at the retrieved chunks for the query "What is Brightleaf Solar's mission?" and their corresponding similarity scores. The output of the print calls is shown below. 0.828 mission_statement.pdf chunk 0 text: Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption.

    @@ -153,9 +202,14 @@ for h in retrieve("What is BrightLeaf Solar's mission?", k=3): 0.703 employee_benefits.pdf chunk 68 text: ation, BrightLeaf ensures its workforce evolves alongside the renewable energy sector.
    +The first thing to note is that each of the chunks is of different size. This is because the chunks stop at periods if they occur at more than 60% of the way to full size. The second and third chunks start randomly from partially completed words. This is a byproduct of the chunking process and further modifications can be made to improve the understandability of each chunk. The third chunk is at the end of the employee_benefits.pdf file. Hence its small size. Although it is not really related to the query, it is still chosen because of its high similarity with the query and the fact that we ask for the top 3 chunks. The important observation here is that the first two chunks pertain **exactly** to the query, demonstrating the power of using semantic similarity based search in the embeddings space. Also note that in comparison to the keyword RAG from the previous lesson where the entire mission_statement.pdf text would be used as retrieved context for this query, basic semantic RAG would only use these chunks as retrieved context. This would result in fewer used tokens to query the LLM while getting a good response to the query. + +Once we retrieve the relevant context, all that is left to do is to augment the context with the query and input the modified prompt to the LLM. ### Augment and Generate +All of the previous steps described are part of the "Retrive" step in the RAG process. The function that "Augments" the retrieved context with the user query and "Generates" the response is shown below. + ```python def ask_llm(query, contexts, use_rag, model="gpt-4o-mini", temperature=0.2, max_chars=3500): ctx = "\n\n---\n\n".join(c["text"] for c in contexts) @@ -174,10 +228,15 @@ def ask_llm(query, contexts, use_rag, model="gpt-4o-mini", temperature=0.2, max_ temperature=temperature, ) return resp.choices[0].message.content.strip() - ``` +This `ask_llm` function is similar to the corresponding function in the Keyword RAG implementation from the previous lesson, but there are some modifications. The retrieved chunks are combined into a single string with a maximum characters limitation. This is included to reduce token usage when querying the LLM. The modified prompt is also different from the Keyword RAG lesson. Now the instructions clearly state that the LLM must use only the provided context and say it does not know if the context is not pertinent to the query. This reduces the chances of hallucinations by the LLM. The additional `temperature` parameter is also provided to the model's completions method to allow for variability in the responses. As before, the `use_rag` flag is provided to toggle between test cases with and without RAG's context. + +Although this implementation incorporates some complex concepts like chunking, embeddings, and sementic similarity, it is still rather naive and basic. The mechanism to chunk documents is simplistic. It doesn't leverage additional contextual similarity that comes from the domain of application (the fact that the LLM must answer questions purely about the company). The model used is more generalized and some words that are similar in the corporate world may not be close in the embeddings space as captured by the OpenAI embeddings model. There have been more advanced embedding representations of text, more nuanced approaches that leverage the domain of application, and more efficient ways of searching across the embeddings developed over the years. Nonetheless, it is still powerful. To demonstrate the power of this semantic RAG framework, lets see it in action through an example. + ### Example - Semantic RAG in action +The code snippet below is used to test this naive semantic RAG implementation. +The test query is "When did BrightLeaf partner with SunSpan and what did they focus on?" ```python q = "When did BrightLeaf partner with SunSpan and what did they focus on?" @@ -190,14 +249,13 @@ for c in ctx: print() print(ask_llm(q, ctx, use_rag=False)) ``` -Question: "When did BrightLeaf partner with SunSpan and what did they focus on" +The `retrieve` method is run to retrieve the top 3 chunks relevant to the query. The three chunks, along with the document and chunk IDs and the similarity scores are printed. The output of those print calls is shown below. -Retrieved Contexts: Context score: 0.7309314012527466 Context doc: partnerships.pdf Context chunk: 1 -Context text: . This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects. +Context text: . This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects.

    Context score: 0.713233470916748 Context doc: partnerships.pdf @@ -210,15 +268,34 @@ Context chunk: 0 Context text: Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption.
    -Without RAG: +It can be seen that the first two retrieved chunks are **exactly** relevant to the query. They are part of the same initial section of the partnerships.pdf document. In fact, the overlapping text from chunk 0 to chunk 1 can be seen as well. Chunk 0 directly answers the "when" part of the query and chunk 1 directly talks about the partnership with SunSpan and so they have the highest cosine similarities. The third chunk talks about the general mission of Brightleaf Solar, which is somewhat relevant to the nature of the collaboration between Brightlead and SunSpan. But it is not directly related to the query. + +Initially, we set `use_rag=False` and we see confident hallucination from the LLM as seen in the printed response below. + BrightLeaf partnered with SunSpan in January 2022. The partnership focused on enhancing the development of solar energy projects, specifically by leveraging BrightLeaf's data extraction and processing capabilities to streamline project development and improve efficiency in the solar energy sector. -With RAG: +Not only does it get the month and year of the collaboration wrong but also the nature of the collaboration. This is to be expected since the LLM has never been trained on the information of this fictitious company Brightleaf Solar. + +Now, when we set `use_rag=True` and look at the response, the difference is light and day as seen below. + BrightLeaf partnered with SunSpan in 2025, focusing on developing hybrid renewable infrastructure for the Midwest, specifically targeting legacy industrial zones in Ohio and Michigan by pairing solar and wind power systems with SunSpan's real-time grid analytics. +It gets the month and year of the collaboration right and also the nature and geographical region of the collaboration. So the retrieved context was appropriate to the query and the LLM used the retrieved context appropriately. + +Congratulations!! You've now gone through a more complex RAG framework that utilizes embeddings and semantic similarity based search. You're now equipped with the basic tools to understand the more modern RAG frameworks utilized by industry today. + +In this basic implementation, the chunking of documents and storing into the FAISS index is rather crude. This is fine as there are few documents to work with. However, in industry companies have to deal with a large database of large documents and online data repositories that are consistently being modified. The approach used here is simply not sufficient to handle the large quantities of data in industry. In a subsequent lesson we will look at the use of pgvector, postgres and docker as a means to create and maintain an online, efficiently vectorized, and easily reproducible database. + +This implementation had several lines of code, consisting of custom functions. A subsequent lesson looks at a library developed by Meta called llama index that condenses a lot of the operations done here into single lines of code. Additionally, llama index also includes metrics to evaluate RAG frameworks. + +### Beyond Semantic RAG - Modern RAG frameworks + +Although this implementation is undeniably powerful, there have been many advances in RAG over the years. Since generative AI and LLMs have been such hot topics in research and industry over the last 5 years or so, there has been a lot of effort invested in developing ever more efficient RAG techniques. Check out [this](https://www.youtube.com/watch?v=sGvXO7CVwc0) youtube video and [this](https://wandb.ai/site/articles/rag-techniques/) article to learn more about recent advances in RAG. + +It is useful to note that the overwhelming effort in the development of RAG has been on the "Retrieve" stage since the "Augment" stage is more to do with the design of the augmented prompt that is fed to the LLM. Many recent efforts have focused on the methods of storing chunks (such as relational databases, heirarchical databases) and searching through the database of chunks (graph RAG). Some implementations modify the user prompt to remove unnecessary context and make it easier to retrieve truly relevant context. Alternatively, other implementations have another layer of checks to make sure the retrieved context is really relevant to the query. For this purpose, reranking of the retrieved contexts through different measures of relevance is most common. One may also have an additional classification step to retrieve chunks that are in the same domain as the user query. -### Beyond Semantic Search - Other RAG frameworks \ No newline at end of file +The above is just a *small* snapshot of the many RAG approaches being developed. This field is gaining more traction everyday which is fueling even more research efforts. In an ever evolving field like Generative AI, it is therefore key to keep yourself abreast of the latest ideas, models, and trends. \ No newline at end of file From 08e54c42efc9e8736ebfa061e7e048cbbb0ea34f Mon Sep 17 00:00:00 2001 From: Roshan Suresh Kumar Date: Wed, 10 Dec 2025 17:45:23 -0500 Subject: [PATCH 5/7] Modified based on first round of feedback --- .../openai_embeddings_similarity.png | Bin 13901 -> 0 bytes lessons/06_AI_augmentation/semantic_rag.md | 66 ++++++++++-------- 2 files changed, 37 insertions(+), 29 deletions(-) delete mode 100644 lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png diff --git a/lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png b/lessons/06_AI_augmentation/resources/openai_embeddings_similarity.png deleted file mode 100644 index e7cddac64e2a6b7d7525282ed600624215678776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13901 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 i0z&^90{=R5OjcU!c4Ne str: @@ -69,11 +69,12 @@ corpus = load_corpus(DATA_DIR) print(f"Loaded {len(corpus)} docs:", [c["doc_id"] for c in corpus]) ``` -This script is very similar to the one in the previous lesson. A new addition is the `assert` method used to make sure that the directory exists and the text from the files can be extracted and cleaned. Like before, PDFReader is used to extract the text from the pdf files. The cleaning process involves the use of the regular expression operator `re.sub()`. Its syntax is given below: +This script is very similar to the one in the previous lesson. A new addition is the `assert` method used to make sure that the directory exists and the text from the files can be extracted and cleaned. Like before, PDFReader is used to extract the text from the pdf files. + As there are 6 documents in the directory, the output of the code snippet will look like the one below. @@ -84,7 +85,9 @@ Now that we have extracted the text from all documents, we start the process of ### Breaking down document text - "Chunking" -Chunking is the process of breaking down text into smaller portions (or "chunks"), usually for the purpose of efficient search and retrieval. Chunking is commonly used in all modern RAG implementations. [Here](https://medium.com/@jagadeesan.ganesh/understanding-chunking-algorithms-and-overlapping-techniques-in-natural-language-processing-df7b2c7183b2) is a great medium article talking about the main purpose and different ways of chunking for more context. Chunking is useful in cases of large documents in a corpus and addresses the shortcoming of the keyword RAG approach in the previous lesson wherein the entire document was retrieved as context for a query. This also helps with reducing token usage. The function below is an implementation of the sliding window chunking approach. +Chunking is the process of breaking down text into smaller portions (or "chunks"), usually for the purpose of efficient search and retrieval. Chunking breaks each document into smaller pieces so the vector database can store and retrieve relevant sections. [Here](https://medium.com/@jagadeesan.ganesh/understanding-chunking-algorithms-and-overlapping-techniques-in-natural-language-processing-df7b2c7183b2) is a great medium article talking about the main purpose and different ways of chunking for more context, in case you're interested. + +The function below is an implementation of chunking. This is the "Split Text Into Chunks" step in the figure, although we do not use LangChain here. ```python def simple_chunks(text: str, chunk_size=900, overlap=150): @@ -108,7 +111,8 @@ for d in corpus: docs.append({"doc_id": d["doc_id"], "chunk_id": i, "text": ch}) print("Total chunks:", len(docs)) ``` -The function creates chunks of a specifiable size (here the default value is 900 characters) with some overlap between subsequent chunks (default value is 150 characters). The chunks are created by "sliding" a window of size `chunk_size` over the text in a document. The reason for some overlap between chunks is to preserve context within chunks (i.e. to reduce cases where the full context for a query is split between two chunks). In the below function, we additionally limit the size of chunks by stopping at periods (".") if they appear later than 60% of the chunk size (i.e. closer to the end of the chunk). Note that each document is "chunked" individually. Usually, `chunk_size` and `overlap` are hyperparameters that you can tune to improve the quality of responses of the RAG framework. Based on the values chosen, a total of 930 chunks are obtained across all documents, thus the output of the code is as below. +The function creates chunks of a specifiable size (here the default value is 900 characters) with some overlap between subsequent chunks (default value is 150 characters). +Based on the default values chosen, a total of 930 chunks are obtained across all documents, thus the output of the code is as below. ``` Total chunks: 930 @@ -118,9 +122,11 @@ Now that we have chunked our documents, we will get into the key ideas behind se ### From text to embeddings -A key feature in modern RAG implementations is the use of embeddings to represent text. An embedding is essentially a list of numbers that uniquely represents a piece of text, audio, image or any other form of data. The reason we use embeddings instead of text in LLMs and RAG is that we can perform efficient search operations that account for nuances in context that would be very difficult or even impossible in the text space. [Here](https://www.ibm.com/think/topics/embedding) is a great IBM article talking about embeddings in general and their uses. +Next, the text chunks are converted to vector embeddings. This is a key feature in modern RAG implementations. A vector embedding is essentially a list of numbers that uniquely represents a piece of text, audio, image or any other form of data. [Here](https://www.ibm.com/think/topics/embedding) is a great IBM article talking about embeddings in general and their uses. The embedding model used in this example is OpenAI's "text-embedding-3-small." You can learn more about it in the documentation [here](https://platform.openai.com/docs/models/text-embedding-3-small). + -There are many embedding models out there that map text to vectors. The one used in this example is OpenAI's "text-embedding-3-small." You can learn more about it in the documentation [here](https://platform.openai.com/docs/models/text-embedding-3-small). The model has been trained on the corpus of text in the internet. The function below converts the text in the chunks into embedding vectors. + +The function below converts the text chunks into vector embeddings and stores them in a vector database. This corresponds to the "Generate Embeddings" and "Data Indexing" steps in the figure, although we do not use SBERT here. ```python def embed_texts(texts, model="text-embedding-3-small", batch_size=128): @@ -136,19 +142,20 @@ emb = embed_texts(chunk_texts) dim = emb.shape[1] print(emb.shape) ``` -The function collects the chunks into batches (of default size 128) and queries the embedding model to get the corresponding embedding vectors for each chunk. It must be noted that changing the batch size does not change the corresponding embedding for a given chunk. A higher batch size allows for more efficient conversion into embeddings, upto a certain limit. Refer to the documentation to know more. Every piece of text (irrespective of number of characters) is converted to a vector of float values of size 1536 by the model. Since there are 930 chunks, the output of the code will be as shown below. +The function collects the chunks into batches (of default size 128) and queries the embedding model to get the corresponding embedding vectors for each chunk. +Every text chunk is converted to a vector of float values of size 1536 by the embedding model. Since there are 930 chunks, the output of the code will be as shown below. ``` (930, 1536) ``` -So so far, we have extracted the text from the documents into a corpus, broken the text down into chunks, and mapped the chunk text onto the embeddings space. The next step is to do semantic search in this embeddings space for context retrieval in response to a query. +So far, we have extracted the text from the documents into a corpus, broken the text down into chunks, and mapped the chunk text onto the embeddings space. The next step is to do semantic search in this embeddings space for context retrieval in response to a query. -### FAISS and determining similarity + ### Semantic Retrieval -The code snippet below goes over the process of creating an index (a database of embeddings) in FAISS that will use cosine similarity to search and retrieve the relevent context for a query. +In this semantic RAG implementation, the idea is to retrieve relevant chunks and augment them to the query to produce the response from the LLM. We use cosine similarity to retrieve the most relevant chunks to the query. The higher the similarity score, the more relevant the chunk is to the query. Learn more about cosine similarity from [this](https://www.ibm.com/think/topics/cosine-similarity) IBM article if you're interested. We use [FAISS](https://faiss.ai/index.html) (Facebook AI Similarity Search) to search through the database of chunk embeddings. The code snippet below goes over the process of creating an index (a database of embeddings) in FAISS and searches this index using the cosine similarity to retrieve the most relevant chunks to the given query. This corresponds to the "Generate Embeddings" for the query, "Pass Query", "Retrieval Similarity", and "Pass Chunks" steps in the figure. + + ```python faiss.normalize_L2(emb) index = faiss.IndexFlatIP(dim) index.add(emb) print("FAISS index ready. Vectors:", index.ntotal) -``` -Firstly, all embeddings are normalized to have a magnitude of 1 (using `normalize_L2`). This is done so that similarity only depends on the relative positions of the text and not absolute positions. Next, the index that uses cosine similarity is created using `IndexFlatIP` (IP stands for Inner Product). Since all embeddings are normalized, the inner product between two embeddings is equal to the cosine similarity score. Then, the embeddings for the text chunks from our documents is added to this index. Since there are 930 chunks, the output of the print statement is as below. -``` -FAISS index ready. Vectors: 930 -``` -Now that we have the database index of our embeddings, the function below searches this index using the cosine similarity to retrieve the most relevant chunks to the given query. -```python id2meta = {i: docs[i] for i in range(len(docs))} + def retrieve(query, k=3, model="text-embedding-3-small"): q_emb = embed_texts([query], model=model) faiss.normalize_L2(q_emb) @@ -192,9 +198,9 @@ def retrieve(query, k=3, model="text-embedding-3-small"): for h in retrieve("What is BrightLeaf Solar's mission?", k=3): print(round(h["score"], 3), h["doc_id"], f"chunk {h['chunk_id']}", f"text: {h['text']}") ``` -First, the given query is converted into an embedding using the OpenAI embedding model used on the document chunks. The resulting embedding is normalized and then input to the FAISS index's search function. The search function essentially computes the cosine similarity between the query embedding and the chunk embeddings in the index and returns the similarity scores `D` and indices `I` of the `k` highest scoring chunks. Here `k` is set to a default of 3 but is generally a hyperparameter to tune. The 3 highest scoring chunks are appended into the `hits` list and will be used as retireved context to be augmented with the query to generate the response. +Once the FAISS index is created, the given query is converted into an embedding using the embedding model and then input to the FAISS index's search function. The search function computes the cosine similarity between the query embedding and the chunk embeddings in the index and returns the `k` highest scoring (most relevant) chunks. Here `k` is set to a default of 3. The 3 highest scoring chunks are appended into the `hits` list and will be used as retireved context to be augmented with the query to generate the response. -As an example, we look at the retrieved chunks for the query "What is Brightleaf Solar's mission?" and their corresponding similarity scores. The output of the print calls is shown below. +As an example, we look at the retrieved chunks for the query "What is Brightleaf Solar's mission?" and their corresponding cosine similarity scores. The output of the print calls is shown below. 0.828 mission_statement.pdf chunk 0 text: Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption.

    @@ -208,7 +214,7 @@ Once we retrieve the relevant context, all that is left to do is to augment the ### Augment and Generate -All of the previous steps described are part of the "Retrive" step in the RAG process. The function that "Augments" the retrieved context with the user query and "Generates" the response is shown below. +All of the previous steps described are part of the "Retrieve" step in the RAG process. The function that "Augments" the retrieved context with the user query and "Generates" the response is shown below. This corresponds to the "Generate Answer" step in the figure. ```python def ask_llm(query, contexts, use_rag, model="gpt-4o-mini", temperature=0.2, max_chars=3500): @@ -230,9 +236,11 @@ def ask_llm(query, contexts, use_rag, model="gpt-4o-mini", temperature=0.2, max_ return resp.choices[0].message.content.strip() ``` -This `ask_llm` function is similar to the corresponding function in the Keyword RAG implementation from the previous lesson, but there are some modifications. The retrieved chunks are combined into a single string with a maximum characters limitation. This is included to reduce token usage when querying the LLM. The modified prompt is also different from the Keyword RAG lesson. Now the instructions clearly state that the LLM must use only the provided context and say it does not know if the context is not pertinent to the query. This reduces the chances of hallucinations by the LLM. The additional `temperature` parameter is also provided to the model's completions method to allow for variability in the responses. As before, the `use_rag` flag is provided to toggle between test cases with and without RAG's context. +This `ask_llm` function is similar to the corresponding function in the Keyword RAG implementation from the previous lesson, but there are some modifications. +Note the modified prompt is also different from the Keyword RAG lesson. As before, the `use_rag` flag is provided to toggle between test cases with and without RAG's context. -Although this implementation incorporates some complex concepts like chunking, embeddings, and sementic similarity, it is still rather naive and basic. The mechanism to chunk documents is simplistic. It doesn't leverage additional contextual similarity that comes from the domain of application (the fact that the LLM must answer questions purely about the company). The model used is more generalized and some words that are similar in the corporate world may not be close in the embeddings space as captured by the OpenAI embeddings model. There have been more advanced embedding representations of text, more nuanced approaches that leverage the domain of application, and more efficient ways of searching across the embeddings developed over the years. Nonetheless, it is still powerful. To demonstrate the power of this semantic RAG framework, lets see it in action through an example. + +To demonstrate the power of this semantic RAG framework, lets see it in action through an example. ### Example - Semantic RAG in action The code snippet below is used to test this naive semantic RAG implementation. @@ -286,16 +294,16 @@ BrightLeaf partnered with SunSpan in 2025, focusing on developing hybrid renewab It gets the month and year of the collaboration right and also the nature and geographical region of the collaboration. So the retrieved context was appropriate to the query and the LLM used the retrieved context appropriately. -Congratulations!! You've now gone through a more complex RAG framework that utilizes embeddings and semantic similarity based search. You're now equipped with the basic tools to understand the more modern RAG frameworks utilized by industry today. +Congratulations!! You've now gone through a more complex RAG framework that utilizes embeddings and semantic similarity based search. You're now equipped with the basic tools to understand the more modern RAG frameworks utilized by industry today. Feel free to play with the hyperparameters and observe the response. In this basic implementation, the chunking of documents and storing into the FAISS index is rather crude. This is fine as there are few documents to work with. However, in industry companies have to deal with a large database of large documents and online data repositories that are consistently being modified. The approach used here is simply not sufficient to handle the large quantities of data in industry. In a subsequent lesson we will look at the use of pgvector, postgres and docker as a means to create and maintain an online, efficiently vectorized, and easily reproducible database. This implementation had several lines of code, consisting of custom functions. A subsequent lesson looks at a library developed by Meta called llama index that condenses a lot of the operations done here into single lines of code. Additionally, llama index also includes metrics to evaluate RAG frameworks. -### Beyond Semantic RAG - Modern RAG frameworks + \ No newline at end of file From 44a2d9b6ffe24df3c2abb880fbd2ea92197b5e81 Mon Sep 17 00:00:00 2001 From: Roshan Suresh Kumar Date: Mon, 15 Dec 2025 17:36:28 -0500 Subject: [PATCH 6/7] Added pgvector + docker + postgreSQL stuff --- .../resources/basic_rag.png | Bin 43564 -> 0 bytes .../resources/docker_desktop_running.png | Bin 0 -> 142546 bytes lessons/06_AI_augmentation/semantic_rag.md | 325 +++++++++++++++++- 3 files changed, 323 insertions(+), 2 deletions(-) delete mode 100644 lessons/06_AI_augmentation/resources/basic_rag.png create mode 100644 lessons/06_AI_augmentation/resources/docker_desktop_running.png diff --git a/lessons/06_AI_augmentation/resources/basic_rag.png b/lessons/06_AI_augmentation/resources/basic_rag.png deleted file mode 100644 index 6e6f110a0143f2e60897402c766feae4c12021eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43564 zcmbTebyU_{)HV9h(n^fw6yq2tFB;^^^hsgK<%n z7Kc;}lk9@Oz*~wbia{V%F{lq85WwG&on&-eAP|gB=zlQ1jzwk=Nbw(8NilU#!-GW+ z{iG?f-=`zy$LMcqB^Da5MG>x*Tw?m|i#Pjf$8m=AMVJOSJuHfwxUS(pZZ3t9e+}$g z@)2qmX%uv>OhYyIT&kRAI^x^*V)i6sUfzy8elHVG`Q}9sIrQtDq(rOeOL#Hp*AmsM zSd{-T&W9#p9Y&Prm)EmAqW@U}oh*Jnj=! zdbg-W*N*obRupNLRPFmD``%L;F+Mg4L)6n7iwB#ul!pQ5w$hE8U#3+KI!-ykkeLBP zT07~EWA^Lek4J@FFXM@n3585a&<6<(bJ%j}IpgO2e9j@~Mz3!cQDt=<=xuO?i`~p&$%JvmmSt z&>u0DEGi0ne7LzdbJs-7%#F-sTU`{IDuroGdZ{$j`K-oL5R^l8XkW@&SAwMU1#fSv zddc$HSb7H?QlM!+^q^}nnchd5*L5a6`Y!q%yb}vwT5uUB3EE(>rD60(-1Lcsex1jc z&>iq(9+RNQDRE&Fb3M`N{#zs}uDT8rCZoJ2ZpWI-VsAQ~o4yyC_<{%}M&uGczYkRWYMdG9P9eO zH%|r(b!Yt!UW81f-r{w>*4tg)I5{gaiC{pgJr64C7xR`lu5g%)u3ySlx zpX&)njG~Zmy^nYHZz{Y6S{8bp8aHVL4FrtyZDo8li58VAsowK-XJ^~Lnbyb*&FgVt zr&q~GBj@FchIxK^=j@IMA>;dJsnd!%JL~&mouTfxYVXUy=f%slkXgm-J!Is!C z#VSQdRMK!N6Sa)F25BZ``SRP3hWAbOyro)c!Bo@?~w$EMjz3XZw_9`86CD)bemjE?h@(`kBXa`n2F$_`)8T z6>PUGvPb1=u8lOo?elkFL)YxAWbG{IA!CGeB*^Uy)4i7YtFH-ZMaG@0e@^pke!QD- zF-fTAn0eg6Lw!(kI;qO?zEpcc{xzihB&;71aA)a5IHlOX;;=66GfzM0YCm$##SaTc zI21Bte7W_Ik4Cy^uMeK2LC3K3OD}Ze`q+3N&dy3OmJI~WL>smI-qni9FJ$NWtVcf- z5;|yRj?iqyqJ)$T6myYy`XU8Rq2ICp5I4P~uEzajd3$h%0U>ow{gRM_5P)Q4{<}S3 zb87l{s4%6Wl%%Fv%!raw%3!WQ^~hp#u=wBl#w7CcU z1|$m9K})}XB;&h0m}i|CrVtrF{F?hQChyE!1K};N$$%pxSf$gUD7d^Wvwm~)ONE(9 zGu9(+W@p0Re|r6Woj=s{Cqg`k@$ForW{I2+^S5Ii9N51-VYqEJe~x+F@wMR+G;KTT zoaFs}H3Va9{#p2jO6nw`9kXE0yX*Qv%poN+A?h-dkkZnUbuOQdVedM5ABtbAieaRx zIVy_9dv5}S&c-!uNT0|!9A2AT=jzcP8uox$n&y~_zN27hIyf&C*fg%KXlm8>=f8s~ zJ$hyk8EIhJ;J3{EOzUVY^}43z%9>9nvbi=YBd3x(Yf5f97VjVK#`f?RyxMB_oTNHb zMaI_}b6a};$7t)7N7P(22^jSn-&C5Yk|N7Izh{PpUOOl8Wo(-U?fTl(kwpGut;+`x z0RqVmy-9PWtnw%(JK}6QijhQp?+o7o=7LU355o+*dR${GX-UqL5p&9;wwyi%6`Ggn z0De`9baj3?l|QC%{-nk1H~e+%7c+i7c#J08{vN~1u!nV9s_Wt=GjMqMMDNis`yjt& znun^sm!zULy=(m_^Xy@AaYTo;uHb`F&@cbqsjCFfQF9{AX0LOS_O??SRL6y~?|kFV zwGY0D@@g$YJu8Q7U+jm3-&?0U-j#ob_!`u4h3ZDH74nmNnG*G+)kd&Js-J-@K<`b@cbbg>l3 zj%q#87XKY*wbO5%CZcxZpG2C*^g(rJ%dA=3hn=+b{4mWtfkSdddZ2Ce)U4H{`)z*%A*bHE$GLJ7glm&x zo34d9;nBl}Ai!jWiZu*TQD@F;H4~ItW_{uJ*Wm*SaOTmfBlDq~($R^i+3e4kMb!m4+qHFubmUT-X<%qvRn{kloTM12jHbiD4YU-aPC zCO<;!Lx`|_G2HGVo{wRy_UX+nYSka-%DuxbrzSxWt8xofM0^T)Nb=47iAw69>})_r znn=PzDOylke~JJLByO6QFE8qhLz4@e8n7Mw-5GgB3LQkvtUV>ypD z^jnP7&A=aLDhdXAf-MAXM+y0Tl(Wg8q)*!$XTfEz%^8LfzownN3h4vg`;(4|gP5xx zmI#}C_oDp1hx?O@1mJ2!+3#2zVF%V>4wvQ)^Wz-RER!&nE#k6Vv(d*qq=%`!zusIq zpSQ7x2^&!8?6l=8MD;Z~)v*Ri7dL9DkO3WW@H2GLRE9LSentLO`15g@MAwTc_w17w zqXzY0rM0f6;pllq8D?|XP-ZIc@$;uE8ZE4hIN0AE9g1*T6xgrf6O@Op=g!CqgT6q}(TaenJM55vWQa^$aHES7u(cKcebBSu{eV~6jwt9$TLEWYG_L_hE! zpnMVFv2gp`cIJ{*bPrFPuzAg36xvxXg=_VA)uhA6@jHjPm@n1&I6Eg9!C8WsomLvXDv2Q-DCg+_OTAl006^N!dN+(WEt=*7c2?S!2-t36FbI#F2 z4_!C*{pxGlrOHhiFO?FjEo(EI9@UCtU=vJV$VN%4<-}?oipYd-evn&Iar*;*b&DEL zPoT4+vSQiKQfXqMI176&{r<^EKN1~AR9S7m$xHtImaGt2LPL6dTrvhaWBhgBZnHHZV7-mz*hx>=gmZQjb?*8e6?tjHRioLNyCxUw$Aljn2wHox5AT_i z&*Z;SatWXk3sID$Cw_u`#&a7y+^E%u!s3bGTXI}Es>?w2|DteB9&HxN72xaL|JLmi zSK`I4RLqH8WoUzL7n>n`|6PNl3~q)Jrr67`i3HX7|M%M$G6?^D82pwBR`tK{;B#bv zD1=@JFGj2SzwY|~yp*j?#dFQ{4Hez-syec(>v=!fjfB))g8Oiim{z6PG@k~n&?Ejd z0)nWw?rEiuC+4_ngk^^5yHOrm7&qo@$D6h06;T;Qx@P`R6l3FywdUCS*m!-x{eCS- zXG*b8?6sG=ncJ|j)x%ozC{nC`u-oSM-+ddKd+h9InZ&7rw@nB+FT(=WJ>5>(Ry^ST z){!Om@R552wkGjm`-qKe>whq4X(x!*D5e z$+0PPf_D{lhY|ZvhEY-*>px2OMS}FxTgug*YaI4_nnw>5pt_oa%f+u~iqy8i9v-qG!kxNm`PslpFl8Hs05TUl9Ue>5hh<;=EW zaw?`LV|l?M51-c|pK#?Ea=x@dlp4FKnsh;39((5V0qj@sb#nc(qU*7~#K1H6*Bk9` zmkhLyOYp1a&{b(WQE^sN>toc*JUCEreoK~M>rlM(UtwiN^pTCWtUo)yJSsUEgI{Y{ z92@h}A}CuNylR5)oy#GQ`{Oh0sTJ(YVea|}_CIRunrR?(D zC54xuQY;FO4s?`?U1~$xbvTSY!@qeH}uaP-M2 zQ_;{F4x&SYa|y-X{h>2YT0?WMT>B9oOW+YxAd*7zo89M&os!LoXD_eMJ^=+Dv7|tMz3yVX`#j zI`W0gvgvr_NMDg=Xe|b)=b&-ETCQeh`JvGqU6+afN700KtFC8ESm1?FQfjJ_jXJOD zQw0Zf)+)gY3QVJuld3FuOW1G8{g(46<8q4M+1Pw4Uxhvk8VoYEl2@V^?p zJLatrx}Q9;tJ~#NX|Sr?MQj@qSY=68=uZ;~;xmPd>153;EsMd;i92tY4lx`knxurP z(W0hoQ4FlSnTb0m!UqSb*f~;q3Hbzv2RA=TRd}nx{G9xkUFNWq8yStr%}?Z7J(=GY zF5{!BqN0nT_m(}ZZ;b(;u zupcoI3}pJ&oD?jUEHx~axGrfaLi6lSX-;(xT)BQuPjxBXdTC6lM0~3E-f7t!=pVf& z=jV1``KQz>M{6!As+)#@K+g1(9BeJ}c6X;_8jq+w(T+RB@+X^M2Jb7%mMUR$S3?tPIzD~PJ(}$n76ssc)E9y7Vg)dk@|Q- z3g&8_{HaY|DRJrfFa~x}A6Z9-eRj4VjXZVLrMTZ%&juHmze-E)9tw8-ht!);f!4;a zw|l0;=a-h=YV_=HxmKf1m{x$rdQr{uXJ{OPQ#GlYiBJO&wa@eK_UKKt=YF_+2oUhQ{b9r-*Hk zG{T@}uXrheK(6g2giyF8bS0>?u{^^G>EE?x@6(JaR&un=#a%}q7%kBun{(Bw#FBgU zDmGd3RZQ%bBDH_d$R1aSiLyE(2b|gqrIDQGDrUcd)Y17R94+jRNcYs^E>zqhlt1|> zGfm^@APR2mzP4l+-9tgy>Ui**j|)edUoPk@#mRiI%if*bN(HIa%;3cTE{OGXpte}a zF8s@gFCqNXU&P<2_l~NHPw;i1@D(+9}LbstxQN~O2y#4%NkAm{P0XJQQ>!~R?` z&nuKaYk>sR%V{XO$@RWf1#=g-2zj2Duq=>g8vxs}1IuOF`*e$=_Svaz#k zu;Bf-cB;F(#d-PErTFbtFg)12BnilYmRzJR=ehLvp6A%OxN|El{}|H`jDc&o8)95pIh3;%J^7M? z*Kz81M2;PXY+!?{0b%;L-26*_#Sh+DVS%-rUt`|rs6~{Ob!61G)6jp;X~2eQoT~pp zkQoq4y#2>i(*5nMA+l$va9Rv zW0BlOSGm@UD1G_<ee1ccO(7nmwROR$skK7&l zLPkD)5bflblIE1|9#uF?0QBk^R_1%Cq4vg`>Mhcj@9s zM@t2J$+T4SU8Q%GiX2$r+NN#!=v>tJicIez+xt~96nyNO9dpMHD@(S9$|BDC(e3*^ zFBkVhB)q4G6^}!K&5;vDT!yOAycbdK+=VHv$l&^Kej<+VHWYEgEqSBBF=TlC!*KU^Fnf|!Jd#`1mr;)cf<%nB%z8l6;78P9uCmjZ8w-shv zatB}g@0Z?1kFDjzH3{3>p~()%-Ryr{^)<}razLP7bIIkzg0ZGcNY`tWAiQnOed|Ok z{Dn77?T4Wnm%S!w-dp8X$z!S$nzR#azoedsE`KZY1-l)1Tbx zm3Uvn!jq-KkEj;G^P>~-A*oj3G1+S!opZ66{Y2O)NdrAt-Ue^Hr6V$4DQywhTEC1< z>r55bjx3HNKoSm}j0jN`ec+;1G|3&+KNq(#o1UK=mxIskR=j8T`n4}8!>~Yl z>hXr0%Q4#IX@ney?6!SBhC^=2%}s#sxY@>*qM~%Ipsreif-(1{H+N073dur&A$=n3 zTXH5vthHDL6vr1Ane60s(<}>q;UPTR*$QzNjjX~e%T*8i^v{+rzs5W)U-qU_?Kgkz zAKZK|#f+FnG|7p}7au{41h=`Zv6a5OBhynri?s&ChN>uhUcRgiO1#plAHnu@EI(1$ zBwcq@c_vHQ#J@ak1gu+*zn*Mj{!t_-TBWjBpG5rG=2pz#AqlEZLKY zVldK<7bHvhqMJiCr5{%pV^Kp2e@eSn|H4#Z!TRqp^jIM^WKx;Z{g^QgQwg|f$$=hb z*$=#A*kwx_<&6mhf3O0`NDF$3wUTJ-o4t1P%w`-^~3yla#4`>ao&3Y1A*D8BM zfpIRQ{)s)YwHnmwo7=#C1(x~%Fv`D2Agfw4wD|p34<;M)b>5&416G!1tamrrVyQF__g)q<@Hq**arbZ zErUnW4Kf2>{KqDs6CohsSk1Xo>s!9%qn*9Y@rEH|nM~jKd0l|s9`vTRznpD111|zR z2+Q!Jq?l)wGP51xN@!Y!7w}Qr|J}bNi>W$rBgXhmCWap_qqW#^=Iu)W9RujsC@T{3 z;bT)O%Qq8UhXG&wBM+TwzGB-s+n(KyQwgQkI?%do&nd zPA-x{;C@#msIs#|00puup>QdKz5|2SUL3LBJ%*)9TBfgYq-l=(r zm(dN4ZSHnRO{^dEOq^<*HR*f|zGiswcvc;i@Yr?F{wIa=S9FGSmqZ>FL1S}mwe@>{ z&%cGki#pH_0=*)u_13jw;;}mPd$z%*SCGxCVQL|obbkytZU5uQ1q=76XkV??*N~VA z?9-DwMJg4pf8*xz6EVB$_4K=ZvpdJ%e3wQ>hT!-?lX(Px^p=>ONawWum!U#an{s{yu%r2I{MDAm=sa)WS1k&LMBJ8q zr$x?-J3q|2({`1yi;rOo<%!1)WMMW4T_6e#m%$kaN*Jg-!CZfBk(P)!vje>w&}LHA z90@+v@>owN_>`W+0lZ^am8IX2sTGHWz@FcHFj}60HfTW`BfI?66))&@4$lm!_vexx z?lQ;8tjnl7wXwdhvu)D6*pGoRiQDr;&Wgeo@=i_%mJqrVn1nHQInk)oWT^+aF)W3|mh0^U%OCJLRPkMzTU6tM z!`s*PrTvEvG+zd$&Hc`ug9~ZcuKJZgJELn^QRK&`cU~P63E$RzZ~}KCai|UFf!b#l znLHS**pk@QuO|Yil$AE}koznPjXV2Je_mo;D2!n}t3iDA%9%7G&x0z&qA$Pg&XFR0 z=6R-I5sV8+$RXYESrRTg>ua~ZrCPz+HVFa|VqrTGb6f7uGFW>_=>HM*4+5TYk6FQq z^wrG%w*5LEXqIsp%!4M_ z@6U1 zn0)M?{_yT`2?9^Knc)ZkJ8#=;qO%Qgh%tk8;$I*~>59J)H@ z7DZEE!>)kdK#@&6ek_K2SxliV5(yfLqXgROYU=eDhxU>zf<+#`_t zX5*IJ6ik^@?CLdTk6VDJ#;^K=6Wc~_qiqTLM^2L z5cY5J-ayb(huP6;1FHD-&r!B);NPo6!{bWNW_U*|jj75&RbUrIt(>taKOhCrvPyef=++%*0pk^=7f@WxXU$Kx5D= zF&ScmnvwZVNM{Zb+S2VH!Tc~Zs28f^J56jUftsdQti<+nj7!Rh!?7ed$zjPo=~hSu zlFW|?$=lkvwA(bY3=nQ%G@|KbaeyILVwx#0B3VQFIsSLvo$ZnE{C!A6rw-px!HS>) zPzzvgad*rGMz<}bH@>&WhoP4L296I6Hy5sW>y`tOt~Ir8m$oe8z9lg$k6HORhxlg7 z_lt5e%U==|I~po&-nR9&fx{T@I!)zIP7H_3=A|KhgF^!}kAk;CjqM1TNk%RYQ;RAq z=ar3rj}kpK5u(?kvp$fYTpRp)NkS;MLRGh&`Q>E>8|&-d z!+!?+(D3J!Vn5ri9{$DTFa0K%di|~4im4sx#cx%@1%&*re)Bzs=z%?A(_C9g6*)%v z^Y&q-is0kf_-uOoP8gvC8nI|@`ua>#jPo2p+`%o0s=Y)@m*v9^KO6pR_Fv1)JyZHY`_j~Pz3$os<8&&*ZsTcYv}}UFvBr5m|qaMSrdnL zJZif=8xfJ}iD$V4^aX$}Gcg<#MBCb`j7YD%btE#*3{An_90d4=4*k(8_A`5Bpj`Qe zfyWVvz}A4Gc}`>7Uk)t*-k=Ml%aOZRMC)E^N^X7XYXJ49Eq+kBclUiU5FlTDs4()E z;06kEzO;y{H#7U`XO8Koo<5OrWMEIgaU0W^GjAKS)M-?ahc(TskX!b1S_JqXtC~I3gSj4_1pcBY(o+-`w z_OJvoL(HWXfnG3eqI?_D47-i{AjPgZAJ-0rcI?R*yeWNF19z0oy`DeO}|J-a^8W z896*U50ST7x6?zl=}6G`-IQ?xHWf2cOD8+d+yF;y_(=Ryk_`u-;s0pT{3=l9UY#HK zpqz9$)>$ZN+WEM&&!ezVVEmqz;R!mA&{4M4Mx7yAfM}2NAuV@{y2*0RT!d}Mwo@Gz z@Y69kEU9VnXIbNz*zvYOhkJfRB{ralt|uzT3fo|DfZeIocTIAPnP=sn(=`8gNCAp6 z=mLRLUGH^PnOa^4AZ%VnUug`_GtmZoRP!gQnyq-vHa@;7X$ApDiZ=BJCA>&!`f-Ph z)NRCcmGIUp4!Xd?{`0XgZnm8x-hQYZ=h|=@c(2aG)Y&JmXYJuk1x}nn+nRovr>)N^ zjwN+}y8GfM#xMblzsTu-W14f~N~aeE^jVxd^T1KYhv?(?7{XVbQ(ehA{c#Dt*z^r% zfEpH*&_CMh&Fr+<~w{C-04c?ng@3MI{`lmQHV70jT#HNdoO8JS3r|7Uymi^~Ff zdSbnaKlLccI=i)3Pf>=J(*qPT2!2L26x_{HBq-OWVDep-1*^u!!)*wh^ zJ2hVc(}A;B(%{t4ULh@>%eC-t5WEh?AU55do?=pm(ayRrN=cr4k>PoR#kjcsdxEX`$l} zXN>kdnYZH!R#xwyir?ra?ixc%QfE{Oe)FB@Z<>7sbS-ZnQ9`dJ-p=&)P%V@AG$wpV zAs^c0OmyKpr?RwkqT|LfP*hCQ-D))iC#87S$a3>@paKz`!+4<-UYOY=l!k)df1Ix9 zhOMX6Kq_sb$?tMZV)aE26+#}c} zBOi*`e>--&#y-&)_fiU+?MX_{3@!dBC==cNcT`^qA1^DZr>>Fpws|-uE#dmtTUnKn z1=0jd#u=a2Zx0hnKtWtV>+xwqoz@DJ$0rw*4_Fi**{Tym_szvfgT-GI!oTGtu<7yM>WMPU=EP&T`18j{|(6I+c z!kkJjc^O^NwC`60DVQD1zqwHSqYwQk&jHR{h5$tD7{7yxkLLv!_+bUFnQ5KpfW%zACwdLF z9J<|_U2;3k_y}7;_gEf;QO19VJhOWidqQ@n=2v&;KFKEO6%UF*&)cD7{h!t^E!%%l z2bB?Y01p;~{2y#?-y*EKQPI#OBx?$K^uG%JK{+m*qy)9G`ezcTV8w~(ttU3N>ujeB z41T%K%+HtBV#B-bO%LzyEHrVv77(6&8k?F*T59b!!2st%X%v;gpG)za;IE#+u8)GV z^_!Enh6A7kg9xJXRW2tnXw9^EapdIW@bdHj$jz0ovtvZXV-%H;fRpZRksOszX8g0f zoHbWxTjO`{u9PVlo|;N1pTgX|yiCTy!NJIQ79U!vTldxH`Y7)E_d#%-*U1Wu`9N}a z-;V5$iyF(3YSUhf3d7c~ZEeEb++HHnBF_(XNLkuC|)1rDJ1bd$?JTNo3H%aCCIMI$n;6j>d3zcR$;IygzQYTWrP! zA4ijkL^m|>9334wKc?TUe-IQa)J&TPY@lJ3d$ZeQhoRj2S2XlZbY)hI)Ai9J z37<2(t*x#9)2-#h!viZfcTaymN}${RzmL~P1{ar?I?b+hifNo;^78U+h!qCEzGP-* z`l25!wWhE4#+X`L|0N4}_;Y){4V?sdoasb?B0M7E+S*zW7+zaj8>3!*q+AkxmCY1A z*kB0@3+mzF;jZ3Z4wtRL!iv`hi!C@@A3l6wG;AS2MMdpTr0c9Q?Vb7g0j{8+AdyKA zkBp4W|M}5_h{r)eM&`x8fBz;cjk5S$wthM;3xkyj`}(!x&!11Ru`k^Z=iX%r`!)JM z@=HgP`~eI1lxhgNC0@6oh5WdNCKnBd3ch%tnda2M-L=^4)P6kQ;COz$9N=<$W{!gr z(tqsP2IdkM91M?zjeUDQB4WMN!UqY(cx|#hoN;q^XJTVRA7GfDpZ{^?H_X-He5iO% zw(o6A6t+^9@KCeczLT5VW-nR5#@Ybtjj(VgSOgfS<0T>g z+fDrM85w-u7qsBn9esUa?B@M_l}!Q9{?JWLPEPKRa`W`${pEhRHku53#su}+PJ>Sliu71(Gxc6L>i7cXKVyC7;(=K1;g+at%Kp`+*DUmwfIQ_5cMPp2p-C{SW!V;5_d>td15&dOD)>bOn_`KE5Pd4;R-Nl3D<#a#LzO`gPJE9?zIcTIhL`U=6Yh|d2Y5kOgCEy?n zJ}!FZt=vdZ7LJ4botx8bBL!ia4>l7z)S+~q6nc#k%G7V)WCC&U@o65f<{h!fL2e%v z+mb)~e);l6_4aI&O0-13sTy7;IyxGQyv}}JGajX-!Mr~)j$X5jHftXMP7*_sl1jUd393h z7}BJthjV4*SUWqrJTRobPoLC(k9B%IKYXJBJ1qJPl&cw;bj9mJswnr0N)_IZhJV3 z&2DPem;mYl(p~ILp~}Wv&DWRf^EhwF03@ENGDV`Jqay*Ev#Gs$nV*-(8t~*xD&*ZY zRjO50UA=bP{;cVU*gsMaSR`R*$Eu^V6N=TjQc-J5tv>KbNV&zuf5CQ&&F<^g*=Ps~ z3GsQIQIh#x#Pv57C}s46OhHCQ{xdn5I9p>0$LhEw7#|;ha(PKbP96wy_#DI|HXa@| z+59gLM=%~^j7*UCubs>$Dkh>6v}AnS5NcybC0r3;lZAVoSg)XdDx3oTx16&~*H z7UOxc1VltwI5?7k=p7uqBAx)o6{!_sOjjDE%;)+pLx{L+;6-aJhSW1lk@9Z&-4A5U z%qUk^SDk0iT@UAy0HZr!?7UYo^Z)@wBI5r&EbK+I`(cTHUx3X-0XhUk5rmwXS*bka zq#1w!bVpG_U_->kTwO0*ILK;kr=vk+!mVs?BlQ1mO-z=W(PK5_*k^ zi76;3$m?@e*5BlPb$}e0pHBrsaG~)dTp%%z!wR6;ni`HkL4=}}ZDW6(Cq;R2aaagQ z1u8naZ~)a~6$SzTBry9$akCv3n`v=SZhQE6d9}TI)};SO&FQ8k2G%M=lMZliS9dp* zr~$e40$gWhV}scw5eP)WB<&+xx?NjeZ}PsRhj<( zH7U`OfXMnT;DM2Nz6}cpw|VOd0laiJt)!#`uK9T9x};KX!Fr6y)?~4odZl3oSdNpOF$#d8 zg-ZwdLs=qOKtHS>91Mn_;%|JI#y1eCudnB{8Vv;SuXVIKbj)=)n)6w1K1kodV79@L zEQ*-Nzr@4HQ=qJ@>;*cyd0*_C%3AU&{U+yH$K_1$5O%LKv$+F@5?SSe z;VT_ZPEG<|CvqTc&BuPc1A+d*(lRt8B*b^o|7JDR_j=I-DlGpd(3lzXt{P-FnEy(pAf&rfWBoGDcyRi$oZT2`;0(s@+sJbn{a1cg=W_1jkUvB$S0H1*(>jo78kV7AAZ3lKI z3i4y*kfC%}xV+FG-xhg*dVevQ^!+w=d`4NbmADsB|O z&U)8id)lZ+xHdH|+j^JpclMXYZmu@Gtc>xpq`_gn-u~inK1CuF!i@{urmz=F1mDCekx75CIC{msnV5 zgTZqh`?p)^j_P>0t@0p~J-xh&6_8#Acd&v0YiViea&YSKkp&)bxC+=OKJ$?pkiyR* z*N@C70DC~-4itY5?ob2bC+RlxIKHlq3q0godOA2X+d=#{tB?^-?1?Ats@N4AF|r1y zgoTlVvgzNv$NNi?LOXL*SPI#dSC4PS!i<6@Mbxm2UDQo)dV76v3jVl63 zB8$Oqe}H6@1Gws|6v(7kKME2W06=hIAr0V|_r>_ZW=nHhP^? zb65;QwG}ATgV@O**CJSe5nv85N>WnN>3mBO;;__0cOCBl@)5xICwB77i;FyPJ=8)0 z00vYjHc<8Ozw=}h2zVSwK;#}QG$ph@-R-B&hogvFQ~!@ohAUSFZjVb&?g4cYRAg_D zWYGu+=vDA=ahV@2G(lAcSQEf%y>#Hu%s?~lXMG< zi?h|{5x&AXH^2$_{qJ8g7{E`U#Gv)+CH088x%oTbweUDDZGe627#WFCOy~Z4$z}VG zl9@R=Fc1PQexphFI)Lp1f?yNG!x{*dE^r}u=gZfxhm=JgDanYjusTXKN@FR*fi=Ts z`;SrO$h6&lp1Ucd82|uu=|Pbs;p$r3(r^oP!f3L5J6PHuz#d_TMMjz(%v9}#qJq=t zyim+21NFTrVC+)cB_&m`0=?tos-zYTH8rMy&w$tm@qiRA_OsNtPnR!pMPEKRI!#t*zZ? ze()+l2o(S%9TgLU2|PeEGqW(sD=HaPRV+|dL9ZMUzK;Z^;>Vkl4`}G;S6m}xXTmO9 zk#liQr)%%LmWonR@FAcAjoVkw;HL`6$ck)N&6jgde^`A6BnX@>3Zyt%k3;$$o$1Az z4Wq(607;?1kfc%0>>3)10%mFn&#Pcn<^Mf+;oA*tXBQXi(QFuipp8vUIelTy zNJ)poUQt-hR_FJd(D?ZHK6%Bra4wBzT8PGCtE087>R5okguXXhVc zpAiRv+C;&n9|cl(?_aq*z-8?gPc{&wN!yvxq(aTVXEipjw=iGxCj#Ir)p{-j6%4C+ zKTc$1uwZ1p#Q48S`RQ&USoK*eMAzOYhNQ`?=cBm<7$Hh^6X zAB`N|J7BZjf}jBYo^U+n$DPqPAQZx)qR<6Aj`Dzp-`U%%{?Lht$EZz?Sp(;Kw2;cu zb^~i*V6Ziq`nj^QQZN{k6*vN*_zMRV1U%?fpm>}Yflvj~@ihnpbATWVtv)HBVt{3J zSm6DFM)fN1mH=St1YfUb=K z;rH*~i`0v;+Mk~UfbMgaf&srN6tD0m>4%=3Y<#A`eW|#%q;R2@T&)Uy^&iMb9+lAki}pf2!ZpP7U1Mdh#t9cG$ zZjcIASgrDiVYbeA(oCRwJY~F^DzC>ay}V|n>D@#3;G;R;^57$xEw?=tEpKq-;GpVl z0dkNEFHp!mEner75n@f`e}SI)xDHOF;v!Q}P$+%p{gjnO2I@X&U64SdT*8A5pMw)m z8GaFo*75djoNMxzY141N97OQ2nX$B>=YQ;5nx0Mp zzIhQoYDgIw8)*CQ>f8w$zpr*Q0^tLv^ z*!6h_dQtN#x^Uyb2xJGv?wcYBxK;!FjvqdUYZa?35OyG04ho#QI5D;Q7Rm=>& zpr4r>RT*tGG+^hbISF`q@ia)|Hv+U=$1h;40FOSl;rf9ER4af6OYJ^DrB*WlrSRye z?Vl-_*ismsb#hdZXy~k?)4hG8f&5%0=R@0Br_)!9T{M)jKrH%y#mbdL%+t})SwQuc zp|Yf@tW|WcEOTTlo!6L?&9=^u{|1ye7-f)IMD5wQM$*)$41^&GbbDdco5&^d_ zh;_EAOKk^gubqG_whTQ>Y-m_tyG%F3oe}<(M;8ZUU6ClSq=X^WZ=ju781xwqS@v(f zN%gUOxMy&^wmHiS#{*DvgHkgxMTRc)LFxE6 znMsc~;7PFa3%Xh{8J7(Xu*9eVM*$2;2X>GXAi9o@jz+hAJP6RTn`_+>kim4G7=Um= zz{3R=j?!mD^cm12=;uQa^Yl7ao1>A9@B91r&!~z~t6WG(Dxo#uE>$yJ#f+p4A0MA& zZ%>u?`f}vGJN0^jSGC0ip6W#A6Vku2v7GoCY>#6ha)$lc#R*_3>bLk~GoZR~a%lt% zeqYcxSzAkOxZvsW<@hX{>B8%@kX~!ql1%>MI0eA?8Za$#{~yNQGA^sO?-IriRBQwV zL{dUT5JXB*8l^!(kdiRyF5?0uq&uZS5G15SF_2a|1VkD{kZxw}>z;X@nGZAXdw;m_ z=Pl>C_dbr}AM3x?+TwnIK8f*-Qo1S9oa^Qa6N>vYf)2rG{|ij}Z)3K#vO1Z)?G7+j zB1Dp)mM}z|SYBQ>!8X5x1eqG9h@_f2+lA*qUcVUui4x_M62T$@wbvjQu3DGPY;@l zuf%zO9XqyPZ4?l2)SfhWI1&>Z+!dSo|5aGS4%y@S6sYv zx1fHjYQIAJ7kAlJ7l~0GYP%S|>Vy*+lD8%8|3qEbD>81ow)lvW=i!S8wLX)d2w1OM zqaq?W4I9sJU%pI?@<^~DSRU)HPS%nEdVzWASr!(KNy+Qx=H^XrSR24WR^?!k&&|#A^m?h&wJJ;@@c7)0 zY9GTzKWR@NPiK=O1-=C*l{Hz+CbNVoC?Z&_SDLvl6%E^l%`VyyW3*NS1H-v1mjaFF zPI8&m+X-#zB14tObS^LJ@|J0{ZEsE*(m!OsCRc93Am+;bM9lg@OVQ&;LTmc)+ff~C zdcy9@kPn%wgTp6;>q_1hL88E*||B>av{$Y7_k3gFaqvTQ5$3GYa>7HM0%ZR^w_H08< z4egNpDY}aF$P15p)yj>iD;r~O-F|#%uwsFpN9g+SJ1_NsJw&n$53cX>4x{*%$iM2~ zU}S8Pkeuum|5T{_s_oBD5tb~ryYX*gf}Y>tSxXFW{ zAaEge_mLf9YvcjqRX)kb4zn2Xy z_Ltn2kTAYjno7i~K1Pj>8TDQ=vaq^@goI_xFmm$p9RHY${0)i@tom?_X}tH{u^o;s zPhN&F@Pvk1%^Q6tr*of~i(E)bdF@*i9u+wwKTW-!Z$c%{nZsf|5Fo!kUD)PBDL|q} z*XGveS#!Q#E!St7(dBkV%FCRB{P*qMUQI&OH(OS%`Rsnt1IA{lKAx<5#2-m5AtUj5 zMPEzC2x7xU-pc`s6#Dx2QG*E8b!>gk+94i((Sn(sk~i3u_VVS+r?{*x-tBpJe=|4a z;o2yPAKkec73w$yk>UM~W8)KPWrv=WKcYAqq=@Lai}NAJ-sxo1%8k(Hd&rs#9%-P4 zuLjZ;!Dq>c#`A`_xCds>Ex;Rbnt`t{5OcP%&Kx=t>xtHZPoBqQ!Y@7rMo#h;galw> zH?cA}#Y17*E;=(mKbT~*lyRWmkDC~-UCOj@6Cr@%IG5G)_&33IuB+or?qoE+>FMKK ze#g9MBm*TRZw;q489UgR_@&(MYw#3_zlM@n%-Y0qOXp(xt`riOV}FIm z#M~fuhk)Li)iFIfARjd~HS9ceRif1XCU^o-k@s}&i%E3qg-F~Dq^EXw*D=s}nw52k zA|hgab!~UW$~xDo)uc~|+X~lK{I+>3>zqRNkN*UGG-ESt(lMpU&9h|IdnBqP^IMTL z*@D4yvcjeHwaN*0_BVkP!Cv{Y5UM8!W@TN#(LG@~+Gz0M*)D9WZ9ASb#c)ms1x7AP z#>>4*P8PMX@f9%9kh4+Y(K!+TrviVl)nD?vte0%cUUkU-Rq8pIru>Gb#3ZrQp`?U6 z?QRfFii>2P`@)L(u=@J;?KO>!Vv5p1ufB;lIlVbPoKJG_;6X3xe8nLwLrwrKm7sdA z{=zhUYSNQSr(Sx?-fKuW%EVeV@HW;@_iY{IXzTxmuN+diAH%j_q%A^DzvHtFM>gdDvSsv(4Ff zs{Qyey2Q~xGU7JZ1>V*j!YX!ggZJyO;Ss~oCj;W ztn2~{hjx;ePg_zsutkVsVzTAk-P0=T#h(6enT%O!#KrzD{c$FqYDFw{w|e)1KW#yg z${DXR=6=1B$0Da@NY^nQ9B(eTtgar3fn9U*-3JAK1kZA~2h#7`S|jT$SRyGewGolE zr#i7ml#*y80)vC=a}*8L$}A2pn3T+#$HkH`KN0G^I@n%B8|&>dupaUtDJ7Z9zFo5- zVof-OS~>1HH-x`*#S4%`Qc^lC)||DlWEk06JzcT6 z5w>x%zJYpy`zo|cr;JN?-6h)Ii zB#!C9;^HF4jJJ}VP{ogpkJpe65k0dQhATs(m>oG!yZ?E2Xv*$QzU;ml(Wos9(87E& z*-)~)&B@mvj*A+;GWep9%&&^>?Iqr(x_P=`-Nzc&NxIqOz)C9EJ@B?L&XVqat4CuW_iF_KtMF;Xg3d5%q1xjIE)5ZY1t? zxr&3>?$piluel4Zx%!K?oju(NcdOi|gN_b7^$+|=s^;w(L3D^2_>Tz}Q9N>BQg zhR|xU$3RxBdo5><-Xq;$GMF&pZyUAT%L_4zBQxBJ|WnN~SXnB6JZ2qEX$aQV4& ziQ26tU+lyW6P3?0?6;bGf}^6OHAT*Ol;56h3K*RK-3nBQo%1s1wzE7!PbUkfXQ~UR zP}zz2`A&sj9CYO7K7OjA>Y%uS)P93U55uq8aHB~4>7Gra=YAk1A&3r5twi8WC*5xt{>89XiMPWWA4&!#&#_`Rcr zj-SZ``)#;R)?-kqQ7gIE^>3+dT+E(Bb8Uun@<_;|L-$N{*IT#G)Mv6)(Iqb5|0D9{ zz{-o&cP7VIW}E}uKcY9Om8{sJqOXupvEdoLpl#5S0WP>~_Y(+*c` z+I!u6MN_g>_Jg`BqKi*+o=kVxg{Gpv$ZrSvy`G~Uc=HQR>0}mUedB^ zGim1RrQhS^FEg&{J)XDX*s`zO^J$~n>Gdd;?U;hrv|2^*{DH>R5%xn))PTnf98XWE zSe_)^Z7w5FeZ|@f(5;-TT-9CS^TpMUv zD<@A%PM4$#vuMp2`}*f0-N~KFUewL!<`bx!vzY!g^9Vk3DUe+<+YwGN-jZapYeDx{ zkm5?m^i!#b&`=)r+Ou_4oi9|ZV=JgX>J9SQu4PGeEjV7^DSk5}IGwAxBhkL$HMjK} zpBoWXrx{*&dJi^Dm8PqnUeGCCYbj&~pKi)UzW@HM=-f~gJm>1JoibH;_q+_AzodPXMlHM>!RkY#FxVA})e zHKVUshF0{J+sj+PtUj9h`&3sylx45yfAd0X2Ow{PEhV@)|y6>FO1MEUXyBqLwk zi`pDk9eiGRk3O3g49R8Pwq$=QwvgwSz0ARbM!(b}7~5C}jWo)D8A_hJ$`jg@+K}-0 zpy~y!$`2)RC+|HpVy+foDE7!#+DY`?K~d6=Zy$FO*K9KmAnP(TFboI|mU*aIHbEy8`zdLttZj~uk3KocKR8fIUHxj! z`E+`Eh8n+5L;4B|ijs9-&+;*dCSRaE?-`uWthfu9#K448D`z*HxV2buztzqN@B^ok8Q>48vDew{dP9D2xp|EFxnVA9NW6i%hu3xc`1MM{ zQ9|$6FSVJ;{Xj)LeG4WwGXeENIMB`(>5-DMJI;B73fLVz1B2c}{pI=-CQU)1p|_C& z-FL6HrVrHe#<@y8blR>h6DRuGLRd9qkz(9uMgQX6?t(Ahes+B%{oLl7>>OF)!s~0m zW-M0|fJHMh7IF;djl+KJ^O7bTM-m*4Z;`U$*;;ve!9l`XOLCmH*L9O|ft63LFyW(P zghxJl7u5UUM3XPP)*X*o^sl(yo$46xXRMyMzu|$>haa61cSkzB zi`|TRot*9#bc2ukGWTBRGq-V(q%Ls(0h| z;|te6#Osd=#6U5H9bN^Y5co+a9MLp^Dm@qHDoX(NX(TsE3=%-`CZtD38#e?*@F zJX=%Ss3Nw}wDo++$-bI`a!gP6q0DU?p1+=w`oc`sF9PCe#oTurRh%_qRoTArRlqhn zxY4=w!L?$=pn$%*t?k}V^6gj;Z8KJ}IdrsHdPxNew6TzXo^Ue=9&^6?hO zKl!ehdgRz?aWt{fo8y2Y4TD%E0gLGxYPf5=&d~EQgm7v%ojuQ>Rt|i+_`q1#OPAi# zlPkwRpF1d_t*qmevDN0N_^Y?*+G0Ev{mW&A@{xDY^$^!Oo&nm)ch-IQ0}J~$V|8^( z=e5OM!~V{olYj5%FvR5EYO?)SxqZ&;g&hjc&Nt@gy?N{$lu<+J-@hLivhe%%MHCuc?1p{l2P()t$jH4SM}!Mk^XGqBS=|1l~f+S=YOqAEU`e#@=zU4rw1 zYLXmt-}1jM@1FxO{Kb6L00jQe33ksDkjn96Ll=OI_C^QpJk^fXdWpbC0 zNC2SPckrNc_DLAvwOlQ_TQ0%8i?C`dQld*N{W`$Bmm?S4EP}CyVd#6%e+k5DX`1|z zg|)V}wt`|@IqlP#O+K@q*E}PHSF?<%y0=9%-Elk@Y(%Jtv}mV-&X!FR%x2J^`M|FR zLL(aM?+V_AfZeMS(FFKk%k7<%{O6ZA;a*=Bw!bmL!pe&N>Qz&X4+NHmY3Rj!?@2)X z-18pv7Vsx`fNKI0i*zGdG3ZJaTbqvH_at?y=e69?8+K37t+QK;NCZXV=3;|MDnw<>mEOU-ov!_ z21Yp7ic9Q4<{*$Ir@01RkZ3%>`p7Z*ehzvgN$e3iao?RkfffU*+6ER+mS!>7Kie_B zxW76-4wevvH&x(dUN0_j24&u9W1)lK3WHczVl^(};BXaskk4IR5kR?=A9L)j$}_P2 zGgr$e;r2_GP-{t@qtvk%ynt&egk0nM8x7tszEs{AR)gG-r^$;6HztR>-lyD(3cqBq zAB2!kwY6Sgfmp6Dn}b@gZLBr@7{P`5@go|Oq2_#JMfJkRFM;V|1W0h7SVrG~{0$Mp z0ZQ(@;^N|%m@##bKAX|)qH;_p|JTL}b07|9T(*T*3}!R6!-4cVdUNz)AWWPa8F|gW zDa(a{265K705UU!qAT02krsI zpJ>pk1$XFQR-CY_5T3&QPcM$#(HNb2(F)iWwA{}iTDFoMlX?M0{3W2;VCFu9tPH~g zLmbG7hQ9QFskdpLjv2>ErK)ycZN-!tJSRMDP9C1!XW7^efOY{4_tVoIds@kk^yMUd zx{{k0ci>2cC;1~PT(kmlk3H4=OI}D%Yx)E1%)K`SO|;q_Om=Zp>eE$A#QPNz~W zEIZjVKt{ko1}EmVYWa!jOJ`%ipu_rr4=N51NqP`1bXrmj4R0UbW?a*pXDAD{f?sKA zsY4q-AyyO@Ji9R*roH#TfuYej*DoJFY{L;FNOxF!b#?Uvpq}6W1cI#vY8(cfr%$k| z=wql6E$kYL(*xej1w#YW*gif7h$jH71G+Cr`+Tu8q1*7pkpX9A2s)%>@Lkx{a{mGT z?ulKB^DTmn(N;MuGAFb<39KlvJcMQ~Z``=SqLlU?!k<$Dc5kIL20m+@Kl=zO1g6{3 zU=0!E1G&Y+&{uvhwlsv!jI1{HA8feHhp~pbg)}%gqR0Pbs zmz0;!v9Nf}jW)F)wuR_zZ7gXc-wU%vkj)b8G8l2(v(&HiHNWfD^I_2_Qdke&0GSJ;p?P-!(ve z%YRCz39>Q?LigzVr#m373;|V%P&n*Q?vMJu%$9T<|jb?nN_pSfPa?^ z>ej31lb7_r9)|8h78)mTvFw?81}o~Gv@Q?P<~z7#YOOa8?@0o4=mQ8>X=%*ZtYS(^ z$3f0cg=AyGWAD~L$cX=I*>;XQp<7!(9SK2z(AK)8nC}@+WFJCW*0VI;;sFl+MG!0S zz+S|}P$6sYx>py<4ua`L>j@>$d4{yVJX>9wmIb)^HZL#Hw7-HNtV0A?VA>Qlw2tW` z#3johCqdOm35F#dWQuR!UVN>TE|Q`0CLG5bUmh}dDB(bsdcM(h@T^W<(%*|g$!Cah za1OtLTS>6L!Om8Ddv6;FIPduKZ#Z-y^<(J428q+hni@|~oxU#o{rgwIY56b|Ed)z+ zWub3B5jnlyfRl3E{vu16Gd5ZRvX0MbUS9-)s^WP=jjQgc` zo%;PdbGA(Pv)4Z!9(7He_vfJW)eR$6gLP&B0^Q=D-a1031X{(g-FaGJ1{W+Fq1^2)wKXJ2`zbUlP(em;8z05f)B`Jm#oBEu zWP5X14)_uzM~@!8V*BR|>I{0E$S3$WYu$YbdYEs1pj#iBTH4j>NwZU8l2@= z{$gPWpuoS)#RsfBehA)SQc}{_M>fAZuVbl+f#3c6_lZ%dtE;Qa#)2wh&MJW2V47FMY}0;yIcHsfkx`7={^lbl zPB)SG*)s-_Z`Ze~zkGS!nv8K?%fvsntWdpNi>>Yf)ej7{DwLVakVk-NmHeY+3Pc@m zZ&G3eiTH=$sYG48_t2sH?U`!C&;sL#%=dd_RR9sAiA_>-HigRG!XH0rcG5l-AAe^PM8MUus!Q8!Qvxm zyh>MR_xGHJ#;fx9ieS=;Ex}UO?<=#1b|i#Mc>VCTP4VWoHUrQ-AQ&RJav{`8Pe8%T zyZ7PQ=Ep-g3#TDtC$<-j)66zPv`C02>gq^IkZUm5 z<>co6)Z4o;bqE#I*}V+lh6{#s>g`TXProTDIxs%I(rhU}>Z^jW*GN;GEUt(I+U!J3 zFtM&WMn*40;^oF~u^;r(=uU-LVgNdlsHoF*VH`vdBIIp&24;)Di7T#yP~ydl7w;Pz zeN8J?cJKd01Ku_*bb{EXYOz}397qBvi4UJX&AL>9LYOMpGI(QSgBaM$%gfJ7{Kd#w zxl!lgLmzrc0lS$eAY10y&)r82!-w;LUH>n+y39TZ30MJwrsn2mFeHbgOe^9cUICB# zFeRnb*5(Egt--BS<#W}sPkzF^MZ&r*Y^`12+FdR+-BwgoOui6@O#4KDEdSoQ$@S7+aHfhO1T&6< zn}L@M&Tm}l*Sw!*g0;rFPzrNDX!ikQ6Hn@b-$|8p1yP0_HwiV{yLTaR{8z6kWNGrP ztRP)bT(x2*NFWe68Vs3Eb-(kWyzB*@NSy)0T?8kkc#&Nut!W>y_tH=e8#YFNfCwC^ z=DEd`7j!*n0~uIZy^D&jKqDlbtyNC2GQpEd096yu;v1^!5KFRC7fG;(Q5~&7c>1lQ zV-$T0$t=brF<$?XDkMP5^P|F9!(gl&34;V`R01B8%i1#jkFJYNv&bK+YxB)@dtA*^ zq}LxUQU3ndK))~t2@{>pt1}cXr%^^U#HG&m+V+EcE(RJhVxZj5ut(osU7vj|1ditK z-@l72hW9h8M(=>Of|#54S2+I#=Nja6mxHlfs_$N*yhPb|@NBls%`VnR*^M(Ov1zYd z2}d*Y#Nzgz+CTHWgrE(g&pm2fpua*n@BL8=!4kD0(SX_ri+T{fO`E&&a zOg0gY-@^ohsEd)U->I&eLN`W;Ab{m#gG=7NeIGP@i|LWPp*@XMSFNta%Mq%h+Axl- z*7Y`3WyGwNXnc1S6!3>ax1rWxZaP>S7sdh-8A$z^qxVH1@7dtQ?~vHH@@_He&W$v1 zo3!o)p&pCgfcv}1&8?5h4;(De!-q02lYkpG%g6ip$5%8GSD@Cwb`dD2%d0vRAxQLc!Bpro*jWdHE|&V_#^!?+aP2M<`AVo?2^N55ay(h?--xCqU} z8w;jVsQ!`iKH?*_`DR=Up1O=}(rsSc53qs*Wma9`$+O2*yJFUk+aGE+9B<1YCxqr; zR724mgwsE_(4lQPP_+vw8D;<{p-BeryE|C0A8c----cfbvDtVYp1N$(>fZ!O>{kfb zp>sJ%@EM8ELdJU~v(<+FiO00h2P79P%tvVH(7b%D-U>s9*_>-2jcnp45`Pc43Id{x zuOp;1PuxLrHEF9tSxCqrDxBAJ_2#Th-c`*=*-LouU}9ndH_p@7S0&p41lQ+iIg?N) zL+7GcUSjm)e}ZGo(eV@k9{FQs2o2vW}f(EuuCX{z;Q zet^^kiVdP3B^&OC0E!^6XR2|9%%}|leaW8LoMNrj$8}{7*BTswL8z=T5h;y6gYXZURn1RJve z-dL!oD(g!IL8^9~XXgMcJM70rcVa&m{|a3kf0TB&lm`*chl*dN{BQ^$ zQSV;D(?Rt5jBKEWTTyi6BL9&|G8~;VTGNyqI*pSJ$^Yx%;ku?Jm2cRXAYFY$$J5tM z?>ewyjS!StV17JUs=Ya^1HLUpTE!`tP)-iT`$Ue4gR~;YOvpEgiU=`#_FOoi0>xyh z6NI!0YxEJt-E|5psAz)`qb`~Mx(OB{PPH@?D7x#*f00dVN;Qe6Na%w?i{CjHZ zdhw1gzzmj=nyS(0FHaTr7uo$i2VIUnQZgd_KWS-Y54Yh&z!Tyy2M5Q=3z}b1b`nJq zv`%M)oWddey6e(_63!B~1jOJ6YM#y_b2?xE#BsHnX!Rth*Qn+ch_HSNo02ymDCi?H zD4`Tbu}sJkT2f`bPitTPe0eJ9U+byJB>IFSp@lbY8XrA*@(Usun9|88XHjsAWlf?N zMnS&keNRsm3Jx7z-R-q)zG&rs0Zw}L!?&rci-H80z?m~=hN250=$}G&-mq zRgaMKsu>h%#aei)$ydK^n-EVN zTPM$ASPG4vH2UJ!sQn`8@RN%FR2wH9nGGQPVShyo`1K?R=f#do7pSSJE!M(dUC^0l zNQNHvmCS)Mh}ih5lYpDUpuTIXO8KpP!u-@c1t?JU8Pw zEm2g06yV6?bQ9$@cJ>@ZLOS~TNqzHf&^6aWus`1Z<}~~roaVoaTX^OratsCU<7lZa7;+Rltz1GH8AMr*h<+egvL3AjOJN4ePTW;! z9E4sLFfNk2z?P8~%;THI@P@RrDKa5a(D&_(Z$%BODj9;DFAdP}P^Dw%ga?4fbG1{;Js zZ|^;I%0m0~9C7SBif%&Nj~#QxZswIH2j21%`0ry)Hje9icamNGcvSEEe^m3}o-s)Sw>m7=GY7w-J|bj6x4fj?lGkvc!<9K*9L#ILWK$ z8h&qcZk|ib$dCpL8suZbmIa*_C){=*F0O$_TgmqrCJ8l&-mjU1$*$XN!D*s7RhGuy z@Ivs4ZUe@i1qF;(mTSg70Kr6+6B^fFYU_t0@@o??z3fYm29ae$D}BAZ2tzM!

    aK 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 Fe*qXeCQASS diff --git a/lessons/06_AI_augmentation/resources/docker_desktop_running.png b/lessons/06_AI_augmentation/resources/docker_desktop_running.png new file mode 100644 index 0000000000000000000000000000000000000000..22215dbd8dcbeb908ccf4d716d93c5bc5b6a45d1 GIT binary patch literal 142546 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 VSAXF>mJER$eoK?Orzj;iu5ZV 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 literal 0 HcmV?d00001 diff --git a/lessons/06_AI_augmentation/semantic_rag.md b/lessons/06_AI_augmentation/semantic_rag.md index 2e9c62c..cd8949b 100644 --- a/lessons/06_AI_augmentation/semantic_rag.md +++ b/lessons/06_AI_augmentation/semantic_rag.md @@ -296,9 +296,330 @@ It gets the month and year of the collaboration right and also the nature and ge Congratulations!! You've now gone through a more complex RAG framework that utilizes embeddings and semantic similarity based search. You're now equipped with the basic tools to understand the more modern RAG frameworks utilized by industry today. Feel free to play with the hyperparameters and observe the response. -In this basic implementation, the chunking of documents and storing into the FAISS index is rather crude. This is fine as there are few documents to work with. However, in industry companies have to deal with a large database of large documents and online data repositories that are consistently being modified. The approach used here is simply not sufficient to handle the large quantities of data in industry. In a subsequent lesson we will look at the use of pgvector, postgres and docker as a means to create and maintain an online, efficiently vectorized, and easily reproducible database. +In this basic implementation, the chunking of documents and storing into the FAISS index is rather crude. This is fine as there are few documents to work with. However, in industry companies have to deal with a large database of large documents and online data repositories that are consistently being modified. The approach used here is simply not sufficient to handle the large quantities of data in industry. In the next section, we will look at the use of pgvector, postgres and docker as a means to create, maintain, and query from an online, efficiently vectorized, and easily reproducible database. -This implementation had several lines of code, consisting of custom functions. A subsequent lesson looks at a library developed by Meta called llama index that condenses a lot of the operations done here into single lines of code. Additionally, llama index also includes metrics to evaluate RAG frameworks. +### Working with an online database + +Previously, you built a small semantic RAG system using OpenAI embeddings and FAISS as a local in-memory vector store. In this notebook, you will rebuild the same basic pipeline using a **real database**: + +- PostgreSQL running in Docker +- The `pgvector` extension for vector similarity search + +So far, our RAG systems have stored embeddings in memory. This works for small demos, but becomes impractical as soon as you want to build something real. A database like PostgreSQL with the pgvector extension solves several problems that in-memory systems cannot. + +1. An in-memory vector store disappears when the notebook stops running. That means every time you restart your environment, you need to re-embed all your documents from scratch. If embeddings come from a paid API, this becomes expensive very quickly. A real vector database stores embeddings permanently, so you only pay for embedding once and reuse them forever. + +2. In-memory stores do not scale. They work for a few dozen or a few hundred vectors, but real applications often need tens of thousands or millions of embeddings. A database is built for this. It handles large datasets, indexes them efficiently, and gives fast retrieval even as your collection grows. + +3. A database allows multiple tools (or multiple people) to access the same stored embeddings. With an in-memory store, everything lives inside one Python process. With PostgreSQL, the vectors live in a shared, durable service that any script or application can connect to. + +4. Databases provide important features that ordinary in-memory structures lack: durability, reliability, backups, transactions, authentication, and predictable performance. These are the things production systems rely on and the reason databases have been industry workhorses for decades. + +5. pgvector is a PostgreSQL extension designed specifically for vector search. It adds the ability to store and query embeddings directly inside the database, using indexes that support efficient similarity search. This combines the familiarity of SQL with the power of vector retrieval in a single place. + +This is why we are moving from the simple in-memory stores we built earlier to a real database. It gives us persistence, scale, reliability, shared access, and cost savings by avoiding unnecessary re-embedding. + +Up to now our RAG demos have kept everything in memory (a FAISS index living inside one Python process). That's great for learning, but it breaks the moment you want a real application. Here are the five reasons production teams switch to **PostgreSQL + pgvector**: + +1. The biggest problem is persistence: if the notebook restarts, you lose everything and have to regenerate all embeddings again. That costs money and time. A real system needs its data to survive restarts, crashes, and deployments, and PostgreSQL with pgvector gives us that durability. + +2. Another limitation with in-memory vector stores is scale. An in-memory store is limited by your local machine's RAM, which usually means tens or maybe hundreds of thousands of embeddings at most. That is nowhere close to what production systems require. A PostgreSQL database, on the other hand, can store millions or billions of embeddings. + +3. Using a database also allows multiple applications to access the same vector store. In-memory vectors only exist inside the Python process that created them, so a Streamlit app, backend API, or teammate on another machine cannot see your data. But when the vectors live in a PostgreSQL db server, they become a shared resource: your API, notebook, and background jobs can all read the same embeddings. + +4. Traditional in-memory stores also provide no reliability features. There are no backups, no permission systems, no transactions, and no ability to restore your data if something goes wrong. PostgreSQL gives you all of the reliability and features of a real database. + +In sum, in memory vector stores are great for learning some basic RAG features, but PostgreSQL + pgvector is the default choice for 90 % of real-world RAG applications. + +> We will use psycopg2-binary in this demo. Psycopg2 is the standard PostgreSQL driver for Python. It is the library that lets Python code connect to a PostgreSQL database and do standard CRUD operations. It allows you to open a connection, run SQL queries, fetch results, insert/update rows, etc. + +### pgvector - A brief introduction + +pgvector is a PostgreSQL extension that adds first-class support for vector data. Normally, relational databases are great at storing tables, text, numbers, and JSON, but they have no idea what to do with embeddings. Without pgvector, you would have to store embeddings as arrays or blobs and write your own similarity-calculation code. + +pgvector solves this by giving PostgreSQL a new data type called VECTOR, along with built-in functions for similarity search. That means you can store embeddings in the database exactly the same way you store other data, and then run queries like "find the 3 closest embeddings to this query vector" directly inside SQL. + +The main benefit is that you get a real database as your vector store: instead of running a separate specialized vector engine, you can keep everything inside one well-vetted SQL database system. This is why pgvector has become one of the most widely used vector-store backends in production RAG systems. + +To use `pgvector`, we need a PostgreSQL database with the `pgvector` extension installed. + +We could try to install PostgreSQL and pgvector separately on every local machine, but that would look different on each operating system and would take a lot of time to debug. Instead, we use Docker to run everything in a clean, isolated environment that works the same everywhere. + +### Setting up the database on Docker + +Docker is an industry-standard tool that runs applications inside containers. A container is a self-contained environment that includes everything the application needs to run: the operating system, libraries, configuration, and the application itself. Because of this, a container behaves the same on Windows, macOS, and Linux. For our purposes, Docker has one job in this lesson: run a PostgreSQL server that already has the pgvector extension installed. + +See installation instructions for Docker for: + +- [Mac](https://docs.docker.com/desktop/setup/install/mac-install/) +- [Windows](https://docs.docker.com/desktop/setup/install/windows-install/) +On Linux + +> **Important:** On Windows you must enable WSL2 during installation (it is the default). Without WSL2, Docker won’t run containers properly. (WSL is the Windows Subsystem for Linux, which allows you to run Linux on Windows). + +If you are on Linux, you don't need Docker desktop, you can just set up the Docker engine to interface in your cli [as discussed here](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04). + +In Windows you need to start the Docker engine for the next step. This merely means starting Docker Desktop. + +In your local machine, set up a folder structure like: + +```text +docker_files/ + pgvector_store/ + docker-compose.yml +``` + +The `docker-compose.yml` file should look like this: + +```yaml +version: "3.9" +services: + pgvector: + image: ankane/pgvector + environment: + POSTGRES_USER: ctd + POSTGRES_PASSWORD: ctdpassword + POSTGRES_DB: ctd_rag + ports: + - "5432:5432" +``` + +This configuration tells Docker to: + +- Download and run the `ankane/pgvector` image from Docker Hub +- Start a PostgreSQL server with: + - username: `ctd` + - password: `ctdpassword` + - database: `ctd_rag` +- Expose the database on `localhost:5432` + +To start the database, open a terminal in `docker_files/pgvector_store/` and run: + +```bash +docker compose up -d +``` + +You should only need to do this once per session. If you restart your computer or stop the container, you may need to run it again. + +Once that finishes, within Docker Desktop, click run (the arrow sign) on "Actions" column for the `pgvector_store` container that comes up. Once the container is running, you should see something similar to the image below. + +![Docker screenshot](resources\docker_desktop_running.png) + +Now, we set up our OpenAI API client as usual and setup a connection to the docker container using postgreSQL. + +```python +import os, re, math, json +from pathlib import Path + +import numpy as np +from pypdf import PdfReader +from dotenv import load_dotenv +from openai import OpenAI +import psycopg2 + +# Load .env (expects OPENAI_API_KEY) +if load_dotenv(): + print("Loaded OPENAI_API_KEY from .env") +else: + print("No API key loaded; check your .env file.") + +client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) + +# BrightLeaf PDF directory (same as in 02_semantic_rag.ipynb) +DATA_DIR = Path("brightleaf_pdfs") +assert DATA_DIR.exists(), f"{DATA_DIR} not found. Put BrightLeaf PDFs there." + +# Connection string for the Dockerized Postgres + pgvector database +PG_CONN_STR = "postgresql://ctd:ctdpassword@localhost:5432/ctd_rag" + +def get_connection(): + """Create a new connection to the Postgres database.""" + return psycopg2.connect(PG_CONN_STR) +``` + +The loading, chunking and embedding of the text in the documents is the same as the custom semantic RAG implementation as seen previosly. Next, we load the chunks onto the docker container database. To do this, we first initialize the SQL database in the docker container. + +### Initialize SQL table in docker container + +We connect to the Postgres server running in Docker and: + +- Enable the `pgvector` extension +- Create a `rag_chunks` table with: + - `doc_id` + - `chunk_id` + - `text` + - `embedding` (a `vector(dim)` column) + +We will use the `dim` we just measured from the embeddings. + +```python +with get_connection() as conn: + conn.autocommit = True + with conn.cursor() as cur: + # Enable pgvector extension + cur.execute("CREATE EXTENSION IF NOT EXISTS vector;") + + # Optional: clear out any old data to avoid duplicate inserts while developing + cur.execute( + "DROP TABLE IF EXISTS rag_chunks;" + ) + + # Create table for document chunks + embeddings + cur.execute( + f""" + CREATE TABLE rag_chunks ( + id SERIAL PRIMARY KEY, + doc_id TEXT, + chunk_id INT, + text TEXT, + embedding vector({dim}) + ); + """ + ) + +print("Database and rag_chunks table are ready.") +``` + +Next, we insert the chunks into the created table. + +### Insert chunks into table + +We now insert every chunk and its embedding into the `rag_chunks` table. + +Each row has: + +- `doc_id`: PDF file name +- `chunk_id`: chunk index within that document +- `text`: the chunk text +- `embedding`: the vector for that chunk + +```python +with get_connection() as conn: + with conn.cursor() as cur: + for meta, vec in zip(docs, emb): + cur.execute( + """ + INSERT INTO rag_chunks (doc_id, chunk_id, text, embedding) + VALUES (%s, %s, %s, %s) + """, + ( + meta["doc_id"], + meta["chunk_id"], + meta["text"], + vec.astype(float).tolist(), # convert to plain Python floats + ), + ) + +print("Inserted", len(docs), "rows into rag_chunks.") +``` + +> **Important**: We only do this embedding step ONCE. In a real RAG system, you never want to re-embed your entire document collection every time you run a notebook or restart your app. That would waste money (thousands of unnecessary embedding API calls), waste time (minutes to hours of preprocessing), make the system slow to start. By storing all embeddings permanently in Postgres + pgvector, we pay the cost ONE TIME, and from then on all queries are cheap, all retrievals are instant, nothing needs to be rebuilt. This is why real production RAG systems always use a persistent vector store. RAG isn’t cheap unless your vector store is persistent. + +### 7. Semantic search with pgvector + +Now that the database holds all of our chunks and embeddings, we can: + +- Embed a query +- Use the `<->` operator in SQL to compute vector distances. This is a special operator for pgvector for computing distances between embedding vectors. This is what makes pgvector so powerful. +- Retrieve the top `k` most similar chunks + +For additional information, from their [github page](https://github.com/pgvector/pgvector): +- `<->` - L2 distance +- `<#>` - (negative) inner product +- `<=>` - cosine distance +- `<+>` - L1 distance +- `<~>` - Hamming distance (for binary vectors) +- `<%>` - Jaccard distance (for binary vectors) + +```python +def embed_query(query_text: str) -> np.ndarray: + """Create an embedding for a single query string.""" + q_vec = embed_texts([query_text]) + return q_vec[0] + + +def search_pgvector(query_text: str, k: int = 5): + q_emb = embed_query(query_text) + q_vec = q_emb.astype(float).tolist() + + with get_connection() as conn: + with conn.cursor() as cur: + cur.execute( + """ + SELECT doc_id, chunk_id, text, + embedding <-> %s::vector AS distance + FROM rag_chunks + ORDER BY embedding <-> %s::vector + LIMIT %s; + """, + (q_vec, q_vec, k), + ) + rows = cur.fetchall() + + return [ + { + "doc_id": r[0], + "chunk_id": r[1], + "text": r[2], + "distance": float(r[3]), + } + for r in rows + ] +``` + +#### Quick Test + +```python +# Quick test to make sure our function works +test_results = search_pgvector("When did BrightLeaf partner with SunSpan?", k=3) +for r in test_results: + print(f"[{r['doc_id']} chunk {r['chunk_id']}] dist={r['distance']:.4f}") + print(r["text"], "...\n") +``` +The output: + +```text +[partnerships.pdf chunk 1] dist=0.7433 +. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects. ... + +[partnerships.pdf chunk 0] dist=0.7587 +EcoVolt Energy (2022 Partnership) BrightLeaf's collaboration with EcoVolt Energy, established in 2022, focused on delivering microgrid solutions to rural communities in Georgia and South Carolina. The initiative combined BrightLeaf's solar generation systems with EcoVolt's battery storage expertise. Together, they launched five pilot sites that reduced community energy costs by an average of 25 percent. The partnership also created 40 permanent local jobs and helped utilities in the region study the integration of renewable storage into traditional grids. SunSpan Microgrids (2025 Partnership) In 2025, BrightLeaf joined forces with SunSpan Microgrids to develop hybrid renewable infrastructure for the Midwest. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. ... + +[mission_statement.pdf chunk 0] dist=0.8248 +Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption. ... +``` + +### Using pgvector in the RAG pipeline + +```python +def answer_with_pgvector(question: str, k: int = 5) -> str: + """Run semantic search in Postgres and feed the top k chunks to the LLM.""" + hits = search_pgvector(question, k=k) + answer = ask_llm(question, hits) + return answer + + +q = "When did BrightLeaf partner with SunSpan and what did they focus on?" +ctx_hits = search_pgvector(q, k=3) +print("Context docs:", [c["doc_id"] for c in ctx_hits]) +print() +print(answer_with_pgvector(q, k=3)) +``` + +The `ask_llm` function is the same as before, key difference is it uses the context retrieved using pgvector instead of the FAISS-based semantic search approach used before. + +The output: +```text +Context docs: ['partnerships.pdf', 'partnerships.pdf', 'mission_statement.pdf'] + +BrightLeaf partnered with SunSpan in 2025, focusing on developing hybrid renewable infrastructure for the Midwest, specifically targeting legacy industrial zones in Ohio and Michigan by pairing solar and wind power systems with SunSpan's real-time grid analytics. +``` + +Congratulations!! We now have a persistent database that we can query, we don't have to re-index every time we start this notebook, it will persist. Others can access it as long as they have the db params (the address, password, etc). To test this, try two things: +- Close the notebook/script file but keep the database running, reopen it (clear all outputs if applicable) and run only the code necessary to use the RAG pipeline to answer a query (not the code to read, chunk, embed, and add the text into the docker database) +- Stop the docker container, restart it and run only the code necessary to use the RAG pipeline to answer a query (not the code to read, chunk, embed, and add the text into the docker database) + +This implementation had several lines of code, consisting of custom functions. The next lesson looks at a library developed by Meta called llama index that condenses a lot of the operations done here into single lines of code. Additionally, llama index also includes metrics to evaluate RAG frameworks. @@ -178,13 +178,21 @@ In this semantic RAG implementation, the idea is to retrieve relevant chunks and FAISS index ready. Vectors: 930 ``` --> +Before we build the FAISS index, it's worth pausing to focus on what an index means in the context of RAG pipelines. An index is a vector store that holds our embeddings and is optimized for fast similarity search over those embeddings. The term is used loosely -- sometimes it refers to storage, sometimes to search, and sometimes to both at once. + +In our case, FAISS gives us a simple, in-memory way to store embeddings and retrieve the most similar ones, which corresponds to the "Data Indexing" and "Retrieval Similarity" steps in the figure above. FAISS is not a full SQL-based database like the pgvector setup we will see later. Instead, it provides a temporary (ephemeral) vector storage solution that exists only while your script is running. This lets us keep the focus on understanding the retrieval workflow without needing to set up a database server + ```python faiss.normalize_L2(emb) index = faiss.IndexFlatIP(dim) index.add(emb) print("FAISS index ready. Vectors:", index.ntotal) id2meta = {i: docs[i] for i in range(len(docs))} +``` + +Now that we've created the FAISS index, we define a function (`retrieve`) that retrieves the relevant context from this index given the query. +```python def retrieve(query, k=3, model="text-embedding-3-small"): q_emb = embed_texts([query], model=model) faiss.normalize_L2(q_emb) @@ -300,14 +308,14 @@ In this basic implementation, the chunking of documents and storing into the FAI ### Working with an online database -Previously, you built a small semantic RAG system using OpenAI embeddings and FAISS as a local in-memory vector store. In this notebook, you will rebuild the same basic pipeline using a **real database**: +Previously, you built a small semantic RAG system using OpenAI embeddings and FAISS as a local in-memory vector store. In this notebook, you will rebuild the same basic pipeline using a **real database**, using the following: - PostgreSQL running in Docker - The `pgvector` extension for vector similarity search -So far, our RAG systems have stored embeddings in memory. This works for small demos, but becomes impractical as soon as you want to build something real. A database like PostgreSQL with the pgvector extension solves several problems that in-memory systems cannot. +So far, our RAG systems have stored embeddings in memory. This works for small demos, but becomes impractical as soon as you want to build something real. A database like PostgreSQL with the pgvector extension solves several problems that in-memory systems cannot. Here are the five reasons production teams switch to **PostgreSQL + pgvector**: -1. An in-memory vector store disappears when the notebook stops running. That means every time you restart your environment, you need to re-embed all your documents from scratch. If embeddings come from a paid API, this becomes expensive very quickly. A real vector database stores embeddings permanently, so you only pay for embedding once and reuse them forever. +1. An in-memory vector store disappears when the notebook stops running. That means every time you restart your environment, you need to re-embed all your documents from scratch. If embeddings come from a paid API, this becomes expensive very quickly. A real vector database stores embeddings permanently, so you only pay for embedding once and reuse them forever. 2. In-memory stores do not scale. They work for a few dozen or a few hundred vectors, but real applications often need tens of thousands or millions of embeddings. A database is built for this. It handles large datasets, indexes them efficiently, and gives fast retrieval even as your collection grows. @@ -317,9 +325,9 @@ So far, our RAG systems have stored embeddings in memory. This works for small d 5. pgvector is a PostgreSQL extension designed specifically for vector search. It adds the ability to store and query embeddings directly inside the database, using indexes that support efficient similarity search. This combines the familiarity of SQL with the power of vector retrieval in a single place. -This is why we are moving from the simple in-memory stores we built earlier to a real database. It gives us persistence, scale, reliability, shared access, and cost savings by avoiding unnecessary re-embedding. +To summarize, a real database gives us persistence, scale, reliability, shared access, and cost savings by avoiding unnecessary re-embedding. -Up to now our RAG demos have kept everything in memory (a FAISS index living inside one Python process). That's great for learning, but it breaks the moment you want a real application. Here are the five reasons production teams switch to **PostgreSQL + pgvector**: + -> We will use psycopg2-binary in this demo. Psycopg2 is the standard PostgreSQL driver for Python. It is the library that lets Python code connect to a PostgreSQL database and do standard CRUD operations. It allows you to open a connection, run SQL queries, fetch results, insert/update rows, etc. +### A quick primer on Docker, PostgreSQL, and pgvector -### pgvector - A brief introduction +[Docker](https://www.docker.com/) is an industry-standard tool that runs applications inside containers. A container is a self-contained environment that includes everything the application needs to run: the operating system, libraries, configuration, and the application itself. Because of this, a container behaves the same on Windows, macOS, and Linux. -pgvector is a PostgreSQL extension that adds first-class support for vector data. Normally, relational databases are great at storing tables, text, numbers, and JSON, but they have no idea what to do with embeddings. Without pgvector, you would have to store embeddings as arrays or blobs and write your own similarity-calculation code. +[PostgreSQL](https://www.postgresql.org/) is an open-source object-relational database management system, developed at the UC Berkeley Computer Science department. It builds on POSTGRES and supports a variety of complex SQL queries. We will use PostgreSQL to create and query the database in the docker container. -pgvector solves this by giving PostgreSQL a new data type called VECTOR, along with built-in functions for similarity search. That means you can store embeddings in the database exactly the same way you store other data, and then run queries like "find the 3 closest embeddings to this query vector" directly inside SQL. +[pgvector](https://github.com/pgvector/pgvector) is a PostgreSQL extension that adds first-class support for vector data. Normally, relational databases are great at storing tables, text, numbers, and JSON, but they have no idea what to do with embeddings. Without pgvector, you would have to store embeddings as arrays or blobs and write your own similarity-calculation code. pgvector solves this by giving PostgreSQL a new data type called VECTOR, along with built-in functions for similarity search. That means you can store embeddings in the database exactly the same way you store other data, and then run queries like "find the 3 closest embeddings to this query vector" directly inside SQL. The main benefit is that you get a real database as your vector store: instead of running a separate specialized vector engine, you can keep everything inside one well-vetted SQL database system. This is why pgvector has become one of the most widely used vector-store backends in production RAG systems. @@ -345,11 +353,13 @@ To use `pgvector`, we need a PostgreSQL database with the `pgvector` extension i We could try to install PostgreSQL and pgvector separately on every local machine, but that would look different on each operating system and would take a lot of time to debug. Instead, we use Docker to run everything in a clean, isolated environment that works the same everywhere. +> **Note:** We will use psycopg2-binary in this demo. Psycopg2 is the standard PostgreSQL driver for Python. It is the library that lets Python code connect to a PostgreSQL database and do standard CRUD operations. It allows you to open a connection, run SQL queries, fetch results, insert/update rows, etc. + ### Setting up the database on Docker -Docker is an industry-standard tool that runs applications inside containers. A container is a self-contained environment that includes everything the application needs to run: the operating system, libraries, configuration, and the application itself. Because of this, a container behaves the same on Windows, macOS, and Linux. For our purposes, Docker has one job in this lesson: run a PostgreSQL server that already has the pgvector extension installed. +For our purposes, Docker has one job in this lesson: run a PostgreSQL server that already has the pgvector extension installed. -See installation instructions for Docker for: +To install Docker, follow the instructions for: - [Mac](https://docs.docker.com/desktop/setup/install/mac-install/) - [Windows](https://docs.docker.com/desktop/setup/install/windows-install/) @@ -401,7 +411,7 @@ docker compose up -d You should only need to do this once per session. If you restart your computer or stop the container, you may need to run it again. -Once that finishes, within Docker Desktop, click run (the arrow sign) on "Actions" column for the `pgvector_store` container that comes up. Once the container is running, you should see something similar to the image below. +Once that finishes, within Docker Desktop (in Windows) you should see something similar to the image below. ![Docker screenshot](resources\docker_desktop_running.png) @@ -437,20 +447,22 @@ def get_connection(): return psycopg2.connect(PG_CONN_STR) ``` -The loading, chunking and embedding of the text in the documents is the same as the custom semantic RAG implementation as seen previosly. Next, we load the chunks onto the docker container database. To do this, we first initialize the SQL database in the docker container. +The code up until `PG_CONN_STR` is the same as the semantic RAG implementation from earlier. Note that `PG_CONN_STR` contains the username, password, and port that was set in the `yaml` file earlier. `psycopg2.connect(PG_CONN_STR)` connects to the postgres database `ctd_rag` in the docker container. + +The loading, chunking and embedding of the text in the documents(i.e. the "text extraction," "split text into chunks," and "generate embeddings" steps in the figure at the beginning of the lesson) is the same as the custom semantic RAG implementation as seen previously. Next, we load the chunks onto the docker container database. To do this, we first initialize the SQL database in the docker container. ### Initialize SQL table in docker container -We connect to the Postgres server running in Docker and: +After we connect to the Postgres server running in Docker, the code below is used to: - Enable the `pgvector` extension -- Create a `rag_chunks` table with: +- Create a `rag_chunks` SQL table with the columns: - `doc_id` - `chunk_id` - `text` - `embedding` (a `vector(dim)` column) -We will use the `dim` we just measured from the embeddings. +We will use the `dim` measured from the embeddings (refer to the "from text to embeddings" section above). ```python with get_connection() as conn: @@ -480,14 +492,15 @@ with get_connection() as conn: print("Database and rag_chunks table are ready.") ``` +The `CREATE EXTENSION IF NOT EXISTS` query can be thought of as an import statement to enable pgvector. We then pass the standard SQL commands through the connection cursor to the Postgres database to create the `rag_chunks` table (after deleting any previously created duplicates). This table will house the embedded chunks from the documents. Note that once we enable pgvector, we have access to the `vector` datatype which we use to store the vector embeddings of the chunks. + Next, we insert the chunks into the created table. ### Insert chunks into table -We now insert every chunk and its embedding into the `rag_chunks` table. - -Each row has: +We now insert every chunk and its embedding into the `rag_chunks` table. This is the "data indexing" step in the figure at the beginning of the lesson. +Each row is associated with a chunk and has: - `doc_id`: PDF file name - `chunk_id`: chunk index within that document - `text`: the chunk text @@ -513,31 +526,35 @@ with get_connection() as conn: print("Inserted", len(docs), "rows into rag_chunks.") ``` -> **Important**: We only do this embedding step ONCE. In a real RAG system, you never want to re-embed your entire document collection every time you run a notebook or restart your app. That would waste money (thousands of unnecessary embedding API calls), waste time (minutes to hours of preprocessing), make the system slow to start. By storing all embeddings permanently in Postgres + pgvector, we pay the cost ONE TIME, and from then on all queries are cheap, all retrievals are instant, nothing needs to be rebuilt. This is why real production RAG systems always use a persistent vector store. RAG isn’t cheap unless your vector store is persistent. +In the code above, we iterate through the chunks (`docs`) and their corresponding embeddings (`emb`), passing the document ID (`doc_id`), chunk ID (`chunk_id`), chunk text (`text`), and the chunk vector embedding (`vec`) to the `rag_chunks` table. Note that we don't need to pass a value of `id` to the table since it is designated as `SERIAL` and `PRIMARY KEY`, meaning it is self-incrementing (serial) and it must be unique and non-null (primary key). + +> **Important**: We only do this embedding step ONCE. In a real RAG system, you never want to re-embed your entire document collection every time you run a notebook or restart your app. That would waste money (thousands of unnecessary embedding API calls), waste time (minutes to hours of preprocessing), make the system slow to start. By storing all embeddings permanently in Postgres + pgvector, we pay the cost ONE TIME, and from then on all queries are cheap, all retrievals are instant, nothing needs to be rebuilt. This is why real production RAG systems always use a persistent vector store. RAG isn’t cheap unless your vector store is persistent. ### 7. Semantic search with pgvector Now that the database holds all of our chunks and embeddings, we can: - - Embed a query -- Use the `<->` operator in SQL to compute vector distances. This is a special operator for pgvector for computing distances between embedding vectors. This is what makes pgvector so powerful. +- Use the `<->` operator in SQL to compute vector distances. This is a special operator for pgvector for computing distances between embedding vectors. This is what makes pgvector so powerful. The pgvector [github page](https://github.com/pgvector/pgvector) lists all distance measures you can use as similarity metrics. - Retrieve the top `k` most similar chunks -For additional information, from their [github page](https://github.com/pgvector/pgvector): -- `<->` - L2 distance + +Before we perform semantic search on the SQL database, we must first convert the query to the vector embedding. This is the "generate embeddings" step for the user query in the figure at the beginning of the lesson. The function below does this. ```python def embed_query(query_text: str) -> np.ndarray: """Create an embedding for a single query string.""" q_vec = embed_texts([query_text]) return q_vec[0] +``` +The function below searches the database for the top `k` most relevant chunks to the query. The function below performs the "pass query" and "retrieve similarity" steps in the figure at the beginning of the lesson. +```python def search_pgvector(query_text: str, k: int = 5): q_emb = embed_query(query_text) q_vec = q_emb.astype(float).tolist() @@ -566,9 +583,14 @@ def search_pgvector(query_text: str, k: int = 5): for r in rows ] ``` +Once the query embedding is obtained, the SQL query is called to retrieve the top `k` chunks from the `rag_chunks` database that have the lowest distance to the query embedding (`embedding <-> %s::vector`). Note that since we're using distance as the similarity metric, smaller distance implies greater relevance of the chunk to the query. If you were to use cosine similarity (like in the semantic RAG implementation before this), you would retrieve the chunks in descending order of `embedding <-> %s::vector`. So the SQL query would be modified to have `ORDER BY embedding <-> %s::vector DESC`. + +Let's see the SQL based semantic search in action through a quick test. #### Quick Test +The test query is "When did BrightLeaf partner with SunSpan?" and we want the LLM to base its response on the top 3 retrieved context chunks. The code snippet below feeds this to the `search_pgvector()` method and prints the retrieved chunks one at a time. + ```python # Quick test to make sure our function works test_results = search_pgvector("When did BrightLeaf partner with SunSpan?", k=3) @@ -576,29 +598,44 @@ for r in test_results: print(f"[{r['doc_id']} chunk {r['chunk_id']}] dist={r['distance']:.4f}") print(r["text"], "...\n") ``` -The output: +The output looks like below: -```text + [partnerships.pdf chunk 1] dist=0.7433 -. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects. ... +. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. The collaboration has already produced measurable results, with the first hybrid sites showing 18 percent improved grid stability and 30 percent lower emissions. SunSpan and BrightLeaf also co-authored a white paper on the economic benefits of decarbonizing regional manufacturing supply chains. Academic and Workforce Collaborations Beyond corporate partnerships, BrightLeaf works closely with universities and community colleges to train the next generation of clean-energy professionals. The Bright Scholars Initiative offers scholarships and internships for students in sustainability, electrical engineering, and environmental data analytics. Collaboration with technical schools ensures a pipeline of skilled labor for new projects. ...
    [partnerships.pdf chunk 0] dist=0.7587 -EcoVolt Energy (2022 Partnership) BrightLeaf's collaboration with EcoVolt Energy, established in 2022, focused on delivering microgrid solutions to rural communities in Georgia and South Carolina. The initiative combined BrightLeaf's solar generation systems with EcoVolt's battery storage expertise. Together, they launched five pilot sites that reduced community energy costs by an average of 25 percent. The partnership also created 40 permanent local jobs and helped utilities in the region study the integration of renewable storage into traditional grids. SunSpan Microgrids (2025 Partnership) In 2025, BrightLeaf joined forces with SunSpan Microgrids to develop hybrid renewable infrastructure for the Midwest. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. ... +EcoVolt Energy (2022 Partnership) BrightLeaf's collaboration with EcoVolt Energy, established in 2022, focused on delivering microgrid solutions to rural communities in Georgia and South Carolina. The initiative combined BrightLeaf's solar generation systems with EcoVolt's battery storage expertise. Together, they launched five pilot sites that reduced community energy costs by an average of 25 percent. The partnership also created 40 permanent local jobs and helped utilities in the region study the integration of renewable storage into traditional grids. SunSpan Microgrids (2025 Partnership) In 2025, BrightLeaf joined forces with SunSpan Microgrids to develop hybrid renewable infrastructure for the Midwest. This partnership targets legacy industrial zones in Ohio and Michigan, pairing solar and wind power systems with SunSpan's real-time grid analytics. ...
    [mission_statement.pdf chunk 0] dist=0.8248 Overview BrightLeaf Solar was founded on the belief that renewable energy should be a right, not a privilege. Our mission is to make solar power practical, affordable, and accessible to communities that have historically been left behind in the transition to clean energy. We are not only engineers and builders, but educators, partners, and advocates for a more resilient and equitable power grid. Every installation represents more than energy savings-it is an investment in long-term community well-being. Expanded Vision The company began its journey in the southeastern United States, where energy poverty and infrastructure challenges remain significant barriers to renewable adoption. ... -``` +
    + +When you compare with the "Example - Semantic RAG in action" section which uses the same query and is run to retrieve the same number of context chunks, you will notice that the exact same chunks are retrieved inspite of the pgvector search function using distance instead of cosine similarity. Generally the choice of similarity metric should not affect the retrieval process, but in rare circumstances this can happen. Additionally, each chunk contains relevant information to the query which signifies that the retrieval process is working properly. + +Now we have all the pieces to plug in the postgreSQL + pgvector database into the RAG pipeline. ### Using pgvector in the RAG pipeline +The `answer_with_pgvector` function combines the pgvector based retrieval process with the "pass chunks" and "generate answer" steps in the figure at the beginning of the lesson. + ```python def answer_with_pgvector(question: str, k: int = 5) -> str: """Run semantic search in Postgres and feed the top k chunks to the LLM.""" hits = search_pgvector(question, k=k) answer = ask_llm(question, hits) return answer +``` + +The `ask_llm` function is the same as the one in the "Augment and Generate" section in this lesson, key difference is it uses the context retrieved using pgvector instead of the FAISS-based semantic search approach used before. + +Let's look at the full RAG pipeline in action through an example. + +### Example - pgvector-based semantic RAG in action +We use the same query as the previous example and run it to retrieve the 3 most relevant chunks as before. The `search_pgvector` method is run to check the retrieved context documents. The `answer_with_pgvector` generates the response based on the pgvector based RAG pipeline. +```python q = "When did BrightLeaf partner with SunSpan and what did they focus on?" ctx_hits = search_pgvector(q, k=3) print("Context docs:", [c["doc_id"] for c in ctx_hits]) @@ -606,15 +643,15 @@ print() print(answer_with_pgvector(q, k=3)) ``` -The `ask_llm` function is the same as before, key difference is it uses the context retrieved using pgvector instead of the FAISS-based semantic search approach used before. - -The output: +The output of the code snippet above looks like below: ```text Context docs: ['partnerships.pdf', 'partnerships.pdf', 'mission_statement.pdf'] BrightLeaf partnered with SunSpan in 2025, focusing on developing hybrid renewable infrastructure for the Midwest, specifically targeting legacy industrial zones in Ohio and Michigan by pairing solar and wind power systems with SunSpan's real-time grid analytics. ``` +Like before, the top 3 most relevant retrieved chunks come from the "partnerships.pdf" and "mission_statement.pdf" documents. The generated response also answers the query in an accurate, concise manner. + Congratulations!! We now have a persistent database that we can query, we don't have to re-index every time we start this notebook, it will persist. Others can access it as long as they have the db params (the address, password, etc). To test this, try two things: - Close the notebook/script file but keep the database running, reopen it (clear all outputs if applicable) and run only the code necessary to use the RAG pipeline to answer a query (not the code to read, chunk, embed, and add the text into the docker database) - Stop the docker container, restart it and run only the code necessary to use the RAG pipeline to answer a query (not the code to read, chunk, embed, and add the text into the docker database)

Zd+&SQ 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%0AC7aL7q;zuI4K4Vnv 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�&#**oQZqTMniiW*#yOr>yLx2V}A1V~5Xc`l$x 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