Setting Up a Retrieval-Augmented QA Pipeline with Haystack and Ollama

Introduction Retrieval-Augmented Generation (RAG) is a powerful approach for creating more accurate and context-aware responses from Large Language Models (LLMs). Instead of relying solely on the model’s internal training data, RAG uses external documents to ground answers, making them more factual and relevant. In this tutorial, you’ll learn how to build a simple RAG pipeline using Haystack and Ollama. By the end, you’ll have a working setup that retrieves relevant documents and generates answers locally—no expensive API keys required. ...

December 6, 2024 · 4 min · Shreyash Agarwal

Python Version Management with ASDF

As a software engineer, managing multiple programming languages and their dependencies can be a complex task and involves significant overhead in managing them. Enter Asdf - It is a version manager that aims to simplify this process by providing a unified interface for managing multiple language runtimes, including Python. Python is a widely-used programming language, and developers often need to switch between different versions of Python for various projects. Using asdf, you can install and manage different versions of Python and its dependencies, making it easier to work on multiple projects with different Python version requirements. ...

March 18, 2023 · 3 min · Shreyash Agarwal

A simple Docker walkthrough

According to the official docker page - A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. Docker helps programmers to deliver their software in a reliable and consistent manner. Since it has everything required to the application it is designed for, it alleviates the problem of “It works on my PC, don’t know why it doesn’t work on yours!” ...

May 24, 2019 · 4 min · Shreyash Agarwal

Scraping web tables with requests and pandas

Hey everyone, It’s been a long time since I posted something, I’ve been busy with work and other things. I’ve written a lot of scrapes recently and while trying to reduce the code I would have to write, I stumbled upon something. Have you heard about Pandas? It’s a fantastic library which not only is useful for maintaining data structures in it’s famous Dataframe, but also helped me cut out BeautifulSoup (another awesome library which I used to use for web parsing) completely! ...

August 5, 2018 · 2 min · Shreyash Agarwal

Pointers for Pipenv

Pipenv is a great tool to use, read more about pipenv HERE. Pipenv generated a lock file that is useful in replicating an exact virutal environment, which can be useful in a lot of cases. The best way to install pipenv is to install it using pip but locally, so that all the pipenv environments are also in the .local/ folder inside the user directory. ...

April 9, 2018 · 1 min · Shreyash Agarwal