Building Your First RAG (Retrieval-Augmented Generation) App

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LLM, RAG, LangChain, Python, Vector Store

LLMs are trained on static data. Ask one about your internal docs, last week's meeting notes, or a product spec — it has no idea. RAG solves this by fetching relevant content at query time and injecting it into the prompt. The model still does the reasoning; you just give it …


Continue reading

Document Loaders — Pulling in PDFs, Websites, CSVs, and More

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LangChain, Python, Document Loaders, PDF, CSV, Web Scraping

Before any LangChain pipeline does anything useful, it needs data. Document loaders are how that data gets in — they fetch content from a source, parse it, and return a list of Document objects with .page_content and .metadata. The rest of the pipeline (splitting, embedding, retrieval) doesn't care where the content …


Continue reading

Intro to Vector Stores (Chroma, FAISS, Pinecone) with LangChain

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LangChain, Vector Store, Chroma, FAISS, Pinecone, Embeddings

A vector store is a database that finds things by meaning, not exact match. You convert text into a numerical vector (an embedding), store it, and later search for semantically similar vectors. That's the retrieval half of RAG. Which store you pick depends on scale, whether you want persistence, and …


Continue reading

LangChain vs. LlamaIndex vs. Raw API Calls — When to Use What

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LLM, LangChain, LlamaIndex, API, Python, Architecture

Three ways to build with LLMs. Each makes different tradeoffs, and picking the wrong one early costs you time when the project grows. This isn't a ranking — it's a map of when each tool actually fits.

Raw API calls

Direct calls to OpenAI, Anthropic, Gemini, or any provider. No framework …


Continue reading

Managing Conversation History Without Blowing Your Token Budget

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LLM, LangChain, Python, Memory, Token Management, Chatbot

LLMs have no memory between calls. Every time you hit the API, the model starts fresh. To build a chatbot that remembers what was said three messages ago, you have to manually pass that history back in on every request. The problem: each message adds tokens, and token budgets are …


Continue reading

Web Scraping + Summarization Pipeline with LangChain

Posted on Wed 19 August 2026 in GenAI • Tagged with GenAI, LLM, LangChain, Python, Web Scraping, NLP

You don't always need a fancy dataset. Sometimes the data you need is already live on the web — you just have to go get it and make sense of it. That's exactly what this pipeline does: scrape a URL, chunk the content, and summarize it using an LLM, all wired …


Continue reading

EffortCommerce — How Kactii Turned Effort Into Currency

Posted on Sun 02 August 2026 in Internship • Tagged with Internship, Kactii, Productivity, Learning

My internship at Kactii doesn't just give me tasks to complete. It pays me for doing them — in credits.

What EffortCommerce means here

Every time I take a session, push code on a project, write something useful, or pitch an idea that holds up, I earn credits. They stack up …


Continue reading

Chains 101: Understanding LLMChain and Sequential Chains

Posted on Thu 30 July 2026 in GenAI • Tagged with GenAI, LLM, LangChain, Chains, Python, AI Engineering

If you've poked around LangChain for more than ten minutes, you've hit the word "chain." It's everywhere — and for good reason. Chains are how you turn a raw language model into something that actually does a job.

What a chain is

A chain is a unit of logic that takes …


Continue reading

Giving Your Chatbot Memory: ConversationBufferMemory vs. Other Memory Types

Posted on Thu 30 July 2026 in GenAI • Tagged with GenAI, LLM, LangChain, Memory, Chatbot, Python, AI Engineering

By default, an LLM has no idea what you said two messages ago. Every call is stateless — the model processes whatever is in the current prompt and nothing else. If you want a chatbot that remembers the conversation, you have to build that yourself. LangChain's memory modules are how you …


Continue reading

Embeddings Explained for LangChain Beginners

Posted on Thu 30 July 2026 in GenAI • Tagged with GenAI, LLM, LangChain, Embeddings, RAG, Vector Search, Python, AI Engineering

Before you can build a retrieval system, you need to understand what embeddings are and why they exist. Skip this and the rest of RAG won't make sense — you'll be configuring things without knowing what they do.

What an embedding is

An embedding is a list of numbers that represents …


Continue reading